...
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: healthcarefhirstores.healthcare.cnrm.cloud.google.com
27spec:
28 group: healthcare.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: HealthcareFHIRStore
33 plural: healthcarefhirstores
34 shortNames:
35 - gcphealthcarefhirstore
36 - gcphealthcarefhirstores
37 singular: healthcarefhirstore
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 dataset:
75 description: |-
76 Immutable. Identifies the dataset addressed by this request. Must be in the format
77 'projects/{project}/locations/{location}/datasets/{dataset}'.
78 type: string
79 disableReferentialIntegrity:
80 description: |-
81 Immutable. Whether to disable referential integrity in this FHIR store. This field is immutable after FHIR store
82 creation. The default value is false, meaning that the API will enforce referential integrity and fail the
83 requests that will result in inconsistent state in the FHIR store. When this field is set to true, the API
84 will skip referential integrity check. Consequently, operations that rely on references, such as
85 Patient.get$everything, will not return all the results if broken references exist.
86
87 ** Changing this property may recreate the FHIR store (removing all data) **.
88 type: boolean
89 disableResourceVersioning:
90 description: |-
91 Immutable. Whether to disable resource versioning for this FHIR store. This field can not be changed after the creation
92 of FHIR store. If set to false, which is the default behavior, all write operations will cause historical
93 versions to be recorded automatically. The historical versions can be fetched through the history APIs, but
94 cannot be updated. If set to true, no historical versions will be kept. The server will send back errors for
95 attempts to read the historical versions.
96
97 ** Changing this property may recreate the FHIR store (removing all data) **.
98 type: boolean
99 enableHistoryImport:
100 description: |-
101 Immutable. Whether to allow the bulk import API to accept history bundles and directly insert historical resource
102 versions into the FHIR store. Importing resource histories creates resource interactions that appear to have
103 occurred in the past, which clients may not want to allow. If set to false, history bundles within an import
104 will fail with an error.
105
106 ** Changing this property may recreate the FHIR store (removing all data) **
107
108 ** This property can be changed manually in the Google Cloud Healthcare admin console without recreating the FHIR store **.
109 type: boolean
110 enableUpdateCreate:
111 description: |-
112 Whether this FHIR store has the updateCreate capability. This determines if the client can use an Update
113 operation to create a new resource with a client-specified ID. If false, all IDs are server-assigned through
114 the Create operation and attempts to Update a non-existent resource will return errors. Please treat the audit
115 logs with appropriate levels of care if client-specified resource IDs contain sensitive data such as patient
116 identifiers, those IDs will be part of the FHIR resource path recorded in Cloud audit logs and Cloud Pub/Sub
117 notifications.
118 type: boolean
119 notificationConfig:
120 description: A nested object resource.
121 properties:
122 pubsubTopic:
123 description: |-
124 The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.
125 PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
126 It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
127 was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
128 project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
129 Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
130 type: string
131 required:
132 - pubsubTopic
133 type: object
134 notificationConfigs:
135 description: A list of notifcation configs that configure the notification
136 for every resource mutation in this FHIR store.
137 items:
138 properties:
139 pubsubTopic:
140 description: |-
141 The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.
142 PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
143 It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
144 was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
145 project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
146 Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
147 type: string
148 sendFullResource:
149 description: |-
150 Whether to send full FHIR resource to this Pub/Sub topic for Create and Update operation.
151 Note that setting this to true does not guarantee that all resources will be sent in the format of
152 full FHIR resource. When a resource change is too large or during heavy traffic, only the resource name will be
153 sent. Clients should always check the "payloadType" label from a Pub/Sub message to determine whether
154 it needs to fetch the full resource as a separate operation.
155 type: boolean
156 required:
157 - pubsubTopic
158 type: object
159 type: array
160 resourceID:
161 description: Immutable. Optional. The name of the resource. Used for
162 creation and acquisition. When unset, the value of `metadata.name`
163 is used as the default.
164 type: string
165 streamConfigs:
166 description: |-
167 A list of streaming configs that configure the destinations of streaming export for every resource mutation in
168 this FHIR store. Each store is allowed to have up to 10 streaming configs. After a new config is added, the next
169 resource mutation is streamed to the new location in addition to the existing ones. When a location is removed
170 from the list, the server stops streaming to that location. Before adding a new config, you must add the required
171 bigquery.dataEditor role to your project's Cloud Healthcare Service Agent service account. Some lag (typically on
172 the order of dozens of seconds) is expected before the results show up in the streaming destination.
173 items:
174 properties:
175 bigqueryDestination:
176 description: |-
177 The destination BigQuery structure that contains both the dataset location and corresponding schema config.
178 The output is organized in one table per resource type. The server reuses the existing tables (if any) that
179 are named after the resource types, e.g. "Patient", "Observation". When there is no existing table for a given
180 resource type, the server attempts to create one.
181 See the [streaming config reference](https://cloud.google.com/healthcare/docs/reference/rest/v1beta1/projects.locations.datasets.fhirStores#streamconfig) for more details.
182 properties:
183 datasetUri:
184 description: BigQuery URI to a dataset, up to 2000 characters
185 long, in the format bq://projectId.bqDatasetId.
186 type: string
187 schemaConfig:
188 description: The configuration for the exported BigQuery
189 schema.
190 properties:
191 recursiveStructureDepth:
192 description: |-
193 The depth for all recursive structures in the output analytics schema. For example, concept in the CodeSystem
194 resource is a recursive structure; when the depth is 2, the CodeSystem table will have a column called
195 concept.concept but not concept.concept.concept. If not specified or set to 0, the server will use the default
196 value 2. The maximum depth allowed is 5.
197 type: integer
198 schemaType:
199 description: |-
200 Specifies the output schema type.
201 * ANALYTICS: Analytics schema defined by the FHIR community.
202 See https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md.
203 * ANALYTICS_V2: Analytics V2, similar to schema defined by the FHIR community, with added support for extensions with one or more occurrences and contained resources in stringified JSON.
204 * LOSSLESS: A data-driven schema generated from the fields present in the FHIR data being exported, with no additional simplification. Default value: "ANALYTICS" Possible values: ["ANALYTICS", "ANALYTICS_V2", "LOSSLESS"].
205 type: string
206 required:
207 - recursiveStructureDepth
208 type: object
209 required:
210 - datasetUri
211 - schemaConfig
212 type: object
213 resourceTypes:
214 description: |-
215 Supply a FHIR resource type (such as "Patient" or "Observation"). See
216 https://www.hl7.org/fhir/valueset-resource-types.html for a list of all FHIR resource types. The server treats
217 an empty list as an intent to stream all the supported resource types in this FHIR store.
218 items:
219 type: string
220 type: array
221 required:
222 - bigqueryDestination
223 type: object
224 type: array
225 version:
226 description: 'Immutable. The FHIR specification version. Default value:
227 "STU3" Possible values: ["DSTU2", "STU3", "R4"].'
228 type: string
229 required:
230 - dataset
231 type: object
232 status:
233 properties:
234 conditions:
235 description: Conditions represent the latest available observation
236 of the resource's current state.
237 items:
238 properties:
239 lastTransitionTime:
240 description: Last time the condition transitioned from one status
241 to another.
242 type: string
243 message:
244 description: Human-readable message indicating details about
245 last transition.
246 type: string
247 reason:
248 description: Unique, one-word, CamelCase reason for the condition's
249 last transition.
250 type: string
251 status:
252 description: Status is the status of the condition. Can be True,
253 False, Unknown.
254 type: string
255 type:
256 description: Type is the type of the condition.
257 type: string
258 type: object
259 type: array
260 observedGeneration:
261 description: ObservedGeneration is the generation of the resource
262 that was most recently observed by the Config Connector controller.
263 If this is equal to metadata.generation, then that means that the
264 current reported status reflects the most recent desired state of
265 the resource.
266 type: integer
267 selfLink:
268 description: The fully qualified name of this dataset.
269 type: string
270 type: object
271 required:
272 - spec
273 type: object
274 served: true
275 storage: true
276 subresources:
277 status: {}
278status:
279 acceptedNames:
280 kind: ""
281 plural: ""
282 conditions: []
283 storedVersions: []
View as plain text