...
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: alpha
24 cnrm.cloud.google.com/system: "true"
25 cnrm.cloud.google.com/tf2crd: "true"
26 name: cloudassetprojectfeeds.cloudasset.cnrm.cloud.google.com
27spec:
28 group: cloudasset.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: CloudAssetProjectFeed
33 plural: cloudassetprojectfeeds
34 shortNames:
35 - gcpcloudassetprojectfeed
36 - gcpcloudassetprojectfeeds
37 singular: cloudassetprojectfeed
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: v1alpha1
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 assetNames:
75 description: |-
76 A list of the full names of the assets to receive updates. You must specify either or both of
77 assetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are
78 exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.
79 See https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.
80 items:
81 type: string
82 type: array
83 assetTypes:
84 description: |-
85 A list of types of the assets to receive updates. You must specify either or both of assetNames
86 and assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to
87 the feed. For example: "compute.googleapis.com/Disk"
88 See https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all
89 supported asset types.
90 items:
91 type: string
92 type: array
93 billingProject:
94 description: |-
95 Immutable. The project whose identity will be used when sending messages to the
96 destination pubsub topic. It also specifies the project for API
97 enablement check, quota, and billing. If not specified, the resource's
98 project will be used.
99 type: string
100 condition:
101 description: |-
102 A condition which determines whether an asset update should be published. If specified, an asset
103 will be returned only when the expression evaluates to true. When set, expression field
104 must be a valid CEL expression on a TemporalAsset with name temporal_asset. Example: a Feed with
105 expression "temporal_asset.deleted == true" will only publish Asset deletions. Other fields of
106 condition are optional.
107 properties:
108 description:
109 description: |-
110 Description of the expression. This is a longer text which describes the expression,
111 e.g. when hovered over it in a UI.
112 type: string
113 expression:
114 description: Textual representation of an expression in Common
115 Expression Language syntax.
116 type: string
117 location:
118 description: |-
119 String indicating the location of the expression for error reporting, e.g. a file
120 name and a position in the file.
121 type: string
122 title:
123 description: |-
124 Title for the expression, i.e. a short string describing its purpose.
125 This can be used e.g. in UIs which allow to enter the expression.
126 type: string
127 required:
128 - expression
129 type: object
130 contentType:
131 description: 'Asset content type. If not specified, no content but
132 the asset name and type will be returned. Possible values: ["CONTENT_TYPE_UNSPECIFIED",
133 "RESOURCE", "IAM_POLICY", "ORG_POLICY", "OS_INVENTORY", "ACCESS_POLICY"].'
134 type: string
135 feedId:
136 description: Immutable. This is the client-assigned asset feed identifier
137 and it needs to be unique under a specific parent.
138 type: string
139 feedOutputConfig:
140 description: Output configuration for asset feed destination.
141 properties:
142 pubsubDestination:
143 description: Destination on Cloud Pubsub.
144 properties:
145 topic:
146 description: Destination on Cloud Pubsub topic.
147 type: string
148 required:
149 - topic
150 type: object
151 required:
152 - pubsubDestination
153 type: object
154 projectRef:
155 description: The project that this resource belongs to.
156 oneOf:
157 - not:
158 required:
159 - external
160 required:
161 - name
162 - not:
163 anyOf:
164 - required:
165 - name
166 - required:
167 - namespace
168 required:
169 - external
170 properties:
171 external:
172 description: 'Allowed value: The `name` field of a `Project` resource.'
173 type: string
174 name:
175 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
176 type: string
177 namespace:
178 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
179 type: string
180 type: object
181 resourceID:
182 description: Immutable. Optional. The service-generated name of the
183 resource. Used for acquisition only. Leave unset to create a new
184 resource.
185 type: string
186 required:
187 - feedId
188 - feedOutputConfig
189 - projectRef
190 type: object
191 status:
192 properties:
193 conditions:
194 description: Conditions represent the latest available observation
195 of the resource's current state.
196 items:
197 properties:
198 lastTransitionTime:
199 description: Last time the condition transitioned from one status
200 to another.
201 type: string
202 message:
203 description: Human-readable message indicating details about
204 last transition.
205 type: string
206 reason:
207 description: Unique, one-word, CamelCase reason for the condition's
208 last transition.
209 type: string
210 status:
211 description: Status is the status of the condition. Can be True,
212 False, Unknown.
213 type: string
214 type:
215 description: Type is the type of the condition.
216 type: string
217 type: object
218 type: array
219 name:
220 description: The format will be projects/{projectNumber}/feeds/{client-assigned_feed_identifier}.
221 type: string
222 observedGeneration:
223 description: ObservedGeneration is the generation of the resource
224 that was most recently observed by the Config Connector controller.
225 If this is equal to metadata.generation, then that means that the
226 current reported status reflects the most recent desired state of
227 the resource.
228 type: integer
229 type: object
230 required:
231 - spec
232 type: object
233 served: true
234 storage: true
235 subresources:
236 status: {}
237status:
238 acceptedNames:
239 kind: ""
240 plural: ""
241 conditions: []
242 storedVersions: []
View as plain text