...

Text file src/github.com/GoogleCloudPlatform/k8s-config-connector/pkg/crd/fielddesc/testdata/pubsubsubscription-spec.golden.yaml

Documentation: github.com/GoogleCloudPlatform/k8s-config-connector/pkg/crd/fielddesc/testdata

     1# Copyright 2023 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
    15fullname:
    16- spec
    17shortname: spec
    18description: ""
    19type: object
    20requirementlevel: Required
    21children:
    22- fullname:
    23  - spec
    24  - ackDeadlineSeconds
    25  shortname: ackDeadlineSeconds
    26  description: |-
    27    This value is the maximum time after a subscriber receives a message
    28    before the subscriber should acknowledge the message. After message
    29    delivery but before the ack deadline expires and before the message is
    30    acknowledged, it is an outstanding message and will not be delivered
    31    again during that time (on a best-effort basis).
    32
    33    For pull subscriptions, this value is used as the initial value for
    34    the ack deadline. To override this value for a given message, call
    35    subscriptions.modifyAckDeadline with the corresponding ackId if using
    36    pull. The minimum custom deadline you can specify is 10 seconds. The
    37    maximum custom deadline you can specify is 600 seconds (10 minutes).
    38    If this parameter is 0, a default value of 10 seconds is used.
    39
    40    For push delivery, this value is also used to set the request timeout
    41    for the call to the push endpoint.
    42
    43    If the subscriber never acknowledges the message, the Pub/Sub system
    44    will eventually redeliver the message.
    45  type: integer
    46  requirementlevel: Optional
    47  children: []
    48  additionalproperties: []
    49- fullname:
    50  - spec
    51  - bigqueryConfig
    52  shortname: bigqueryConfig
    53  description: |-
    54    If delivery to BigQuery is used with this subscription, this field is used to configure it.
    55    Either pushConfig or bigQueryConfig can be set, but not both.
    56    If both are empty, then the subscriber will pull and ack messages using API methods.
    57  type: object
    58  requirementlevel: Optional
    59  children:
    60  - fullname:
    61    - spec
    62    - bigqueryConfig
    63    - dropUnknownFields
    64    shortname: dropUnknownFields
    65    description: |-
    66      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.
    67      Otherwise, the schemas must be kept in sync and any messages with extra fields are not written and remain in the subscription's backlog.
    68    type: boolean
    69    requirementlevel: Optional
    70    children: []
    71    additionalproperties: []
    72  - fullname:
    73    - spec
    74    - bigqueryConfig
    75    - tableRef
    76    shortname: tableRef
    77    description: The name of the table to which to write data.
    78    type: object
    79    requirementlevel: RequiredWhenParentPresent
    80    children:
    81    - fullname:
    82      - spec
    83      - bigqueryConfig
    84      - tableRef
    85      - external
    86      shortname: external
    87      description: 'Allowed value: string of the format `{{project}}.{{dataset_id}}.{{value}}`,
    88        where {{value}} is the `name` field of a `BigQueryTable` resource.'
    89      type: string
    90      requirementlevel: Optional
    91      children: []
    92      additionalproperties: []
    93    - fullname:
    94      - spec
    95      - bigqueryConfig
    96      - tableRef
    97      - name
    98      shortname: name
    99      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   100      type: string
   101      requirementlevel: Optional
   102      children: []
   103      additionalproperties: []
   104    - fullname:
   105      - spec
   106      - bigqueryConfig
   107      - tableRef
   108      - namespace
   109      shortname: namespace
   110      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   111      type: string
   112      requirementlevel: Optional
   113      children: []
   114      additionalproperties: []
   115    additionalproperties: []
   116  - fullname:
   117    - spec
   118    - bigqueryConfig
   119    - useTopicSchema
   120    shortname: useTopicSchema
   121    description: When true, use the topic's schema as the columns to write to in BigQuery,
   122      if it exists.
   123    type: boolean
   124    requirementlevel: Optional
   125    children: []
   126    additionalproperties: []
   127  - fullname:
   128    - spec
   129    - bigqueryConfig
   130    - writeMetadata
   131    shortname: writeMetadata
   132    description: |-
   133      When true, write the subscription name, messageId, publishTime, attributes, and orderingKey to additional columns in the table.
   134      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.
   135    type: boolean
   136    requirementlevel: Optional
   137    children: []
   138    additionalproperties: []
   139  additionalproperties: []
   140- fullname:
   141  - spec
   142  - deadLetterPolicy
   143  shortname: deadLetterPolicy
   144  description: |-
   145    A policy that specifies the conditions for dead lettering messages in
   146    this subscription. If dead_letter_policy is not set, dead lettering
   147    is disabled.
   148
   149    The Cloud Pub/Sub service account associated with this subscription's
   150    parent project (i.e.,
   151    service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
   152    permission to Acknowledge() messages on this subscription.
   153  type: object
   154  requirementlevel: Optional
   155  children:
   156  - fullname:
   157    - spec
   158    - deadLetterPolicy
   159    - deadLetterTopicRef
   160    shortname: deadLetterTopicRef
   161    description: ""
   162    type: object
   163    requirementlevel: Optional
   164    children:
   165    - fullname:
   166      - spec
   167      - deadLetterPolicy
   168      - deadLetterTopicRef
   169      - external
   170      shortname: external
   171      description: 'Allowed value: string of the format `projects/{{project}}/topics/{{value}}`,
   172        where {{value}} is the `name` field of a `PubSubTopic` resource.'
   173      type: string
   174      requirementlevel: Optional
   175      children: []
   176      additionalproperties: []
   177    - fullname:
   178      - spec
   179      - deadLetterPolicy
   180      - deadLetterTopicRef
   181      - name
   182      shortname: name
   183      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   184      type: string
   185      requirementlevel: Optional
   186      children: []
   187      additionalproperties: []
   188    - fullname:
   189      - spec
   190      - deadLetterPolicy
   191      - deadLetterTopicRef
   192      - namespace
   193      shortname: namespace
   194      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   195      type: string
   196      requirementlevel: Optional
   197      children: []
   198      additionalproperties: []
   199    additionalproperties: []
   200  - fullname:
   201    - spec
   202    - deadLetterPolicy
   203    - maxDeliveryAttempts
   204    shortname: maxDeliveryAttempts
   205    description: |-
   206      The maximum number of delivery attempts for any message. The value must be
   207      between 5 and 100.
   208
   209      The number of delivery attempts is defined as 1 + (the sum of number of
   210      NACKs and number of times the acknowledgement deadline has been exceeded for the message).
   211
   212      A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that
   213      client libraries may automatically extend ack_deadlines.
   214
   215      This field will be honored on a best effort basis.
   216
   217      If this parameter is 0, a default value of 5 is used.
   218    type: integer
   219    requirementlevel: Optional
   220    children: []
   221    additionalproperties: []
   222  additionalproperties: []
   223- fullname:
   224  - spec
   225  - enableExactlyOnceDelivery
   226  shortname: enableExactlyOnceDelivery
   227  description: |-
   228    If 'true', Pub/Sub provides the following guarantees for the delivery
   229    of a message with a given value of messageId on this Subscriptions':
   230
   231    - The message sent to a subscriber is guaranteed not to be resent before the message's acknowledgement deadline expires.
   232
   233    - An acknowledged message will not be resent to a subscriber.
   234
   235    Note that subscribers may still receive multiple copies of a message when 'enable_exactly_once_delivery'
   236    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.
   237  type: boolean
   238  requirementlevel: Optional
   239  children: []
   240  additionalproperties: []
   241- fullname:
   242  - spec
   243  - enableMessageOrdering
   244  shortname: enableMessageOrdering
   245  description: |-
   246    Immutable. If 'true', messages published with the same orderingKey in PubsubMessage will be delivered to
   247    the subscribers in the order in which they are received by the Pub/Sub system. Otherwise, they
   248    may be delivered in any order.
   249  type: boolean
   250  requirementlevel: Optional
   251  children: []
   252  additionalproperties: []
   253- fullname:
   254  - spec
   255  - expirationPolicy
   256  shortname: expirationPolicy
   257  description: |-
   258    A policy that specifies the conditions for this subscription's expiration.
   259    A subscription is considered active as long as any connected subscriber
   260    is successfully consuming messages from the subscription or is issuing
   261    operations on the subscription. If expirationPolicy is not set, a default
   262    policy with ttl of 31 days will be used.  If it is set but ttl is "", the
   263    resource never expires.  The minimum allowed value for expirationPolicy.ttl
   264    is 1 day.
   265  type: object
   266  requirementlevel: Optional
   267  children:
   268  - fullname:
   269    - spec
   270    - expirationPolicy
   271    - ttl
   272    shortname: ttl
   273    description: |-
   274      Specifies the "time-to-live" duration for an associated resource. The
   275      resource expires if it is not active for a period of ttl.
   276      If ttl is set to "", the associated resource never expires.
   277      A duration in seconds with up to nine fractional digits, terminated by 's'.
   278      Example - "3.5s".
   279    type: string
   280    requirementlevel: RequiredWhenParentPresent
   281    children: []
   282    additionalproperties: []
   283  additionalproperties: []
   284- fullname:
   285  - spec
   286  - filter
   287  shortname: filter
   288  description: |-
   289    Immutable. The subscription only delivers the messages that match the filter.
   290    Pub/Sub automatically acknowledges the messages that don't match the filter. You can filter messages
   291    by their attributes. The maximum length of a filter is 256 bytes. After creating the subscription,
   292    you can't modify the filter.
   293  type: string
   294  requirementlevel: Optional
   295  children: []
   296  additionalproperties: []
   297- fullname:
   298  - spec
   299  - messageRetentionDuration
   300  shortname: messageRetentionDuration
   301  description: |-
   302    How long to retain unacknowledged messages in the subscription's
   303    backlog, from the moment a message is published. If
   304    retain_acked_messages is true, then this also configures the retention
   305    of acknowledged messages, and thus configures how far back in time a
   306    subscriptions.seek can be done. Defaults to 7 days. Cannot be more
   307    than 7 days ('"604800s"') or less than 10 minutes ('"600s"').
   308
   309    A duration in seconds with up to nine fractional digits, terminated
   310    by 's'. Example: '"600.5s"'.
   311  type: string
   312  requirementlevel: Optional
   313  children: []
   314  additionalproperties: []
   315- fullname:
   316  - spec
   317  - pushConfig
   318  shortname: pushConfig
   319  description: |-
   320    If push delivery is used with this subscription, this field is used to
   321    configure it. An empty pushConfig signifies that the subscriber will
   322    pull and ack messages using API methods.
   323  type: object
   324  requirementlevel: Optional
   325  children:
   326  - fullname:
   327    - spec
   328    - pushConfig
   329    - attributes
   330    shortname: attributes
   331    description: |-
   332      Endpoint configuration attributes.
   333
   334      Every endpoint has a set of API supported attributes that can
   335      be used to control different aspects of the message delivery.
   336
   337      The currently supported attribute is x-goog-version, which you
   338      can use to change the format of the pushed message. This
   339      attribute indicates the version of the data expected by
   340      the endpoint. This controls the shape of the pushed message
   341      (i.e., its fields and metadata). The endpoint version is
   342      based on the version of the Pub/Sub API.
   343
   344      If not present during the subscriptions.create call,
   345      it will default to the version of the API used to make
   346      such call. If not present during a subscriptions.modifyPushConfig
   347      call, its value will not be changed. subscriptions.get
   348      calls will always return a valid version, even if the
   349      subscription was created without this attribute.
   350
   351      The possible values for this attribute are:
   352
   353      - v1beta1: uses the push format defined in the v1beta1 Pub/Sub API.
   354      - v1 or v1beta2: uses the push format defined in the v1 Pub/Sub API.
   355    type: 'map (key: string, value: string)'
   356    requirementlevel: Optional
   357    children: []
   358    additionalproperties: []
   359  - fullname:
   360    - spec
   361    - pushConfig
   362    - oidcToken
   363    shortname: oidcToken
   364    description: |-
   365      If specified, Pub/Sub will generate and attach an OIDC JWT token as
   366      an Authorization header in the HTTP request for every pushed message.
   367    type: object
   368    requirementlevel: Optional
   369    children:
   370    - fullname:
   371      - spec
   372      - pushConfig
   373      - oidcToken
   374      - audience
   375      shortname: audience
   376      description: |-
   377        Audience to be used when generating OIDC token. The audience claim
   378        identifies the recipients that the JWT is intended for. The audience
   379        value is a single case-sensitive string. Having multiple values (array)
   380        for the audience field is not supported. More info about the OIDC JWT
   381        token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3
   382        Note: if not specified, the Push endpoint URL will be used.
   383      type: string
   384      requirementlevel: Optional
   385      children: []
   386      additionalproperties: []
   387    - fullname:
   388      - spec
   389      - pushConfig
   390      - oidcToken
   391      - serviceAccountEmail
   392      shortname: serviceAccountEmail
   393      description: |-
   394        Service account email to be used for generating the OIDC token.
   395        The caller (for subscriptions.create, subscriptions.patch, and
   396        subscriptions.modifyPushConfig RPCs) must have the
   397        iam.serviceAccounts.actAs permission for the service account.
   398      type: string
   399      requirementlevel: RequiredWhenParentPresent
   400      children: []
   401      additionalproperties: []
   402    additionalproperties: []
   403  - fullname:
   404    - spec
   405    - pushConfig
   406    - pushEndpoint
   407    shortname: pushEndpoint
   408    description: |-
   409      A URL locating the endpoint to which messages should be pushed.
   410      For example, a Webhook endpoint might use
   411      "https://example.com/push".
   412    type: string
   413    requirementlevel: RequiredWhenParentPresent
   414    children: []
   415    additionalproperties: []
   416  additionalproperties: []
   417- fullname:
   418  - spec
   419  - resourceID
   420  shortname: resourceID
   421  description: Immutable. Optional. The name of the resource. Used for creation and
   422    acquisition. When unset, the value of `metadata.name` is used as the default.
   423  type: string
   424  requirementlevel: Optional
   425  children: []
   426  additionalproperties: []
   427- fullname:
   428  - spec
   429  - retainAckedMessages
   430  shortname: retainAckedMessages
   431  description: |-
   432    Indicates whether to retain acknowledged messages. If 'true', then
   433    messages are not expunged from the subscription's backlog, even if
   434    they are acknowledged, until they fall out of the
   435    messageRetentionDuration window.
   436  type: boolean
   437  requirementlevel: Optional
   438  children: []
   439  additionalproperties: []
   440- fullname:
   441  - spec
   442  - retryPolicy
   443  shortname: retryPolicy
   444  description: |-
   445    A policy that specifies how Pub/Sub retries message delivery for this subscription.
   446
   447    If not set, the default retry policy is applied. This generally implies that messages will be retried as soon as possible for healthy subscribers.
   448    RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message.
   449  type: object
   450  requirementlevel: Optional
   451  children:
   452  - fullname:
   453    - spec
   454    - retryPolicy
   455    - maximumBackoff
   456    shortname: maximumBackoff
   457    description: |-
   458      The maximum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 600 seconds.
   459      A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
   460    type: string
   461    requirementlevel: Optional
   462    children: []
   463    additionalproperties: []
   464  - fullname:
   465    - spec
   466    - retryPolicy
   467    - minimumBackoff
   468    shortname: minimumBackoff
   469    description: |-
   470      The minimum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 10 seconds.
   471      A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
   472    type: string
   473    requirementlevel: Optional
   474    children: []
   475    additionalproperties: []
   476  additionalproperties: []
   477- fullname:
   478  - spec
   479  - topicRef
   480  shortname: topicRef
   481  description: Reference to a PubSubTopic.
   482  type: object
   483  requirementlevel: Required
   484  children:
   485  - fullname:
   486    - spec
   487    - topicRef
   488    - external
   489    shortname: external
   490    description: 'Allowed value: string of the format `projects/{{project}}/topics/{{value}}`,
   491      where {{value}} is the `name` field of a `PubSubTopic` resource.'
   492    type: string
   493    requirementlevel: Optional
   494    children: []
   495    additionalproperties: []
   496  - fullname:
   497    - spec
   498    - topicRef
   499    - name
   500    shortname: name
   501    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   502    type: string
   503    requirementlevel: Optional
   504    children: []
   505    additionalproperties: []
   506  - fullname:
   507    - spec
   508    - topicRef
   509    - namespace
   510    shortname: namespace
   511    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   512    type: string
   513    requirementlevel: Optional
   514    children: []
   515    additionalproperties: []
   516  additionalproperties: []
   517additionalproperties: []

View as plain text