github.com/giantswarm/apiextensions/v6@v6.6.0/config/crd/exp.infrastructure.cluster.x-k8s.io_azuremachinepools.yaml (about)

     1  
     2  ---
     3  apiVersion: apiextensions.k8s.io/v1
     4  kind: CustomResourceDefinition
     5  metadata:
     6    annotations:
     7      controller-gen.kubebuilder.io/version: v0.2.4
     8    creationTimestamp: null
     9    name: azuremachinepools.exp.infrastructure.cluster.x-k8s.io
    10  spec:
    11    group: exp.infrastructure.cluster.x-k8s.io
    12    names:
    13      categories:
    14      - azure
    15      - cluster-api
    16      - giantswarm
    17      kind: AzureMachinePool
    18      listKind: AzureMachinePoolList
    19      plural: azuremachinepools
    20      shortNames:
    21      - amp
    22      singular: azuremachinepool
    23    scope: Namespaced
    24    versions:
    25    - additionalPrinterColumns:
    26      - description: AzureMachinePool replicas count
    27        jsonPath: .status.replicas
    28        name: Replicas
    29        type: string
    30      - description: AzureMachinePool replicas count
    31        jsonPath: .status.ready
    32        name: Ready
    33        type: string
    34      - description: Azure VMSS provisioning state
    35        jsonPath: .status.provisioningState
    36        name: State
    37        type: string
    38      - description: Cluster to which this AzureMachinePool belongs
    39        jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name
    40        name: Cluster
    41        priority: 1
    42        type: string
    43      - description: MachinePool object to which this AzureMachinePool belongs
    44        jsonPath: .metadata.ownerReferences[?(@.kind=="MachinePool")].name
    45        name: MachinePool
    46        priority: 1
    47        type: string
    48      - description: Azure VMSS ID
    49        jsonPath: .spec.providerID
    50        name: VMSS ID
    51        priority: 1
    52        type: string
    53      - description: Azure VM Size
    54        jsonPath: .spec.template.vmSize
    55        name: VM Size
    56        priority: 1
    57        type: string
    58      name: v1alpha3
    59      schema:
    60        openAPIV3Schema:
    61          description: AzureMachinePool is the Schema for the azuremachinepools API
    62          properties:
    63            apiVersion:
    64              description: 'APIVersion defines the versioned schema of this representation
    65                of an object. Servers should convert recognized schemas to the latest
    66                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    67              type: string
    68            kind:
    69              description: 'Kind is a string value representing the REST resource this
    70                object represents. Servers may infer this from the endpoint the client
    71                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    72              type: string
    73            metadata:
    74              type: object
    75            spec:
    76              description: AzureMachinePoolSpec defines the desired state of AzureMachinePool
    77              properties:
    78                additionalTags:
    79                  additionalProperties:
    80                    type: string
    81                  description: AdditionalTags is an optional set of tags to add to an
    82                    instance, in addition to the ones added by default by the Azure
    83                    provider. If both the AzureCluster and the AzureMachine specify
    84                    the same tag name with different values, the AzureMachine's value
    85                    takes precedence.
    86                  type: object
    87                identity:
    88                  default: None
    89                  description: Identity is the type of identity used for the Virtual
    90                    Machine Scale Set. The type 'SystemAssigned' is an implicitly created
    91                    identity. The generated identity will be assigned a Subscription
    92                    contributor role. The type 'UserAssigned' is a standalone Azure
    93                    resource provided by the user and assigned to the VM
    94                  enum:
    95                  - None
    96                  - SystemAssigned
    97                  - UserAssigned
    98                  type: string
    99                location:
   100                  description: Location is the Azure region location e.g. westus2
   101                  type: string
   102                providerID:
   103                  description: ProviderID is the identification ID of the Virtual Machine
   104                    Scale Set
   105                  type: string
   106                providerIDList:
   107                  description: ProviderIDList are the identification IDs of machine
   108                    instances provided by the provider. This field must match the provider
   109                    IDs as seen on the node objects corresponding to a machine pool's
   110                    machine instances.
   111                  items:
   112                    type: string
   113                  type: array
   114                roleAssignmentName:
   115                  description: RoleAssignmentName is the name of the role assignment
   116                    to create for a system assigned identity. It can be any valid GUID.
   117                    If not specified, a random GUID will be generated.
   118                  type: string
   119                template:
   120                  description: Template contains the details used to build a replica
   121                    virtual machine within the Machine Pool
   122                  properties:
   123                    acceleratedNetworking:
   124                      description: AcceleratedNetworking enables or disables Azure accelerated
   125                        networking. If omitted, it will be set based on whether the
   126                        requested VMSize supports accelerated networking. If AcceleratedNetworking
   127                        is set to true with a VMSize that does not support it, Azure
   128                        will return an error.
   129                      type: boolean
   130                    dataDisks:
   131                      description: DataDisks specifies the list of data disks to be
   132                        created for a Virtual Machine
   133                      items:
   134                        description: DataDisk specifies the parameters that are used
   135                          to add one or more data disks to the machine.
   136                        properties:
   137                          cachingType:
   138                            type: string
   139                          diskSizeGB:
   140                            description: DiskSizeGB is the size in GB to assign to the
   141                              data disk.
   142                            format: int32
   143                            type: integer
   144                          lun:
   145                            description: Lun Specifies the logical unit number of the
   146                              data disk. This value is used to identify data disks within
   147                              the VM and therefore must be unique for each data disk
   148                              attached to a VM. The value must be between 0 and 63.
   149                            format: int32
   150                            type: integer
   151                          managedDisk:
   152                            description: ManagedDisk defines the managed disk options
   153                              for a VM.
   154                            properties:
   155                              diskEncryptionSet:
   156                                description: DiskEncryptionSetParameters defines disk
   157                                  encryption options.
   158                                properties:
   159                                  id:
   160                                    description: ID defines resourceID for diskEncryptionSet
   161                                      resource. It must be in the same subscription
   162                                    type: string
   163                                type: object
   164                              storageAccountType:
   165                                type: string
   166                            required:
   167                            - storageAccountType
   168                            type: object
   169                          nameSuffix:
   170                            description: NameSuffix is the suffix to be appended to
   171                              the machine name to generate the disk name. Each disk
   172                              name will be in format <machineName>_<nameSuffix>.
   173                            type: string
   174                        required:
   175                        - diskSizeGB
   176                        - nameSuffix
   177                        type: object
   178                      type: array
   179                    image:
   180                      description: Image is used to provide details of an image to use
   181                        during Virtual Machine creation. If image details are omitted
   182                        the image will default the Azure Marketplace "capi" offer, which
   183                        is based on Ubuntu.
   184                      properties:
   185                        id:
   186                          description: ID specifies an image to use by ID
   187                          type: string
   188                        marketplace:
   189                          description: Marketplace specifies an image to use from the
   190                            Azure Marketplace
   191                          properties:
   192                            offer:
   193                              description: Offer specifies the name of a group of related
   194                                images created by the publisher. For example, UbuntuServer,
   195                                WindowsServer
   196                              minLength: 1
   197                              type: string
   198                            publisher:
   199                              description: Publisher is the name of the organization
   200                                that created the image
   201                              minLength: 1
   202                              type: string
   203                            sku:
   204                              description: SKU specifies an instance of an offer, such
   205                                as a major release of a distribution. For example, 18.04-LTS,
   206                                2019-Datacenter
   207                              minLength: 1
   208                              type: string
   209                            thirdPartyImage:
   210                              default: false
   211                              description: ThirdPartyImage indicates the image is published
   212                                by a third party publisher and a Plan will be generated
   213                                for it.
   214                              type: boolean
   215                            version:
   216                              description: Version specifies the version of an image
   217                                sku. The allowed formats are Major.Minor.Build or 'latest'.
   218                                Major, Minor, and Build are decimal numbers. Specify
   219                                'latest' to use the latest version of an image available
   220                                at deploy time. Even if you use 'latest', the VM image
   221                                will not automatically update after deploy time even
   222                                if a new version becomes available.
   223                              minLength: 1
   224                              type: string
   225                          required:
   226                          - offer
   227                          - publisher
   228                          - sku
   229                          - version
   230                          type: object
   231                        sharedGallery:
   232                          description: SharedGallery specifies an image to use from
   233                            an Azure Shared Image Gallery
   234                          properties:
   235                            gallery:
   236                              description: Gallery specifies the name of the shared
   237                                image gallery that contains the image
   238                              minLength: 1
   239                              type: string
   240                            name:
   241                              description: Name is the name of the image
   242                              minLength: 1
   243                              type: string
   244                            resourceGroup:
   245                              description: ResourceGroup specifies the resource group
   246                                containing the shared image gallery
   247                              minLength: 1
   248                              type: string
   249                            subscriptionID:
   250                              description: SubscriptionID is the identifier of the subscription
   251                                that contains the shared image gallery
   252                              minLength: 1
   253                              type: string
   254                            version:
   255                              description: Version specifies the version of the marketplace
   256                                image. The allowed formats are Major.Minor.Build or
   257                                'latest'. Major, Minor, and Build are decimal numbers.
   258                                Specify 'latest' to use the latest version of an image
   259                                available at deploy time. Even if you use 'latest',
   260                                the VM image will not automatically update after deploy
   261                                time even if a new version becomes available.
   262                              minLength: 1
   263                              type: string
   264                          required:
   265                          - gallery
   266                          - name
   267                          - resourceGroup
   268                          - subscriptionID
   269                          - version
   270                          type: object
   271                      type: object
   272                    osDisk:
   273                      description: OSDisk contains the operating system disk information
   274                        for a Virtual Machine
   275                      properties:
   276                        cachingType:
   277                          type: string
   278                        diffDiskSettings:
   279                          description: DiffDiskSettings describe ephemeral disk settings
   280                            for the os disk.
   281                          properties:
   282                            option:
   283                              description: Option enables ephemeral OS when set to "Local"
   284                                See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks
   285                                for full details
   286                              enum:
   287                              - Local
   288                              type: string
   289                          required:
   290                          - option
   291                          type: object
   292                        diskSizeGB:
   293                          format: int32
   294                          type: integer
   295                        managedDisk:
   296                          description: ManagedDisk defines the managed disk options
   297                            for a VM.
   298                          properties:
   299                            diskEncryptionSet:
   300                              description: DiskEncryptionSetParameters defines disk
   301                                encryption options.
   302                              properties:
   303                                id:
   304                                  description: ID defines resourceID for diskEncryptionSet
   305                                    resource. It must be in the same subscription
   306                                  type: string
   307                              type: object
   308                            storageAccountType:
   309                              type: string
   310                          required:
   311                          - storageAccountType
   312                          type: object
   313                        osType:
   314                          type: string
   315                      required:
   316                      - diskSizeGB
   317                      - managedDisk
   318                      - osType
   319                      type: object
   320                    securityProfile:
   321                      description: SecurityProfile specifies the Security profile settings
   322                        for a virtual machine.
   323                      properties:
   324                        encryptionAtHost:
   325                          description: This field indicates whether Host Encryption
   326                            should be enabled or disabled for a virtual machine or virtual
   327                            machine scale set. Default is disabled.
   328                          type: boolean
   329                      type: object
   330                    spotVMOptions:
   331                      description: SpotVMOptions allows the ability to specify the Machine
   332                        should use a Spot VM
   333                      properties:
   334                        maxPrice:
   335                          description: MaxPrice defines the maximum price the user is
   336                            willing to pay for Spot VM instances
   337                          type: string
   338                      type: object
   339                    sshPublicKey:
   340                      description: SSHPublicKey is the SSH public key string base64
   341                        encoded to add to a Virtual Machine
   342                      type: string
   343                    terminateNotificationTimeout:
   344                      description: TerminateNotificationTimeout enables or disables
   345                        VMSS scheduled events termination notification with specified
   346                        timeout allowed values are between 5 and 15 (mins)
   347                      type: integer
   348                    vmSize:
   349                      description: VMSize is the size of the Virtual Machine to build.
   350                        See https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/createorupdate#virtualmachinesizetypes
   351                      type: string
   352                  required:
   353                  - osDisk
   354                  - sshPublicKey
   355                  - vmSize
   356                  type: object
   357                userAssignedIdentities:
   358                  description: UserAssignedIdentities is a list of standalone Azure
   359                    identities provided by the user The lifecycle of a user-assigned
   360                    identity is managed separately from the lifecycle of the AzureMachinePool.
   361                    See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli
   362                  items:
   363                    description: UserAssignedIdentity defines the user-assigned identities
   364                      provided by the user to be assigned to Azure resources.
   365                    properties:
   366                      providerID:
   367                        description: 'ProviderID is the identification ID of the user-assigned
   368                          Identity, the format of an identity is: ''azure:///subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'''
   369                        type: string
   370                    required:
   371                    - providerID
   372                    type: object
   373                  type: array
   374              required:
   375              - location
   376              - template
   377              type: object
   378            status:
   379              description: AzureMachinePoolStatus defines the observed state of AzureMachinePool
   380              properties:
   381                conditions:
   382                  description: Conditions defines current service state of the AzureMachinePool.
   383                  items:
   384                    description: Condition defines an observation of a Cluster API resource
   385                      operational state.
   386                    properties:
   387                      lastTransitionTime:
   388                        description: Last time the condition transitioned from one status
   389                          to another. This should be when the underlying condition changed.
   390                          If that is not known, then using the time when the API field
   391                          changed is acceptable.
   392                        format: date-time
   393                        type: string
   394                      message:
   395                        description: A human readable message indicating details about
   396                          the transition. This field may be empty.
   397                        type: string
   398                      reason:
   399                        description: The reason for the condition's last transition
   400                          in CamelCase. The specific API may choose whether or not this
   401                          field is considered a guaranteed API. This field may not be
   402                          empty.
   403                        type: string
   404                      severity:
   405                        description: Severity provides an explicit classification of
   406                          Reason code, so the users or machines can immediately understand
   407                          the current situation and act accordingly. The Severity field
   408                          MUST be set only when Status=False.
   409                        type: string
   410                      status:
   411                        description: Status of the condition, one of True, False, Unknown.
   412                        type: string
   413                      type:
   414                        description: Type of condition in CamelCase or in foo.example.com/CamelCase.
   415                          Many .condition.type values are consistent across resources
   416                          like Available, but because arbitrary conditions can be useful
   417                          (see .node.status.conditions), the ability to deconflict is
   418                          important.
   419                        type: string
   420                    required:
   421                    - status
   422                    - type
   423                    type: object
   424                  type: array
   425                failureMessage:
   426                  description: "FailureMessage will be set in the event that there is
   427                    a terminal problem reconciling the MachinePool and will contain
   428                    a more verbose string suitable for logging and human consumption.
   429                    \n This field should not be set for transitive errors that a controller
   430                    faces that are expected to be fixed automatically over time (like
   431                    service outages), but instead indicate that something is fundamentally
   432                    wrong with the MachinePool's spec or the configuration of the controller,
   433                    and that manual intervention is required. Examples of terminal errors
   434                    would be invalid combinations of settings in the spec, values that
   435                    are unsupported by the controller, or the responsible controller
   436                    itself being critically misconfigured. \n Any transient errors that
   437                    occur during the reconciliation of MachinePools can be added as
   438                    events to the MachinePool object and/or logged in the controller's
   439                    output."
   440                  type: string
   441                failureReason:
   442                  description: "FailureReason will be set in the event that there is
   443                    a terminal problem reconciling the MachinePool and will contain
   444                    a succinct value suitable for machine interpretation. \n This field
   445                    should not be set for transitive errors that a controller faces
   446                    that are expected to be fixed automatically over time (like service
   447                    outages), but instead indicate that something is fundamentally wrong
   448                    with the MachinePool's spec or the configuration of the controller,
   449                    and that manual intervention is required. Examples of terminal errors
   450                    would be invalid combinations of settings in the spec, values that
   451                    are unsupported by the controller, or the responsible controller
   452                    itself being critically misconfigured. \n Any transient errors that
   453                    occur during the reconciliation of MachinePools can be added as
   454                    events to the MachinePool object and/or logged in the controller's
   455                    output."
   456                  type: string
   457                instances:
   458                  description: Instances is the VM instance status for each VM in the
   459                    VMSS
   460                  items:
   461                    description: AzureMachinePoolInstanceStatus provides status information
   462                      for each instance in the VMSS
   463                    properties:
   464                      instanceID:
   465                        description: InstanceID is the identification of the Machine
   466                          Instance within the VMSS
   467                        type: string
   468                      instanceName:
   469                        description: InstanceName is the name of the Machine Instance
   470                          within the VMSS
   471                        type: string
   472                      latestModelApplied:
   473                        description: LatestModelApplied indicates the instance is running
   474                          the most up-to-date VMSS model. A VMSS model describes the
   475                          image version the VM is running. If the instance is not running
   476                          the latest model, it means the instance may not be running
   477                          the version of Kubernetes the Machine Pool has specified and
   478                          needs to be updated.
   479                        type: boolean
   480                      providerID:
   481                        description: ProviderID is the provider identification of the
   482                          VMSS Instance
   483                        type: string
   484                      provisioningState:
   485                        description: ProvisioningState is the provisioning state of
   486                          the Azure virtual machine instance.
   487                        type: string
   488                      version:
   489                        description: Version defines the Kubernetes version for the
   490                          VM Instance
   491                        type: string
   492                    required:
   493                    - latestModelApplied
   494                    type: object
   495                  type: array
   496                longRunningOperationState:
   497                  description: LongRunningOperationState saves the state for an Azure
   498                    long running operations so it can be continued on the next reconciliation
   499                    loop.
   500                  properties:
   501                    futureData:
   502                      description: FutureData is the base64 url encoded json Azure AutoRest
   503                        Future.
   504                      type: string
   505                    name:
   506                      description: Name is the name of the Azure resource.
   507                      type: string
   508                    resourceGroup:
   509                      description: ResourceGroup is the Azure resource group for the
   510                        resource.
   511                      type: string
   512                    type:
   513                      description: Type describes the type of future, update, create,
   514                        delete, etc.
   515                      type: string
   516                  required:
   517                  - type
   518                  type: object
   519                provisioningState:
   520                  description: ProvisioningState is the provisioning state of the Azure
   521                    virtual machine.
   522                  type: string
   523                ready:
   524                  description: Ready is true when the provider resource is ready.
   525                  type: boolean
   526                replicas:
   527                  description: Replicas is the most recently observed number of replicas.
   528                  format: int32
   529                  type: integer
   530                version:
   531                  description: Version is the Kubernetes version for the current VMSS
   532                    model
   533                  type: string
   534              type: object
   535          type: object
   536      served: true
   537      storage: true
   538      subresources:
   539        status: {}
   540  status:
   541    acceptedNames:
   542      kind: ""
   543      plural: ""
   544    conditions: []
   545    storedVersions: []