...

Text file src/github.com/GoogleCloudPlatform/k8s-config-connector/config/crds/resources/apiextensions.k8s.io_v1_customresourcedefinition_billingbudgetsbudgets.billingbudgets.cnrm.cloud.google.com.yaml

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

     1apiVersion: apiextensions.k8s.io/v1
     2kind: CustomResourceDefinition
     3metadata:
     4  annotations:
     5    cnrm.cloud.google.com/version: 0.0.0-dev
     6  creationTimestamp: null
     7  labels:
     8    cnrm.cloud.google.com/dcl2crd: "true"
     9    cnrm.cloud.google.com/managed-by-kcc: "true"
    10    cnrm.cloud.google.com/stability-level: stable
    11    cnrm.cloud.google.com/system: "true"
    12  name: billingbudgetsbudgets.billingbudgets.cnrm.cloud.google.com
    13spec:
    14  group: billingbudgets.cnrm.cloud.google.com
    15  names:
    16    categories:
    17    - gcp
    18    kind: BillingBudgetsBudget
    19    plural: billingbudgetsbudgets
    20    shortNames:
    21    - gcpbillingbudgetsbudget
    22    - gcpbillingbudgetsbudgets
    23    singular: billingbudgetsbudget
    24  preserveUnknownFields: false
    25  scope: Namespaced
    26  versions:
    27  - additionalPrinterColumns:
    28    - jsonPath: .metadata.creationTimestamp
    29      name: Age
    30      type: date
    31    - description: When 'True', the most recent reconcile of the resource succeeded
    32      jsonPath: .status.conditions[?(@.type=='Ready')].status
    33      name: Ready
    34      type: string
    35    - description: The reason for the value in 'Ready'
    36      jsonPath: .status.conditions[?(@.type=='Ready')].reason
    37      name: Status
    38      type: string
    39    - description: The last transition time for the value in 'Status'
    40      jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
    41      name: Status Age
    42      type: date
    43    name: v1beta1
    44    schema:
    45      openAPIV3Schema:
    46        properties:
    47          apiVersion:
    48            description: 'apiVersion defines the versioned schema of this representation
    49              of an object. Servers should convert recognized schemas to the latest
    50              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
    51            type: string
    52          kind:
    53            description: 'kind is a string value representing the REST resource this
    54              object represents. Servers may infer this from the endpoint the client
    55              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
    56            type: string
    57          metadata:
    58            type: object
    59          spec:
    60            properties:
    61              allUpdatesRule:
    62                description: Optional. Rules to apply to notifications sent based
    63                  on budget spend and thresholds.
    64                properties:
    65                  disableDefaultIamRecipients:
    66                    description: Optional. When set to true, disables default notifications
    67                      sent when a threshold is exceeded. Default notifications are
    68                      sent to those with Billing Account Administrator and Billing
    69                      Account User IAM roles for the target account.
    70                    type: boolean
    71                  monitoringNotificationChannels:
    72                    items:
    73                      oneOf:
    74                      - not:
    75                          required:
    76                          - external
    77                        required:
    78                        - name
    79                      - not:
    80                          anyOf:
    81                          - required:
    82                            - name
    83                          - required:
    84                            - namespace
    85                        required:
    86                        - external
    87                      properties:
    88                        external:
    89                          description: 'Allowed value: The Google Cloud resource name
    90                            of a `MonitoringNotificationChannel` resource (format:
    91                            `projects/{{project}}/notificationChannels/{{name}}`).'
    92                          type: string
    93                        name:
    94                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
    95                          type: string
    96                        namespace:
    97                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
    98                          type: string
    99                      type: object
   100                    type: array
   101                  pubsubTopicRef:
   102                    oneOf:
   103                    - not:
   104                        required:
   105                        - external
   106                      required:
   107                      - name
   108                    - not:
   109                        anyOf:
   110                        - required:
   111                          - name
   112                        - required:
   113                          - namespace
   114                      required:
   115                      - external
   116                    properties:
   117                      external:
   118                        description: |-
   119                          Optional. The name of the Pub/Sub topic where budget related messages will be published, in the form `projects/{project_id}/topics/{topic_id}`. Updates are sent at regular intervals to the topic. The topic needs to be created before the budget is created; see https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications for more details. Caller is expected to have `pubsub.topics.setIamPolicy` permission on the topic when it's set for a budget, otherwise, the API call will fail with PERMISSION_DENIED. See https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#permissions_required_for_this_task for more details on Pub/Sub roles and permissions.
   120
   121                          Allowed value: The Google Cloud resource name of a `PubSubTopic` resource (format: `projects/{{project}}/topics/{{name}}`).
   122                        type: string
   123                      name:
   124                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   125                        type: string
   126                      namespace:
   127                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   128                        type: string
   129                    type: object
   130                  schemaVersion:
   131                    description: Optional. Required when NotificationsRule.pubsub_topic
   132                      is set. The schema version of the notification sent to NotificationsRule.pubsub_topic.
   133                      Only "1.0" is accepted. It represents the JSON schema as defined
   134                      in https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format.
   135                    type: string
   136                type: object
   137              amount:
   138                description: Required. Budgeted amount.
   139                properties:
   140                  lastPeriodAmount:
   141                    description: Use the last period's actual spend as the budget
   142                      for the present period. LastPeriodAmount can only be set when
   143                      the budget's time period is a .
   144                    type: object
   145                    x-kubernetes-preserve-unknown-fields: true
   146                  specifiedAmount:
   147                    description: A specified amount to use as the budget. `currency_code`
   148                      is optional. If specified when creating a budget, it must match
   149                      the currency of the billing account. If specified when updating
   150                      a budget, it must match the currency_code of the existing budget.
   151                      The `currency_code` is provided on output.
   152                    properties:
   153                      currencyCode:
   154                        description: Immutable. The three-letter currency code defined
   155                          in ISO 4217.
   156                        type: string
   157                      nanos:
   158                        description: Number of nano (10^-9) units of the amount. The
   159                          value must be between -999,999,999 and +999,999,999 inclusive.
   160                          If `units` is positive, `nanos` must be positive or zero.
   161                          If `units` is zero, `nanos` can be positive, zero, or negative.
   162                          If `units` is negative, `nanos` must be negative or zero.
   163                          For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
   164                        format: int64
   165                        type: integer
   166                      units:
   167                        description: The whole units of the amount. For example if
   168                          `currencyCode` is `"USD"`, then 1 unit is one US dollar.
   169                        format: int64
   170                        type: integer
   171                    type: object
   172                type: object
   173              billingAccountRef:
   174                description: Immutable.
   175                oneOf:
   176                - not:
   177                    required:
   178                    - external
   179                  required:
   180                  - name
   181                - not:
   182                    anyOf:
   183                    - required:
   184                      - name
   185                    - required:
   186                      - namespace
   187                  required:
   188                  - external
   189                properties:
   190                  external:
   191                    description: |-
   192                      The billing account of the resource
   193
   194                      Allowed value: The Google Cloud resource name of a Google Cloud Billing Account (format: `billingAccounts/{{name}}`).
   195                    type: string
   196                  name:
   197                    description: |-
   198                      [WARNING] BillingAccount not yet supported in Config Connector, use 'external' field to reference existing resources.
   199                      Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   200                    type: string
   201                  namespace:
   202                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   203                    type: string
   204                type: object
   205              budgetFilter:
   206                description: Optional. Filters that define which resources are used
   207                  to compute the actual spend against the budget amount, such as projects,
   208                  services, and the budget's time period, as well as other filters.
   209                properties:
   210                  calendarPeriod:
   211                    description: 'Optional. Specifies to track usage for recurring
   212                      calendar period. For example, assume that CalendarPeriod.QUARTER
   213                      is set. The budget will track usage from April 1 to June 30,
   214                      when the current calendar month is April, May, June. After that,
   215                      it will track usage from July 1 to September 30 when the current
   216                      calendar month is July, August, September, so on. Possible values:
   217                      CALENDAR_PERIOD_UNSPECIFIED, MONTH, QUARTER, YEAR'
   218                    type: string
   219                  creditTypes:
   220                    description: Optional. If Filter.credit_types_treatment is INCLUDE_SPECIFIED_CREDITS,
   221                      this is a list of credit types to be subtracted from gross cost
   222                      to determine the spend for threshold calculations. See a list
   223                      of acceptable credit type values. If Filter.credit_types_treatment
   224                      is not INCLUDE_SPECIFIED_CREDITS, this field must be empty.
   225                    items:
   226                      type: string
   227                    type: array
   228                  creditTypesTreatment:
   229                    description: Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
   230                    type: string
   231                  customPeriod:
   232                    description: Optional. Specifies to track usage from any start
   233                      date (required) to any end date (optional). This time period
   234                      is static, it does not recur.
   235                    properties:
   236                      endDate:
   237                        description: Immutable. Optional. The end date of the time
   238                          period. Budgets with elapsed end date won't be processed.
   239                          If unset, specifies to track all usage incurred since the
   240                          start_date.
   241                        properties:
   242                          day:
   243                            description: Immutable. Day of a month. Must be from 1
   244                              to 31 and valid for the year and month, or 0 to specify
   245                              a year by itself or a year and month where the day isn't
   246                              significant.
   247                            format: int64
   248                            type: integer
   249                          month:
   250                            description: Immutable. Month of a year. Must be from
   251                              1 to 12, or 0 to specify a year without a month and
   252                              day.
   253                            format: int64
   254                            type: integer
   255                          year:
   256                            description: Immutable. Year of the date. Must be from
   257                              1 to 9999, or 0 to specify a date without a year.
   258                            format: int64
   259                            type: integer
   260                        type: object
   261                      startDate:
   262                        description: Immutable. Required. The start date must be after
   263                          January 1, 2017.
   264                        properties:
   265                          day:
   266                            description: Immutable. Day of a month. Must be from 1
   267                              to 31 and valid for the year and month, or 0 to specify
   268                              a year by itself or a year and month where the day isn't
   269                              significant.
   270                            format: int64
   271                            type: integer
   272                          month:
   273                            description: Immutable. Month of a year. Must be from
   274                              1 to 12, or 0 to specify a year without a month and
   275                              day.
   276                            format: int64
   277                            type: integer
   278                          year:
   279                            description: Immutable. Year of the date. Must be from
   280                              1 to 9999, or 0 to specify a date without a year.
   281                            format: int64
   282                            type: integer
   283                        type: object
   284                    required:
   285                    - startDate
   286                    type: object
   287                  labels:
   288                    additionalProperties:
   289                      properties:
   290                        values:
   291                          description: Immutable. The values of the label
   292                          items:
   293                            type: string
   294                          type: array
   295                      type: object
   296                    description: Optional. A single label and value pair specifying
   297                      that usage from only this set of labeled resources should be
   298                      included in the budget. Currently, multiple entries or multiple
   299                      values per entry are not allowed. If omitted, the report will
   300                      include all labeled and unlabeled usage.
   301                    type: object
   302                  projects:
   303                    items:
   304                      oneOf:
   305                      - not:
   306                          required:
   307                          - external
   308                        required:
   309                        - name
   310                      - not:
   311                          anyOf:
   312                          - required:
   313                            - name
   314                          - required:
   315                            - namespace
   316                        required:
   317                        - external
   318                      properties:
   319                        external:
   320                          description: 'Allowed value: The Google Cloud resource name
   321                            of a `Project` resource (format: `projects/{{name}}`).'
   322                          type: string
   323                        name:
   324                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   325                          type: string
   326                        namespace:
   327                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   328                          type: string
   329                      type: object
   330                    type: array
   331                  services:
   332                    description: 'Optional. A set of services of the form `services/{service_id}`,
   333                      specifying that usage from only this set of services should
   334                      be included in the budget. If omitted, the report will include
   335                      usage for all the services. The service names are available
   336                      through the Catalog API: https://cloud.google.com/billing/v1/how-tos/catalog-api.'
   337                    items:
   338                      type: string
   339                    type: array
   340                  subaccounts:
   341                    items:
   342                      oneOf:
   343                      - not:
   344                          required:
   345                          - external
   346                        required:
   347                        - name
   348                      - not:
   349                          anyOf:
   350                          - required:
   351                            - name
   352                          - required:
   353                            - namespace
   354                        required:
   355                        - external
   356                      properties:
   357                        external:
   358                          type: string
   359                        name:
   360                          description: |-
   361                            [WARNING] CloudBillingBillingAccount not yet supported in Config Connector, use 'external' field to reference existing resources.
   362                            Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   363                          type: string
   364                        namespace:
   365                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   366                          type: string
   367                      type: object
   368                    type: array
   369                type: object
   370              displayName:
   371                description: User data for display name in UI. The name must be less
   372                  than or equal to 60 characters.
   373                type: string
   374              resourceID:
   375                description: Immutable. Optional. The service-generated name of the
   376                  resource. Used for acquisition only. Leave unset to create a new
   377                  resource.
   378                type: string
   379              thresholdRules:
   380                description: Optional. Rules that trigger alerts (notifications of
   381                  thresholds being crossed) when spend exceeds the specified percentages
   382                  of the budget.
   383                items:
   384                  properties:
   385                    spendBasis:
   386                      description: 'Optional. The type of basis used to determine
   387                        if spend has passed the threshold. Behavior defaults to CURRENT_SPEND
   388                        if not set. Possible values: BASIS_UNSPECIFIED, CURRENT_SPEND,
   389                        FORECASTED_SPEND'
   390                      type: string
   391                    thresholdPercent:
   392                      description: 'Required. Send an alert when this threshold is
   393                        exceeded. This is a 1.0-based percentage, so 0.5 = 50%. Validation:
   394                        non-negative number.'
   395                      format: double
   396                      type: number
   397                  required:
   398                  - thresholdPercent
   399                  type: object
   400                type: array
   401            required:
   402            - amount
   403            - billingAccountRef
   404            type: object
   405          status:
   406            properties:
   407              conditions:
   408                description: Conditions represent the latest available observation
   409                  of the resource's current state.
   410                items:
   411                  properties:
   412                    lastTransitionTime:
   413                      description: Last time the condition transitioned from one status
   414                        to another.
   415                      type: string
   416                    message:
   417                      description: Human-readable message indicating details about
   418                        last transition.
   419                      type: string
   420                    reason:
   421                      description: Unique, one-word, CamelCase reason for the condition's
   422                        last transition.
   423                      type: string
   424                    status:
   425                      description: Status is the status of the condition. Can be True,
   426                        False, Unknown.
   427                      type: string
   428                    type:
   429                      description: Type is the type of the condition.
   430                      type: string
   431                  type: object
   432                type: array
   433              etag:
   434                description: Optional. Etag to validate that the object is unchanged
   435                  for a read-modify-write operation. An empty etag will cause an update
   436                  to overwrite other changes.
   437                type: string
   438              observedGeneration:
   439                description: ObservedGeneration is the generation of the resource
   440                  that was most recently observed by the Config Connector controller.
   441                  If this is equal to metadata.generation, then that means that the
   442                  current reported status reflects the most recent desired state of
   443                  the resource.
   444                type: integer
   445            type: object
   446        required:
   447        - spec
   448        type: object
   449    served: true
   450    storage: true
   451    subresources:
   452      status: {}
   453status:
   454  acceptedNames:
   455    kind: ""
   456    plural: ""
   457  conditions: []
   458  storedVersions: []

View as plain text