...

Text file src/github.com/GoogleCloudPlatform/k8s-config-connector/crds/pubsub_v1beta1_pubsubsubscription.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: pubsubsubscriptions.pubsub.cnrm.cloud.google.com
    27spec:
    28  group: pubsub.cnrm.cloud.google.com
    29  names:
    30    categories:
    31    - gcp
    32    kind: PubSubSubscription
    33    plural: pubsubsubscriptions
    34    shortNames:
    35    - gcppubsubsubscription
    36    - gcppubsubsubscriptions
    37    singular: pubsubsubscription
    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              ackDeadlineSeconds:
    75                description: |-
    76                  This value is the maximum time after a subscriber receives a message
    77                  before the subscriber should acknowledge the message. After message
    78                  delivery but before the ack deadline expires and before the message is
    79                  acknowledged, it is an outstanding message and will not be delivered
    80                  again during that time (on a best-effort basis).
    81
    82                  For pull subscriptions, this value is used as the initial value for
    83                  the ack deadline. To override this value for a given message, call
    84                  subscriptions.modifyAckDeadline with the corresponding ackId if using
    85                  pull. The minimum custom deadline you can specify is 10 seconds. The
    86                  maximum custom deadline you can specify is 600 seconds (10 minutes).
    87                  If this parameter is 0, a default value of 10 seconds is used.
    88
    89                  For push delivery, this value is also used to set the request timeout
    90                  for the call to the push endpoint.
    91
    92                  If the subscriber never acknowledges the message, the Pub/Sub system
    93                  will eventually redeliver the message.
    94                type: integer
    95              bigqueryConfig:
    96                description: |-
    97                  If delivery to BigQuery is used with this subscription, this field is used to configure it.
    98                  Either pushConfig or bigQueryConfig can be set, but not both.
    99                  If both are empty, then the subscriber will pull and ack messages using API methods.
   100                properties:
   101                  dropUnknownFields:
   102                    description: |-
   103                      When true and useTopicSchema is true, any fields that are a part of the topic schema that are not part of the BigQuery table schema are dropped when writing to BigQuery.
   104                      Otherwise, the schemas must be kept in sync and any messages with extra fields are not written and remain in the subscription's backlog.
   105                    type: boolean
   106                  tableRef:
   107                    description: The name of the table to which to write data.
   108                    oneOf:
   109                    - not:
   110                        required:
   111                        - external
   112                      required:
   113                      - name
   114                    - not:
   115                        anyOf:
   116                        - required:
   117                          - name
   118                        - required:
   119                          - namespace
   120                      required:
   121                      - external
   122                    properties:
   123                      external:
   124                        description: 'Allowed value: string of the format `{{project}}.{{dataset_id}}.{{value}}`,
   125                          where {{value}} is the `name` field of a `BigQueryTable`
   126                          resource.'
   127                        type: string
   128                      name:
   129                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   130                        type: string
   131                      namespace:
   132                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   133                        type: string
   134                    type: object
   135                  useTopicSchema:
   136                    description: When true, use the topic's schema as the columns
   137                      to write to in BigQuery, if it exists.
   138                    type: boolean
   139                  writeMetadata:
   140                    description: |-
   141                      When true, write the subscription name, messageId, publishTime, attributes, and orderingKey to additional columns in the table.
   142                      The subscription name, messageId, and publishTime fields are put in their own columns while all other message properties (other than data) are written to a JSON object in the attributes column.
   143                    type: boolean
   144                required:
   145                - tableRef
   146                type: object
   147              deadLetterPolicy:
   148                description: |-
   149                  A policy that specifies the conditions for dead lettering messages in
   150                  this subscription. If dead_letter_policy is not set, dead lettering
   151                  is disabled.
   152
   153                  The Cloud Pub/Sub service account associated with this subscription's
   154                  parent project (i.e.,
   155                  service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
   156                  permission to Acknowledge() messages on this subscription.
   157                properties:
   158                  deadLetterTopicRef:
   159                    oneOf:
   160                    - not:
   161                        required:
   162                        - external
   163                      required:
   164                      - name
   165                    - not:
   166                        anyOf:
   167                        - required:
   168                          - name
   169                        - required:
   170                          - namespace
   171                      required:
   172                      - external
   173                    properties:
   174                      external:
   175                        description: 'Allowed value: string of the format `projects/{{project}}/topics/{{value}}`,
   176                          where {{value}} is the `name` field of a `PubSubTopic` resource.'
   177                        type: string
   178                      name:
   179                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   180                        type: string
   181                      namespace:
   182                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   183                        type: string
   184                    type: object
   185                  maxDeliveryAttempts:
   186                    description: |-
   187                      The maximum number of delivery attempts for any message. The value must be
   188                      between 5 and 100.
   189
   190                      The number of delivery attempts is defined as 1 + (the sum of number of
   191                      NACKs and number of times the acknowledgement deadline has been exceeded for the message).
   192
   193                      A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that
   194                      client libraries may automatically extend ack_deadlines.
   195
   196                      This field will be honored on a best effort basis.
   197
   198                      If this parameter is 0, a default value of 5 is used.
   199                    type: integer
   200                type: object
   201              enableExactlyOnceDelivery:
   202                description: |-
   203                  If 'true', Pub/Sub provides the following guarantees for the delivery
   204                  of a message with a given value of messageId on this Subscriptions':
   205
   206                  - The message sent to a subscriber is guaranteed not to be resent before the message's acknowledgement deadline expires.
   207
   208                  - An acknowledged message will not be resent to a subscriber.
   209
   210                  Note that subscribers may still receive multiple copies of a message when 'enable_exactly_once_delivery'
   211                  is true if the message was published multiple times by a publisher client. These copies are considered distinct by Pub/Sub and have distinct messageId values.
   212                type: boolean
   213              enableMessageOrdering:
   214                description: |-
   215                  Immutable. If 'true', messages published with the same orderingKey in PubsubMessage will be delivered to
   216                  the subscribers in the order in which they are received by the Pub/Sub system. Otherwise, they
   217                  may be delivered in any order.
   218                type: boolean
   219              expirationPolicy:
   220                description: |-
   221                  A policy that specifies the conditions for this subscription's expiration.
   222                  A subscription is considered active as long as any connected subscriber
   223                  is successfully consuming messages from the subscription or is issuing
   224                  operations on the subscription. If expirationPolicy is not set, a default
   225                  policy with ttl of 31 days will be used.  If it is set but ttl is "", the
   226                  resource never expires.  The minimum allowed value for expirationPolicy.ttl
   227                  is 1 day.
   228                properties:
   229                  ttl:
   230                    description: |-
   231                      Specifies the "time-to-live" duration for an associated resource. The
   232                      resource expires if it is not active for a period of ttl.
   233                      If ttl is set to "", the associated resource never expires.
   234                      A duration in seconds with up to nine fractional digits, terminated by 's'.
   235                      Example - "3.5s".
   236                    type: string
   237                required:
   238                - ttl
   239                type: object
   240              filter:
   241                description: |-
   242                  Immutable. The subscription only delivers the messages that match the filter.
   243                  Pub/Sub automatically acknowledges the messages that don't match the filter. You can filter messages
   244                  by their attributes. The maximum length of a filter is 256 bytes. After creating the subscription,
   245                  you can't modify the filter.
   246                type: string
   247              messageRetentionDuration:
   248                description: |-
   249                  How long to retain unacknowledged messages in the subscription's
   250                  backlog, from the moment a message is published. If
   251                  retain_acked_messages is true, then this also configures the retention
   252                  of acknowledged messages, and thus configures how far back in time a
   253                  subscriptions.seek can be done. Defaults to 7 days. Cannot be more
   254                  than 7 days ('"604800s"') or less than 10 minutes ('"600s"').
   255
   256                  A duration in seconds with up to nine fractional digits, terminated
   257                  by 's'. Example: '"600.5s"'.
   258                type: string
   259              pushConfig:
   260                description: |-
   261                  If push delivery is used with this subscription, this field is used to
   262                  configure it. An empty pushConfig signifies that the subscriber will
   263                  pull and ack messages using API methods.
   264                properties:
   265                  attributes:
   266                    additionalProperties:
   267                      type: string
   268                    description: |-
   269                      Endpoint configuration attributes.
   270
   271                      Every endpoint has a set of API supported attributes that can
   272                      be used to control different aspects of the message delivery.
   273
   274                      The currently supported attribute is x-goog-version, which you
   275                      can use to change the format of the pushed message. This
   276                      attribute indicates the version of the data expected by
   277                      the endpoint. This controls the shape of the pushed message
   278                      (i.e., its fields and metadata). The endpoint version is
   279                      based on the version of the Pub/Sub API.
   280
   281                      If not present during the subscriptions.create call,
   282                      it will default to the version of the API used to make
   283                      such call. If not present during a subscriptions.modifyPushConfig
   284                      call, its value will not be changed. subscriptions.get
   285                      calls will always return a valid version, even if the
   286                      subscription was created without this attribute.
   287
   288                      The possible values for this attribute are:
   289
   290                      - v1beta1: uses the push format defined in the v1beta1 Pub/Sub API.
   291                      - v1 or v1beta2: uses the push format defined in the v1 Pub/Sub API.
   292                    type: object
   293                  oidcToken:
   294                    description: |-
   295                      If specified, Pub/Sub will generate and attach an OIDC JWT token as
   296                      an Authorization header in the HTTP request for every pushed message.
   297                    properties:
   298                      audience:
   299                        description: |-
   300                          Audience to be used when generating OIDC token. The audience claim
   301                          identifies the recipients that the JWT is intended for. The audience
   302                          value is a single case-sensitive string. Having multiple values (array)
   303                          for the audience field is not supported. More info about the OIDC JWT
   304                          token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
   305                          Note: if not specified, the Push endpoint URL will be used.
   306                        type: string
   307                      serviceAccountEmail:
   308                        description: |-
   309                          Service account email to be used for generating the OIDC token.
   310                          The caller (for subscriptions.create, subscriptions.patch, and
   311                          subscriptions.modifyPushConfig RPCs) must have the
   312                          iam.serviceAccounts.actAs permission for the service account.
   313                        type: string
   314                    required:
   315                    - serviceAccountEmail
   316                    type: object
   317                  pushEndpoint:
   318                    description: |-
   319                      A URL locating the endpoint to which messages should be pushed.
   320                      For example, a Webhook endpoint might use
   321                      "https://example.com/push".
   322                    type: string
   323                required:
   324                - pushEndpoint
   325                type: object
   326              resourceID:
   327                description: Immutable. Optional. The name of the resource. Used for
   328                  creation and acquisition. When unset, the value of `metadata.name`
   329                  is used as the default.
   330                type: string
   331              retainAckedMessages:
   332                description: |-
   333                  Indicates whether to retain acknowledged messages. If 'true', then
   334                  messages are not expunged from the subscription's backlog, even if
   335                  they are acknowledged, until they fall out of the
   336                  messageRetentionDuration window.
   337                type: boolean
   338              retryPolicy:
   339                description: |-
   340                  A policy that specifies how Pub/Sub retries message delivery for this subscription.
   341
   342                  If not set, the default retry policy is applied. This generally implies that messages will be retried as soon as possible for healthy subscribers.
   343                  RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message.
   344                properties:
   345                  maximumBackoff:
   346                    description: |-
   347                      The maximum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 600 seconds.
   348                      A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
   349                    type: string
   350                  minimumBackoff:
   351                    description: |-
   352                      The minimum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 10 seconds.
   353                      A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
   354                    type: string
   355                type: object
   356              topicRef:
   357                description: Reference to a PubSubTopic.
   358                oneOf:
   359                - not:
   360                    required:
   361                    - external
   362                  required:
   363                  - name
   364                - not:
   365                    anyOf:
   366                    - required:
   367                      - name
   368                    - required:
   369                      - namespace
   370                  required:
   371                  - external
   372                properties:
   373                  external:
   374                    description: 'Allowed value: string of the format `projects/{{project}}/topics/{{value}}`,
   375                      where {{value}} is the `name` field of a `PubSubTopic` resource.'
   376                    type: string
   377                  name:
   378                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   379                    type: string
   380                  namespace:
   381                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   382                    type: string
   383                type: object
   384            required:
   385            - topicRef
   386            type: object
   387          status:
   388            properties:
   389              conditions:
   390                description: Conditions represent the latest available observation
   391                  of the resource's current state.
   392                items:
   393                  properties:
   394                    lastTransitionTime:
   395                      description: Last time the condition transitioned from one status
   396                        to another.
   397                      type: string
   398                    message:
   399                      description: Human-readable message indicating details about
   400                        last transition.
   401                      type: string
   402                    reason:
   403                      description: Unique, one-word, CamelCase reason for the condition's
   404                        last transition.
   405                      type: string
   406                    status:
   407                      description: Status is the status of the condition. Can be True,
   408                        False, Unknown.
   409                      type: string
   410                    type:
   411                      description: Type is the type of the condition.
   412                      type: string
   413                  type: object
   414                type: array
   415              observedGeneration:
   416                description: ObservedGeneration is the generation of the resource
   417                  that was most recently observed by the Config Connector controller.
   418                  If this is equal to metadata.generation, then that means that the
   419                  current reported status reflects the most recent desired state of
   420                  the resource.
   421                type: integer
   422            type: object
   423        required:
   424        - spec
   425        type: object
   426    served: true
   427    storage: true
   428    subresources:
   429      status: {}
   430status:
   431  acceptedNames:
   432    kind: ""
   433    plural: ""
   434  conditions: []
   435  storedVersions: []

View as plain text