...

Text file src/github.com/GoogleCloudPlatform/k8s-config-connector/crds/compute_v1beta1_computeinstancetemplate.yaml

Documentation: github.com/GoogleCloudPlatform/k8s-config-connector/crds

     1# Copyright 2020 Google LLC
     2#
     3# Licensed under the Apache License, Version 2.0 (the "License");
     4# you may not use this file except in compliance with the License.
     5# You may obtain a copy of the License at
     6#
     7#     http://www.apache.org/licenses/LICENSE-2.0
     8#
     9# Unless required by applicable law or agreed to in writing, software
    10# distributed under the License is distributed on an "AS IS" BASIS,
    11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12# See the License for the specific language governing permissions and
    13# limitations under the License.
    14
    15apiVersion: apiextensions.k8s.io/v1
    16kind: CustomResourceDefinition
    17metadata:
    18  annotations:
    19    cnrm.cloud.google.com/version: 1.106.0
    20  creationTimestamp: null
    21  labels:
    22    cnrm.cloud.google.com/managed-by-kcc: "true"
    23    cnrm.cloud.google.com/stability-level: stable
    24    cnrm.cloud.google.com/system: "true"
    25    cnrm.cloud.google.com/tf2crd: "true"
    26  name: computeinstancetemplates.compute.cnrm.cloud.google.com
    27spec:
    28  group: compute.cnrm.cloud.google.com
    29  names:
    30    categories:
    31    - gcp
    32    kind: ComputeInstanceTemplate
    33    plural: computeinstancetemplates
    34    shortNames:
    35    - gcpcomputeinstancetemplate
    36    - gcpcomputeinstancetemplates
    37    singular: computeinstancetemplate
    38  scope: Namespaced
    39  versions:
    40  - additionalPrinterColumns:
    41    - jsonPath: .metadata.creationTimestamp
    42      name: Age
    43      type: date
    44    - description: When 'True', the most recent reconcile of the resource succeeded
    45      jsonPath: .status.conditions[?(@.type=='Ready')].status
    46      name: Ready
    47      type: string
    48    - description: The reason for the value in 'Ready'
    49      jsonPath: .status.conditions[?(@.type=='Ready')].reason
    50      name: Status
    51      type: string
    52    - description: The last transition time for the value in 'Status'
    53      jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
    54      name: Status Age
    55      type: date
    56    name: v1beta1
    57    schema:
    58      openAPIV3Schema:
    59        properties:
    60          apiVersion:
    61            description: 'apiVersion defines the versioned schema of this representation
    62              of an object. Servers should convert recognized schemas to the latest
    63              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
    64            type: string
    65          kind:
    66            description: 'kind is a string value representing the REST resource this
    67              object represents. Servers may infer this from the endpoint the client
    68              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
    69            type: string
    70          metadata:
    71            type: object
    72          spec:
    73            properties:
    74              advancedMachineFeatures:
    75                description: Immutable. Controls for advanced machine-related behavior
    76                  features.
    77                properties:
    78                  enableNestedVirtualization:
    79                    description: Immutable. Whether to enable nested virtualization
    80                      or not.
    81                    type: boolean
    82                  threadsPerCore:
    83                    description: Immutable. The number of threads per physical core.
    84                      To disable simultaneous multithreading (SMT) set this to 1.
    85                      If unset, the maximum number of threads supported per core by
    86                      the underlying processor is assumed.
    87                    type: integer
    88                  visibleCoreCount:
    89                    description: Immutable. The number of physical cores to expose
    90                      to an instance. Multiply by the number of threads per core to
    91                      compute the total number of virtual CPUs to expose to the instance.
    92                      If unset, the number of cores is inferred from the instance\'s
    93                      nominal CPU count and the underlying platform\'s SMT width.
    94                    type: integer
    95                type: object
    96              canIpForward:
    97                description: Immutable. Whether to allow sending and receiving of
    98                  packets with non-matching source or destination IPs. This defaults
    99                  to false.
   100                type: boolean
   101              confidentialInstanceConfig:
   102                description: Immutable. The Confidential VM config being used by the
   103                  instance. on_host_maintenance has to be set to TERMINATE or this
   104                  will fail to create.
   105                properties:
   106                  enableConfidentialCompute:
   107                    description: Immutable. Defines whether the instance should have
   108                      confidential compute enabled.
   109                    type: boolean
   110                required:
   111                - enableConfidentialCompute
   112                type: object
   113              description:
   114                description: Immutable. A brief description of this resource.
   115                type: string
   116              disk:
   117                description: Immutable. Disks to attach to instances created from
   118                  this template. This can be specified multiple times for multiple
   119                  disks.
   120                items:
   121                  properties:
   122                    autoDelete:
   123                      description: Immutable. Whether or not the disk should be auto-deleted.
   124                        This defaults to true.
   125                      type: boolean
   126                    boot:
   127                      description: Immutable. Indicates that this is a boot disk.
   128                      type: boolean
   129                    deviceName:
   130                      description: Immutable. A unique device name that is reflected
   131                        into the /dev/ tree of a Linux operating system running within
   132                        the instance. If not specified, the server chooses a default
   133                        device name to apply to this disk.
   134                      type: string
   135                    diskEncryptionKey:
   136                      description: Immutable. Encrypts or decrypts a disk using a
   137                        customer-supplied encryption key.
   138                      properties:
   139                        kmsKeyRef:
   140                          oneOf:
   141                          - not:
   142                              required:
   143                              - external
   144                            required:
   145                            - name
   146                          - not:
   147                              anyOf:
   148                              - required:
   149                                - name
   150                              - required:
   151                                - namespace
   152                            required:
   153                            - external
   154                          properties:
   155                            external:
   156                              description: 'Allowed value: The `selfLink` field of
   157                                a `KMSCryptoKey` resource.'
   158                              type: string
   159                            name:
   160                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   161                              type: string
   162                            namespace:
   163                              description: 'Namespace of the referent. More info:
   164                                https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   165                              type: string
   166                          type: object
   167                      required:
   168                      - kmsKeyRef
   169                      type: object
   170                    diskName:
   171                      description: Immutable. Name of the disk. When not provided,
   172                        this defaults to the name of the instance.
   173                      type: string
   174                    diskSizeGb:
   175                      description: Immutable. The size of the image in gigabytes.
   176                        If not specified, it will inherit the size of its base image.
   177                        For SCRATCH disks, the size must be one of 375 or 3000 GB,
   178                        with a default of 375 GB.
   179                      type: integer
   180                    diskType:
   181                      description: Immutable. The Google Compute Engine disk type.
   182                        Such as "pd-ssd", "local-ssd", "pd-balanced" or "pd-standard".
   183                      type: string
   184                    interface:
   185                      description: Immutable. Specifies the disk interface to use
   186                        for attaching this disk.
   187                      type: string
   188                    labels:
   189                      additionalProperties:
   190                        type: string
   191                      description: Immutable. A set of key/value label pairs to assign
   192                        to disks,.
   193                      type: object
   194                    mode:
   195                      description: Immutable. The mode in which to attach this disk,
   196                        either READ_WRITE or READ_ONLY. If you are attaching or creating
   197                        a boot disk, this must read-write mode.
   198                      type: string
   199                    resourcePolicies:
   200                      items:
   201                        oneOf:
   202                        - not:
   203                            required:
   204                            - external
   205                          required:
   206                          - name
   207                        - not:
   208                            anyOf:
   209                            - required:
   210                              - name
   211                            - required:
   212                              - namespace
   213                          required:
   214                          - external
   215                        properties:
   216                          external:
   217                            description: 'Allowed value: The `selfLink` field of a
   218                              `ComputeResourcePolicy` resource.'
   219                            type: string
   220                          name:
   221                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   222                            type: string
   223                          namespace:
   224                            description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   225                            type: string
   226                        type: object
   227                      type: array
   228                    sourceDiskRef:
   229                      oneOf:
   230                      - not:
   231                          required:
   232                          - external
   233                        required:
   234                        - name
   235                      - not:
   236                          anyOf:
   237                          - required:
   238                            - name
   239                          - required:
   240                            - namespace
   241                        required:
   242                        - external
   243                      properties:
   244                        external:
   245                          description: 'Allowed value: The `name` field of a `ComputeDisk`
   246                            resource.'
   247                          type: string
   248                        name:
   249                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   250                          type: string
   251                        namespace:
   252                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   253                          type: string
   254                      type: object
   255                    sourceImageEncryptionKey:
   256                      description: |-
   257                        Immutable. The customer-supplied encryption key of the source
   258                        image. Required if the source image is protected by a
   259                        customer-supplied encryption key.
   260
   261                        Instance templates do not store customer-supplied
   262                        encryption keys, so you cannot create disks for
   263                        instances in a managed instance group if the source
   264                        images are encrypted with your own keys.
   265                      properties:
   266                        kmsKeySelfLinkRef:
   267                          description: |-
   268                            The self link of the encryption key that is stored in Google Cloud
   269                            KMS.
   270                          oneOf:
   271                          - not:
   272                              required:
   273                              - external
   274                            required:
   275                            - name
   276                          - not:
   277                              anyOf:
   278                              - required:
   279                                - name
   280                              - required:
   281                                - namespace
   282                            required:
   283                            - external
   284                          properties:
   285                            external:
   286                              description: 'Allowed value: The `selfLink` field of
   287                                a `KMSCryptoKey` resource.'
   288                              type: string
   289                            name:
   290                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   291                              type: string
   292                            namespace:
   293                              description: 'Namespace of the referent. More info:
   294                                https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   295                              type: string
   296                          type: object
   297                        kmsKeyServiceAccountRef:
   298                          description: |-
   299                            The service account being used for the encryption request for the
   300                            given KMS key. If absent, the Compute Engine default service account
   301                            is used.
   302                          oneOf:
   303                          - not:
   304                              required:
   305                              - external
   306                            required:
   307                            - name
   308                          - not:
   309                              anyOf:
   310                              - required:
   311                                - name
   312                              - required:
   313                                - namespace
   314                            required:
   315                            - external
   316                          properties:
   317                            external:
   318                              description: 'Allowed value: The `email` field of an
   319                                `IAMServiceAccount` resource.'
   320                              type: string
   321                            name:
   322                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   323                              type: string
   324                            namespace:
   325                              description: 'Namespace of the referent. More info:
   326                                https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   327                              type: string
   328                          type: object
   329                      required:
   330                      - kmsKeySelfLinkRef
   331                      type: object
   332                    sourceImageRef:
   333                      oneOf:
   334                      - not:
   335                          required:
   336                          - external
   337                        required:
   338                        - name
   339                      - not:
   340                          anyOf:
   341                          - required:
   342                            - name
   343                          - required:
   344                            - namespace
   345                        required:
   346                        - external
   347                      properties:
   348                        external:
   349                          description: 'Allowed value: The `selfLink` field of a `ComputeImage`
   350                            resource.'
   351                          type: string
   352                        name:
   353                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   354                          type: string
   355                        namespace:
   356                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   357                          type: string
   358                      type: object
   359                    sourceSnapshotEncryptionKey:
   360                      description: Immutable. The customer-supplied encryption key
   361                        of the source snapshot.
   362                      properties:
   363                        kmsKeySelfLinkRef:
   364                          description: |-
   365                            The self link of the encryption key that is stored in Google Cloud
   366                            KMS.
   367                          oneOf:
   368                          - not:
   369                              required:
   370                              - external
   371                            required:
   372                            - name
   373                          - not:
   374                              anyOf:
   375                              - required:
   376                                - name
   377                              - required:
   378                                - namespace
   379                            required:
   380                            - external
   381                          properties:
   382                            external:
   383                              description: 'Allowed value: The `selfLink` field of
   384                                a `KMSCryptoKey` resource.'
   385                              type: string
   386                            name:
   387                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   388                              type: string
   389                            namespace:
   390                              description: 'Namespace of the referent. More info:
   391                                https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   392                              type: string
   393                          type: object
   394                        kmsKeyServiceAccountRef:
   395                          description: |-
   396                            The service account being used for the encryption request for the
   397                            given KMS key. If absent, the Compute Engine default service account
   398                            is used.
   399                          oneOf:
   400                          - not:
   401                              required:
   402                              - external
   403                            required:
   404                            - name
   405                          - not:
   406                              anyOf:
   407                              - required:
   408                                - name
   409                              - required:
   410                                - namespace
   411                            required:
   412                            - external
   413                          properties:
   414                            external:
   415                              description: 'Allowed value: The `email` field of an
   416                                `IAMServiceAccount` resource.'
   417                              type: string
   418                            name:
   419                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   420                              type: string
   421                            namespace:
   422                              description: 'Namespace of the referent. More info:
   423                                https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   424                              type: string
   425                          type: object
   426                      required:
   427                      - kmsKeySelfLinkRef
   428                      type: object
   429                    sourceSnapshotRef:
   430                      description: |-
   431                        The source snapshot to create this disk. When creating a new
   432                        instance, one of initializeParams.sourceSnapshot,
   433                        initializeParams.sourceImage, or disks.source is required except for
   434                        local SSD.
   435                      oneOf:
   436                      - not:
   437                          required:
   438                          - external
   439                        required:
   440                        - name
   441                      - not:
   442                          anyOf:
   443                          - required:
   444                            - name
   445                          - required:
   446                            - namespace
   447                        required:
   448                        - external
   449                      properties:
   450                        external:
   451                          description: 'Allowed value: The `selfLink` field of a `ComputeSnapshot`
   452                            resource.'
   453                          type: string
   454                        name:
   455                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   456                          type: string
   457                        namespace:
   458                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   459                          type: string
   460                      type: object
   461                    type:
   462                      description: Immutable. The type of Google Compute Engine disk,
   463                        can be either "SCRATCH" or "PERSISTENT".
   464                      type: string
   465                  type: object
   466                type: array
   467              enableDisplay:
   468                description: 'Immutable. Enable Virtual Displays on this instance.
   469                  Note: allow_stopping_for_update must be set to true in order to
   470                  update this field.'
   471                type: boolean
   472              guestAccelerator:
   473                description: Immutable. List of the type and count of accelerator
   474                  cards attached to the instance.
   475                items:
   476                  properties:
   477                    count:
   478                      description: Immutable. The number of the guest accelerator
   479                        cards exposed to this instance.
   480                      type: integer
   481                    type:
   482                      description: Immutable. The accelerator type resource to expose
   483                        to this instance. E.g. nvidia-tesla-k80.
   484                      type: string
   485                  required:
   486                  - count
   487                  - type
   488                  type: object
   489                type: array
   490              instanceDescription:
   491                description: Immutable. A description of the instance.
   492                type: string
   493              machineType:
   494                description: Immutable. The machine type to create. To create a machine
   495                  with a custom type (such as extended memory), format the value like
   496                  custom-VCPUS-MEM_IN_MB like custom-6-20480 for 6 vCPU and 20GB of
   497                  RAM.
   498                type: string
   499              metadata:
   500                items:
   501                  properties:
   502                    key:
   503                      type: string
   504                    value:
   505                      type: string
   506                  required:
   507                  - key
   508                  - value
   509                  type: object
   510                type: array
   511              metadataStartupScript:
   512                description: Immutable. An alternative to using the startup-script
   513                  metadata key, mostly to match the compute_instance resource. This
   514                  replaces the startup-script metadata key on the created instance
   515                  and thus the two mechanisms are not allowed to be used simultaneously.
   516                type: string
   517              minCpuPlatform:
   518                description: Immutable. Specifies a minimum CPU platform. Applicable
   519                  values are the friendly names of CPU platforms, such as Intel Haswell
   520                  or Intel Skylake.
   521                type: string
   522              namePrefix:
   523                description: Immutable. Creates a unique name beginning with the specified
   524                  prefix. Conflicts with name.
   525                type: string
   526              networkInterface:
   527                description: Immutable. Networks to attach to instances created from
   528                  this template. This can be specified multiple times for multiple
   529                  networks.
   530                items:
   531                  properties:
   532                    accessConfig:
   533                      items:
   534                        properties:
   535                          natIpRef:
   536                            oneOf:
   537                            - not:
   538                                required:
   539                                - external
   540                              required:
   541                              - name
   542                            - not:
   543                                anyOf:
   544                                - required:
   545                                  - name
   546                                - required:
   547                                  - namespace
   548                              required:
   549                              - external
   550                            properties:
   551                              external:
   552                                description: 'Allowed value: The `address` field of
   553                                  a `ComputeAddress` resource.'
   554                                type: string
   555                              name:
   556                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   557                                type: string
   558                              namespace:
   559                                description: 'Namespace of the referent. More info:
   560                                  https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   561                                type: string
   562                            type: object
   563                          networkTier:
   564                            description: 'Immutable. The networking tier used for
   565                              configuring this instance template. This field can take
   566                              the following values: PREMIUM, STANDARD, FIXED_STANDARD.
   567                              If this field is not specified, it is assumed to be
   568                              PREMIUM.'
   569                            type: string
   570                          publicPtrDomainName:
   571                            description: The DNS domain name for the public PTR record.The
   572                              DNS domain name for the public PTR record.
   573                            type: string
   574                        type: object
   575                      type: array
   576                    aliasIpRange:
   577                      description: Immutable. An array of alias IP ranges for this
   578                        network interface. Can only be specified for network interfaces
   579                        on subnet-mode networks.
   580                      items:
   581                        properties:
   582                          ipCidrRange:
   583                            description: Immutable. The IP CIDR range represented
   584                              by this alias IP range. This IP CIDR range must belong
   585                              to the specified subnetwork and cannot contain IP addresses
   586                              reserved by system or used by other network interfaces.
   587                              At the time of writing only a netmask (e.g. /24) may
   588                              be supplied, with a CIDR format resulting in an API
   589                              error.
   590                            type: string
   591                          subnetworkRangeName:
   592                            description: Immutable. The subnetwork secondary range
   593                              name specifying the secondary range from which to allocate
   594                              the IP CIDR range for this alias IP range. If left unspecified,
   595                              the primary range of the subnetwork will be used.
   596                            type: string
   597                        required:
   598                        - ipCidrRange
   599                        type: object
   600                      type: array
   601                    ipv6AccessConfig:
   602                      description: An array of IPv6 access configurations for this
   603                        interface. Currently, only one IPv6 access config, DIRECT_IPV6,
   604                        is supported. If there is no ipv6AccessConfig specified, then
   605                        this instance will have no external IPv6 Internet access.
   606                      items:
   607                        properties:
   608                          externalIpv6:
   609                            description: The first IPv6 address of the external IPv6
   610                              range associated with this instance, prefix length is
   611                              stored in externalIpv6PrefixLength in ipv6AccessConfig.
   612                              The field is output only, an IPv6 address from a subnetwork
   613                              associated with the instance will be allocated dynamically.
   614                            type: string
   615                          externalIpv6PrefixLength:
   616                            description: The prefix length of the external IPv6 range.
   617                            type: string
   618                          networkTier:
   619                            description: The service-level to be provided for IPv6
   620                              traffic when the subnet has an external subnet. Only
   621                              PREMIUM tier is valid for IPv6.
   622                            type: string
   623                          publicPtrDomainName:
   624                            description: The domain name to be used when creating
   625                              DNSv6 records for the external IPv6 ranges.
   626                            type: string
   627                        required:
   628                        - networkTier
   629                        type: object
   630                      type: array
   631                    ipv6AccessType:
   632                      description: One of EXTERNAL, INTERNAL to indicate whether the
   633                        IP can be accessed from the Internet. This field is always
   634                        inherited from its subnetwork.
   635                      type: string
   636                    name:
   637                      description: The name of the network_interface.
   638                      type: string
   639                    networkIp:
   640                      description: Immutable. The private IP address to assign to
   641                        the instance. If empty, the address will be automatically
   642                        assigned.
   643                      type: string
   644                    networkRef:
   645                      oneOf:
   646                      - not:
   647                          required:
   648                          - external
   649                        required:
   650                        - name
   651                      - not:
   652                          anyOf:
   653                          - required:
   654                            - name
   655                          - required:
   656                            - namespace
   657                        required:
   658                        - external
   659                      properties:
   660                        external:
   661                          description: 'Allowed value: The `selfLink` field of a `ComputeNetwork`
   662                            resource.'
   663                          type: string
   664                        name:
   665                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   666                          type: string
   667                        namespace:
   668                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   669                          type: string
   670                      type: object
   671                    nicType:
   672                      description: Immutable. The type of vNIC to be used on this
   673                        interface. Possible values:GVNIC, VIRTIO_NET.
   674                      type: string
   675                    queueCount:
   676                      description: Immutable. The networking queue count that's specified
   677                        by users for the network interface. Both Rx and Tx queues
   678                        will be set to this number. It will be empty if not specified.
   679                      type: integer
   680                    stackType:
   681                      description: The stack type for this network interface to identify
   682                        whether the IPv6 feature is enabled or not. If not specified,
   683                        IPV4_ONLY will be used.
   684                      type: string
   685                    subnetworkProject:
   686                      description: Immutable. The ID of the project in which the subnetwork
   687                        belongs. If it is not provided, the provider project is used.
   688                      type: string
   689                    subnetworkRef:
   690                      oneOf:
   691                      - not:
   692                          required:
   693                          - external
   694                        required:
   695                        - name
   696                      - not:
   697                          anyOf:
   698                          - required:
   699                            - name
   700                          - required:
   701                            - namespace
   702                        required:
   703                        - external
   704                      properties:
   705                        external:
   706                          description: 'Allowed value: The `selfLink` field of a `ComputeSubnetwork`
   707                            resource.'
   708                          type: string
   709                        name:
   710                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   711                          type: string
   712                        namespace:
   713                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   714                          type: string
   715                      type: object
   716                  type: object
   717                type: array
   718              networkPerformanceConfig:
   719                description: Immutable. Configures network performance settings for
   720                  the instance. If not specified, the instance will be created with
   721                  its default network performance configuration.
   722                properties:
   723                  totalEgressBandwidthTier:
   724                    description: Immutable. The egress bandwidth tier to enable. Possible
   725                      values:TIER_1, DEFAULT.
   726                    type: string
   727                required:
   728                - totalEgressBandwidthTier
   729                type: object
   730              region:
   731                description: Immutable. An instance template is a global resource
   732                  that is not bound to a zone or a region. However, you can still
   733                  specify some regional resources in an instance template, which restricts
   734                  the template to the region where that resource resides. For example,
   735                  a custom subnetwork resource is tied to a specific region. Defaults
   736                  to the region of the Provider if no value is given.
   737                type: string
   738              reservationAffinity:
   739                description: Immutable. Specifies the reservations that this instance
   740                  can consume from.
   741                properties:
   742                  specificReservation:
   743                    description: Immutable. Specifies the label selector for the reservation
   744                      to use.
   745                    properties:
   746                      key:
   747                        description: Immutable. Corresponds to the label key of a
   748                          reservation resource. To target a SPECIFIC_RESERVATION by
   749                          name, specify compute.googleapis.com/reservation-name as
   750                          the key and specify the name of your reservation as the
   751                          only value.
   752                        type: string
   753                      values:
   754                        description: Immutable. Corresponds to the label values of
   755                          a reservation resource.
   756                        items:
   757                          type: string
   758                        type: array
   759                    required:
   760                    - key
   761                    - values
   762                    type: object
   763                  type:
   764                    description: Immutable. The type of reservation from which this
   765                      instance can consume resources.
   766                    type: string
   767                required:
   768                - type
   769                type: object
   770              resourceID:
   771                description: Immutable. Optional. The name of the resource. Used for
   772                  creation and acquisition. When unset, the value of `metadata.name`
   773                  is used as the default.
   774                type: string
   775              resourcePolicies:
   776                items:
   777                  oneOf:
   778                  - not:
   779                      required:
   780                      - external
   781                    required:
   782                    - name
   783                  - not:
   784                      anyOf:
   785                      - required:
   786                        - name
   787                      - required:
   788                        - namespace
   789                    required:
   790                    - external
   791                  properties:
   792                    external:
   793                      description: 'Allowed value: The `selfLink` field of a `ComputeResourcePolicy`
   794                        resource.'
   795                      type: string
   796                    name:
   797                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   798                      type: string
   799                    namespace:
   800                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   801                      type: string
   802                  type: object
   803                type: array
   804              scheduling:
   805                description: Immutable. The scheduling strategy to use.
   806                properties:
   807                  automaticRestart:
   808                    description: Immutable. Specifies whether the instance should
   809                      be automatically restarted if it is terminated by Compute Engine
   810                      (not terminated by a user). This defaults to true.
   811                    type: boolean
   812                  instanceTerminationAction:
   813                    description: Immutable. Specifies the action GCE should take when
   814                      SPOT VM is preempted.
   815                    type: string
   816                  maintenanceInterval:
   817                    description: 'Specifies the frequency of planned maintenance events.
   818                      The accepted values are: PERIODIC.'
   819                    type: string
   820                  maxRunDuration:
   821                    description: Immutable. The timeout for new network connections
   822                      to hosts.
   823                    properties:
   824                      nanos:
   825                        description: |-
   826                          Immutable. Span of time that's a fraction of a second at nanosecond
   827                          resolution. Durations less than one second are represented
   828                          with a 0 seconds field and a positive nanos field. Must
   829                          be from 0 to 999,999,999 inclusive.
   830                        type: integer
   831                      seconds:
   832                        description: |-
   833                          Immutable. Span of time at a resolution of a second.
   834                          Must be from 0 to 315,576,000,000 inclusive.
   835                        type: integer
   836                    required:
   837                    - seconds
   838                    type: object
   839                  minNodeCpus:
   840                    description: Minimum number of cpus for the instance.
   841                    type: integer
   842                  nodeAffinities:
   843                    items:
   844                      properties:
   845                        value:
   846                          type: object
   847                          x-kubernetes-preserve-unknown-fields: true
   848                      type: object
   849                    type: array
   850                  onHostMaintenance:
   851                    description: Immutable. Defines the maintenance behavior for this
   852                      instance.
   853                    type: string
   854                  preemptible:
   855                    description: Immutable. Allows instance to be preempted. This
   856                      defaults to false.
   857                    type: boolean
   858                  provisioningModel:
   859                    description: Immutable. Whether the instance is spot. If this
   860                      is set as SPOT.
   861                    type: string
   862                type: object
   863              serviceAccount:
   864                description: Immutable. Service account to attach to the instance.
   865                properties:
   866                  scopes:
   867                    description: Immutable. A list of service scopes. Both OAuth2
   868                      URLs and gcloud short names are supported. To allow full access
   869                      to all Cloud APIs, use the cloud-platform scope.
   870                    items:
   871                      type: string
   872                    type: array
   873                  serviceAccountRef:
   874                    oneOf:
   875                    - not:
   876                        required:
   877                        - external
   878                      required:
   879                      - name
   880                    - not:
   881                        anyOf:
   882                        - required:
   883                          - name
   884                        - required:
   885                          - namespace
   886                      required:
   887                      - external
   888                    properties:
   889                      external:
   890                        description: 'Allowed value: The `email` field of an `IAMServiceAccount`
   891                          resource.'
   892                        type: string
   893                      name:
   894                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   895                        type: string
   896                      namespace:
   897                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   898                        type: string
   899                    type: object
   900                required:
   901                - scopes
   902                type: object
   903              shieldedInstanceConfig:
   904                description: 'Immutable. Enable Shielded VM on this instance. Shielded
   905                  VM provides verifiable integrity to prevent against malware and
   906                  rootkits. Defaults to disabled. Note: shielded_instance_config can
   907                  only be used with boot images with shielded vm support.'
   908                properties:
   909                  enableIntegrityMonitoring:
   910                    description: Immutable. Compare the most recent boot measurements
   911                      to the integrity policy baseline and return a pair of pass/fail
   912                      results depending on whether they match or not. Defaults to
   913                      true.
   914                    type: boolean
   915                  enableSecureBoot:
   916                    description: Immutable. Verify the digital signature of all boot
   917                      components, and halt the boot process if signature verification
   918                      fails. Defaults to false.
   919                    type: boolean
   920                  enableVtpm:
   921                    description: Immutable. Use a virtualized trusted platform module,
   922                      which is a specialized computer chip you can use to encrypt
   923                      objects like keys and certificates. Defaults to true.
   924                    type: boolean
   925                type: object
   926              tags:
   927                description: Immutable. Tags to attach to the instance.
   928                items:
   929                  type: string
   930                type: array
   931            required:
   932            - disk
   933            - machineType
   934            type: object
   935          status:
   936            properties:
   937              conditions:
   938                description: Conditions represent the latest available observation
   939                  of the resource's current state.
   940                items:
   941                  properties:
   942                    lastTransitionTime:
   943                      description: Last time the condition transitioned from one status
   944                        to another.
   945                      type: string
   946                    message:
   947                      description: Human-readable message indicating details about
   948                        last transition.
   949                      type: string
   950                    reason:
   951                      description: Unique, one-word, CamelCase reason for the condition's
   952                        last transition.
   953                      type: string
   954                    status:
   955                      description: Status is the status of the condition. Can be True,
   956                        False, Unknown.
   957                      type: string
   958                    type:
   959                      description: Type is the type of the condition.
   960                      type: string
   961                  type: object
   962                type: array
   963              metadataFingerprint:
   964                description: The unique fingerprint of the metadata.
   965                type: string
   966              observedGeneration:
   967                description: ObservedGeneration is the generation of the resource
   968                  that was most recently observed by the Config Connector controller.
   969                  If this is equal to metadata.generation, then that means that the
   970                  current reported status reflects the most recent desired state of
   971                  the resource.
   972                type: integer
   973              selfLink:
   974                description: The URI of the created resource.
   975                type: string
   976              selfLinkUnique:
   977                description: A special URI of the created resource that uniquely identifies
   978                  this instance template.
   979                type: string
   980              tagsFingerprint:
   981                description: The unique fingerprint of the tags.
   982                type: string
   983            type: object
   984        required:
   985        - spec
   986        type: object
   987    served: true
   988    storage: true
   989    subresources:
   990      status: {}
   991status:
   992  acceptedNames:
   993    kind: ""
   994    plural: ""
   995  conditions: []
   996  storedVersions: []

View as plain text