...

Text file src/edge-infra.dev/test/fixtures/crds/gcp/compute.cnrm.cloud.google.com_computeregionautoscalers.yaml

Documentation: edge-infra.dev/test/fixtures/crds/gcp

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

View as plain text