...

Text file src/github.com/GoogleCloudPlatform/k8s-config-connector/crds/compute_v1alpha1_computeregionautoscaler.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: alpha
    24    cnrm.cloud.google.com/system: "true"
    25    cnrm.cloud.google.com/tf2crd: "true"
    26  name: computeregionautoscalers.compute.cnrm.cloud.google.com
    27spec:
    28  group: compute.cnrm.cloud.google.com
    29  names:
    30    categories:
    31    - gcp
    32    kind: ComputeRegionAutoscaler
    33    plural: computeregionautoscalers
    34    shortNames:
    35    - gcpcomputeregionautoscaler
    36    - gcpcomputeregionautoscalers
    37    singular: computeregionautoscaler
    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: v1alpha1
    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              autoscalingPolicy:
    75                description: |-
    76                  The configuration parameters for the autoscaling algorithm. You can
    77                  define one or more of the policies for an autoscaler: cpuUtilization,
    78                  customMetricUtilizations, and loadBalancingUtilization.
    79
    80                  If none of these are specified, the default will be to autoscale based
    81                  on cpuUtilization to 0.6 or 60%.
    82                properties:
    83                  cooldownPeriod:
    84                    description: |-
    85                      The number of seconds that the autoscaler should wait before it
    86                      starts collecting information from a new instance. This prevents
    87                      the autoscaler from collecting information when the instance is
    88                      initializing, during which the collected usage would not be
    89                      reliable. The default time autoscaler waits is 60 seconds.
    90
    91                      Virtual machine initialization times might vary because of
    92                      numerous factors. We recommend that you test how long an
    93                      instance may take to initialize. To do this, create an instance
    94                      and time the startup process.
    95                    type: integer
    96                  cpuUtilization:
    97                    description: |-
    98                      Defines the CPU utilization policy that allows the autoscaler to
    99                      scale based on the average CPU utilization of a managed instance
   100                      group.
   101                    properties:
   102                      predictiveMethod:
   103                        description: |-
   104                          Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are:
   105
   106                          - NONE (default). No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics.
   107
   108                          - OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand.
   109                        type: string
   110                      target:
   111                        description: |-
   112                          The target CPU utilization that the autoscaler should maintain.
   113                          Must be a float value in the range (0, 1]. If not specified, the
   114                          default is 0.6.
   115
   116                          If the CPU level is below the target utilization, the autoscaler
   117                          scales down the number of instances until it reaches the minimum
   118                          number of instances you specified or until the average CPU of
   119                          your instances reaches the target utilization.
   120
   121                          If the average CPU is above the target utilization, the autoscaler
   122                          scales up until it reaches the maximum number of instances you
   123                          specified or until the average utilization reaches the target
   124                          utilization.
   125                        type: number
   126                    required:
   127                    - target
   128                    type: object
   129                  loadBalancingUtilization:
   130                    description: Configuration parameters of autoscaling based on
   131                      a load balancer.
   132                    properties:
   133                      target:
   134                        description: |-
   135                          Fraction of backend capacity utilization (set in HTTP(s) load
   136                          balancing configuration) that autoscaler should maintain. Must
   137                          be a positive float value. If not defined, the default is 0.8.
   138                        type: number
   139                    required:
   140                    - target
   141                    type: object
   142                  maxReplicas:
   143                    description: |-
   144                      The maximum number of instances that the autoscaler can scale up
   145                      to. This is required when creating or updating an autoscaler. The
   146                      maximum number of replicas should not be lower than minimal number
   147                      of replicas.
   148                    type: integer
   149                  metric:
   150                    description: Configuration parameters of autoscaling based on
   151                      a custom metric.
   152                    items:
   153                      properties:
   154                        filter:
   155                          description: |-
   156                            A filter string to be used as the filter string for
   157                            a Stackdriver Monitoring TimeSeries.list API call.
   158                            This filter is used to select a specific TimeSeries for
   159                            the purpose of autoscaling and to determine whether the metric
   160                            is exporting per-instance or per-group data.
   161
   162                            You can only use the AND operator for joining selectors.
   163                            You can only use direct equality comparison operator (=) without
   164                            any functions for each selector.
   165                            You can specify the metric in both the filter string and in the
   166                            metric field. However, if specified in both places, the metric must
   167                            be identical.
   168
   169                            The monitored resource type determines what kind of values are
   170                            expected for the metric. If it is a gce_instance, the autoscaler
   171                            expects the metric to include a separate TimeSeries for each
   172                            instance in a group. In such a case, you cannot filter on resource
   173                            labels.
   174
   175                            If the resource type is any other value, the autoscaler expects
   176                            this metric to contain values that apply to the entire autoscaled
   177                            instance group and resource label filtering can be performed to
   178                            point autoscaler at the correct TimeSeries to scale upon.
   179                            This is called a per-group metric for the purpose of autoscaling.
   180
   181                            If not specified, the type defaults to gce_instance.
   182
   183                            You should provide a filter that is selective enough to pick just
   184                            one TimeSeries for the autoscaled group or for each of the instances
   185                            (if you are using gce_instance resource type). If multiple
   186                            TimeSeries are returned upon the query execution, the autoscaler
   187                            will sum their respective values to obtain its scaling value.
   188                          type: string
   189                        name:
   190                          description: |-
   191                            The identifier (type) of the Stackdriver Monitoring metric.
   192                            The metric cannot have negative values.
   193
   194                            The metric must have a value type of INT64 or DOUBLE.
   195                          type: string
   196                        singleInstanceAssignment:
   197                          description: |-
   198                            If scaling is based on a per-group metric value that represents the
   199                            total amount of work to be done or resource usage, set this value to
   200                            an amount assigned for a single instance of the scaled group.
   201                            The autoscaler will keep the number of instances proportional to the
   202                            value of this metric, the metric itself should not change value due
   203                            to group resizing.
   204
   205                            For example, a good metric to use with the target is
   206                            'pubsub.googleapis.com/subscription/num_undelivered_messages'
   207                            or a custom metric exporting the total number of requests coming to
   208                            your instances.
   209
   210                            A bad example would be a metric exporting an average or median
   211                            latency, since this value can't include a chunk assignable to a
   212                            single instance, it could be better used with utilization_target
   213                            instead.
   214                          type: number
   215                        target:
   216                          description: |-
   217                            The target value of the metric that autoscaler should
   218                            maintain. This must be a positive value. A utilization
   219                            metric scales number of virtual machines handling requests
   220                            to increase or decrease proportionally to the metric.
   221
   222                            For example, a good metric to use as a utilizationTarget is
   223                            www.googleapis.com/compute/instance/network/received_bytes_count.
   224                            The autoscaler will work to keep this value constant for each
   225                            of the instances.
   226                          type: number
   227                        type:
   228                          description: |-
   229                            Defines how target utilization value is expressed for a
   230                            Stackdriver Monitoring metric. Possible values: ["GAUGE", "DELTA_PER_SECOND", "DELTA_PER_MINUTE"].
   231                          type: string
   232                      required:
   233                      - name
   234                      type: object
   235                    type: array
   236                  minReplicas:
   237                    description: |-
   238                      The minimum number of replicas that the autoscaler can scale down
   239                      to. This cannot be less than 0. If not provided, autoscaler will
   240                      choose a default value depending on maximum number of instances
   241                      allowed.
   242                    type: integer
   243                  mode:
   244                    description: 'Defines operating mode for this policy. Default
   245                      value: "ON" Possible values: ["OFF", "ONLY_UP", "ON"].'
   246                    type: string
   247                  scaleDownControl:
   248                    description: |-
   249                      Defines scale down controls to reduce the risk of response latency
   250                      and outages due to abrupt scale-in events.
   251                    properties:
   252                      maxScaledDownReplicas:
   253                        description: A nested object resource.
   254                        properties:
   255                          fixed:
   256                            description: |-
   257                              Specifies a fixed number of VM instances. This must be a positive
   258                              integer.
   259                            type: integer
   260                          percent:
   261                            description: |-
   262                              Specifies a percentage of instances between 0 to 100%, inclusive.
   263                              For example, specify 80 for 80%.
   264                            type: integer
   265                        type: object
   266                      timeWindowSec:
   267                        description: |-
   268                          How long back autoscaling should look when computing recommendations
   269                          to include directives regarding slower scale down, as described above.
   270                        type: integer
   271                    type: object
   272                  scaleInControl:
   273                    description: |-
   274                      Defines scale in controls to reduce the risk of response latency
   275                      and outages due to abrupt scale-in events.
   276                    properties:
   277                      maxScaledInReplicas:
   278                        description: A nested object resource.
   279                        properties:
   280                          fixed:
   281                            description: |-
   282                              Specifies a fixed number of VM instances. This must be a positive
   283                              integer.
   284                            type: integer
   285                          percent:
   286                            description: |-
   287                              Specifies a percentage of instances between 0 to 100%, inclusive.
   288                              For example, specify 80 for 80%.
   289                            type: integer
   290                        type: object
   291                      timeWindowSec:
   292                        description: |-
   293                          How long back autoscaling should look when computing recommendations
   294                          to include directives regarding slower scale down, as described above.
   295                        type: integer
   296                    type: object
   297                  scalingSchedules:
   298                    description: Scaling schedules defined for an autoscaler. Multiple
   299                      schedules can be set on an autoscaler and they can overlap.
   300                    items:
   301                      properties:
   302                        description:
   303                          description: A description of a scaling schedule.
   304                          type: string
   305                        disabled:
   306                          description: A boolean value that specifies if a scaling
   307                            schedule can influence autoscaler recommendations. If
   308                            set to true, then a scaling schedule has no effect.
   309                          type: boolean
   310                        durationSec:
   311                          description: The duration of time intervals (in seconds)
   312                            for which this scaling schedule will be running. The minimum
   313                            allowed value is 300.
   314                          type: integer
   315                        minRequiredReplicas:
   316                          description: Minimum number of VM instances that autoscaler
   317                            will recommend in time intervals starting according to
   318                            schedule.
   319                          type: integer
   320                        name:
   321                          type: string
   322                        schedule:
   323                          description: The start timestamps of time intervals when
   324                            this scaling schedule should provide a scaling signal.
   325                            This field uses the extended cron format (with an optional
   326                            year field).
   327                          type: string
   328                        timeZone:
   329                          description: 'The time zone to be used when interpreting
   330                            the schedule. The value of this field must be a time zone
   331                            name from the tz database: http://en.wikipedia.org/wiki/Tz_database.'
   332                          type: string
   333                      required:
   334                      - durationSec
   335                      - minRequiredReplicas
   336                      - name
   337                      - schedule
   338                      type: object
   339                    type: array
   340                required:
   341                - maxReplicas
   342                - minReplicas
   343                type: object
   344              description:
   345                description: An optional description of this resource.
   346                type: string
   347              projectRef:
   348                description: The project that this resource belongs to.
   349                oneOf:
   350                - not:
   351                    required:
   352                    - external
   353                  required:
   354                  - name
   355                - not:
   356                    anyOf:
   357                    - required:
   358                      - name
   359                    - required:
   360                      - namespace
   361                  required:
   362                  - external
   363                properties:
   364                  external:
   365                    description: 'Allowed value: The `name` field of a `Project` resource.'
   366                    type: string
   367                  name:
   368                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   369                    type: string
   370                  namespace:
   371                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   372                    type: string
   373                type: object
   374              region:
   375                description: Immutable. URL of the region where the instance group
   376                  resides.
   377                type: string
   378              resourceID:
   379                description: Immutable. Optional. The name of the resource. Used for
   380                  creation and acquisition. When unset, the value of `metadata.name`
   381                  is used as the default.
   382                type: string
   383              target:
   384                description: URL of the managed instance group that this autoscaler
   385                  will scale.
   386                type: string
   387            required:
   388            - autoscalingPolicy
   389            - projectRef
   390            - region
   391            - target
   392            type: object
   393          status:
   394            properties:
   395              conditions:
   396                description: Conditions represent the latest available observation
   397                  of the resource's current state.
   398                items:
   399                  properties:
   400                    lastTransitionTime:
   401                      description: Last time the condition transitioned from one status
   402                        to another.
   403                      type: string
   404                    message:
   405                      description: Human-readable message indicating details about
   406                        last transition.
   407                      type: string
   408                    reason:
   409                      description: Unique, one-word, CamelCase reason for the condition's
   410                        last transition.
   411                      type: string
   412                    status:
   413                      description: Status is the status of the condition. Can be True,
   414                        False, Unknown.
   415                      type: string
   416                    type:
   417                      description: Type is the type of the condition.
   418                      type: string
   419                  type: object
   420                type: array
   421              creationTimestamp:
   422                description: Creation timestamp in RFC3339 text format.
   423                type: string
   424              observedGeneration:
   425                description: ObservedGeneration is the generation of the resource
   426                  that was most recently observed by the Config Connector controller.
   427                  If this is equal to metadata.generation, then that means that the
   428                  current reported status reflects the most recent desired state of
   429                  the resource.
   430                type: integer
   431              selfLink:
   432                type: string
   433            type: object
   434        required:
   435        - spec
   436        type: object
   437    served: true
   438    storage: true
   439    subresources:
   440      status: {}
   441status:
   442  acceptedNames:
   443    kind: ""
   444    plural: ""
   445  conditions: []
   446  storedVersions: []

View as plain text