...

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

View as plain text