...
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: pubsubtopics.pubsub.cnrm.cloud.google.com
27spec:
28 group: pubsub.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: PubSubTopic
33 plural: pubsubtopics
34 shortNames:
35 - gcppubsubtopic
36 - gcppubsubtopics
37 singular: pubsubtopic
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 kmsKeyRef:
75 description: |-
76 The KMSCryptoKey to be used to protect access to messages published
77 on this topic. Your project's Pub/Sub service account
78 ('service-{{PROJECT_NUMBER}}@gcp-sa-pubsub.iam.gserviceaccount.com')
79 must have 'roles/cloudkms.cryptoKeyEncrypterDecrypter' to use this
80 feature.
81 oneOf:
82 - not:
83 required:
84 - external
85 required:
86 - name
87 - not:
88 anyOf:
89 - required:
90 - name
91 - required:
92 - namespace
93 required:
94 - external
95 properties:
96 external:
97 description: 'Allowed value: The `selfLink` field of a `KMSCryptoKey`
98 resource.'
99 type: string
100 name:
101 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
102 type: string
103 namespace:
104 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
105 type: string
106 type: object
107 messageRetentionDuration:
108 description: |-
109 Indicates the minimum duration to retain a message after it is published
110 to the topic. If this field is set, messages published to the topic in
111 the last messageRetentionDuration are always available to subscribers.
112 For instance, it allows any attached subscription to seek to a timestamp
113 that is up to messageRetentionDuration in the past. If this field is not
114 set, message retention is controlled by settings on individual subscriptions.
115 Cannot be more than 31 days or less than 10 minutes.
116 type: string
117 messageStoragePolicy:
118 description: |-
119 Policy constraining the set of Google Cloud Platform regions where
120 messages published to the topic may be stored. If not present, then no
121 constraints are in effect.
122 properties:
123 allowedPersistenceRegions:
124 description: |-
125 A list of IDs of GCP regions where messages that are published to
126 the topic may be persisted in storage. Messages published by
127 publishers running in non-allowed GCP regions (or running outside
128 of GCP altogether) will be routed for storage in one of the
129 allowed regions. An empty list means that no regions are allowed,
130 and is not a valid configuration.
131 items:
132 type: string
133 type: array
134 required:
135 - allowedPersistenceRegions
136 type: object
137 resourceID:
138 description: Immutable. Optional. The name of the resource. Used for
139 creation and acquisition. When unset, the value of `metadata.name`
140 is used as the default.
141 type: string
142 schemaSettings:
143 description: Settings for validating messages published against a
144 schema.
145 properties:
146 encoding:
147 description: 'The encoding of messages validated against schema.
148 Default value: "ENCODING_UNSPECIFIED" Possible values: ["ENCODING_UNSPECIFIED",
149 "JSON", "BINARY"].'
150 type: string
151 schemaRef:
152 oneOf:
153 - not:
154 required:
155 - external
156 required:
157 - name
158 - not:
159 anyOf:
160 - required:
161 - name
162 - required:
163 - namespace
164 required:
165 - external
166 properties:
167 external:
168 description: 'Allowed value: string of the format `projects/{{project}}/schemas/{{value}}`,
169 where {{value}} is the `name` field of a `PubSubSchema`
170 resource.'
171 type: string
172 name:
173 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
174 type: string
175 namespace:
176 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
177 type: string
178 type: object
179 required:
180 - schemaRef
181 type: object
182 type: object
183 status:
184 properties:
185 conditions:
186 description: Conditions represent the latest available observation
187 of the resource's current state.
188 items:
189 properties:
190 lastTransitionTime:
191 description: Last time the condition transitioned from one status
192 to another.
193 type: string
194 message:
195 description: Human-readable message indicating details about
196 last transition.
197 type: string
198 reason:
199 description: Unique, one-word, CamelCase reason for the condition's
200 last transition.
201 type: string
202 status:
203 description: Status is the status of the condition. Can be True,
204 False, Unknown.
205 type: string
206 type:
207 description: Type is the type of the condition.
208 type: string
209 type: object
210 type: array
211 observedGeneration:
212 description: ObservedGeneration is the generation of the resource
213 that was most recently observed by the Config Connector controller.
214 If this is equal to metadata.generation, then that means that the
215 current reported status reflects the most recent desired state of
216 the resource.
217 type: integer
218 type: object
219 type: object
220 served: true
221 storage: true
222 subresources:
223 status: {}
224status:
225 acceptedNames:
226 kind: ""
227 plural: ""
228 conditions: []
229 storedVersions: []
View as plain text