google-cloud-assured_workloads-v1beta1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +75 -0
  6. data/lib/google-cloud-assured_workloads-v1beta1.rb +21 -0
  7. data/lib/google/cloud/assured_workloads/v1beta1.rb +35 -0
  8. data/lib/google/cloud/assured_workloads/v1beta1/assured_workloads_service.rb +50 -0
  9. data/lib/google/cloud/assured_workloads/v1beta1/assured_workloads_service/client.rb +740 -0
  10. data/lib/google/cloud/assured_workloads/v1beta1/assured_workloads_service/credentials.rb +51 -0
  11. data/lib/google/cloud/assured_workloads/v1beta1/assured_workloads_service/operations.rb +570 -0
  12. data/lib/google/cloud/assured_workloads/v1beta1/assured_workloads_service/paths.rb +69 -0
  13. data/lib/google/cloud/assured_workloads/v1beta1/version.rb +28 -0
  14. data/lib/google/cloud/assuredworkloads/v1beta1/assuredworkloads_v1beta1_pb.rb +123 -0
  15. data/lib/google/cloud/assuredworkloads/v1beta1/assuredworkloads_v1beta1_services_pb.rb +58 -0
  16. data/proto_docs/README.md +4 -0
  17. data/proto_docs/google/api/field_behavior.rb +59 -0
  18. data/proto_docs/google/api/resource.rb +283 -0
  19. data/proto_docs/google/cloud/assuredworkloads/v1beta1/assuredworkloads_v1beta1.rb +307 -0
  20. data/proto_docs/google/longrunning/operations.rb +150 -0
  21. data/proto_docs/google/protobuf/any.rb +138 -0
  22. data/proto_docs/google/protobuf/duration.rb +98 -0
  23. data/proto_docs/google/protobuf/empty.rb +36 -0
  24. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  25. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  26. data/proto_docs/google/rpc/status.rb +46 -0
  27. metadata +208 -0
@@ -0,0 +1,307 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module AssuredWorkloads
23
+ module V1beta1
24
+ # Request for creating a workload.
25
+ # @!attribute [rw] parent
26
+ # @return [::String]
27
+ # Required. The resource name of the new Workload's parent.
28
+ # Must be of the form `organizations/{org_id}/locations/{location_id}`.
29
+ # @!attribute [rw] workload
30
+ # @return [::Google::Cloud::AssuredWorkloads::V1beta1::Workload]
31
+ # Required. Assured Workload to create
32
+ # @!attribute [rw] external_id
33
+ # @return [::String]
34
+ # Optional. A identifier associated with the workload and underlying projects which
35
+ # allows for the break down of billing costs for a workload. The value
36
+ # provided for the identifier will add a label to the workload and contained
37
+ # projects with the identifier as the value.
38
+ class CreateWorkloadRequest
39
+ include ::Google::Protobuf::MessageExts
40
+ extend ::Google::Protobuf::MessageExts::ClassMethods
41
+ end
42
+
43
+ # Request for Updating a workload.
44
+ # @!attribute [rw] workload
45
+ # @return [::Google::Cloud::AssuredWorkloads::V1beta1::Workload]
46
+ # Required. The workload to update.
47
+ # The workload’s `name` field is used to identify the workload to be updated.
48
+ # Format:
49
+ # organizations/\\{org_id}/locations/\\{location_id}/workloads/\\{workload_id}
50
+ # @!attribute [rw] update_mask
51
+ # @return [::Google::Protobuf::FieldMask]
52
+ # Required. The list of fields to be updated.
53
+ class UpdateWorkloadRequest
54
+ include ::Google::Protobuf::MessageExts
55
+ extend ::Google::Protobuf::MessageExts::ClassMethods
56
+ end
57
+
58
+ # Request for deleting a Workload.
59
+ # @!attribute [rw] name
60
+ # @return [::String]
61
+ # Required. The `name` field is used to identify the workload.
62
+ # Format:
63
+ # organizations/\\{org_id}/locations/\\{location_id}/workloads/\\{workload_id}
64
+ # @!attribute [rw] etag
65
+ # @return [::String]
66
+ # Optional. The etag of the workload.
67
+ # If this is provided, it must match the server's etag.
68
+ class DeleteWorkloadRequest
69
+ include ::Google::Protobuf::MessageExts
70
+ extend ::Google::Protobuf::MessageExts::ClassMethods
71
+ end
72
+
73
+ # Request for fetching a workload.
74
+ # @!attribute [rw] name
75
+ # @return [::String]
76
+ # Required. The resource name of the Workload to fetch. This is the workloads's
77
+ # relative path in the API, formatted as
78
+ # "organizations/\\{organization_id}/locations/\\{location_id}/workloads/\\{workload_id}".
79
+ # For example,
80
+ # "organizations/123/locations/us-east1/workloads/assured-workload-1".
81
+ class GetWorkloadRequest
82
+ include ::Google::Protobuf::MessageExts
83
+ extend ::Google::Protobuf::MessageExts::ClassMethods
84
+ end
85
+
86
+ # Request for fetching workloads in an organization.
87
+ # @!attribute [rw] parent
88
+ # @return [::String]
89
+ # Required. Parent Resource to list workloads from.
90
+ # Must be of the form `organizations/{org_id}/locations/{location}`.
91
+ # @!attribute [rw] page_size
92
+ # @return [::Integer]
93
+ # Page size.
94
+ # @!attribute [rw] page_token
95
+ # @return [::String]
96
+ # Page token returned from previous request. Page token contains context from
97
+ # previous request. Page token needs to be passed in the second and following
98
+ # requests.
99
+ # @!attribute [rw] filter
100
+ # @return [::String]
101
+ # A custom filter for filtering by properties of a workload. At this time,
102
+ # only filtering by labels is supported.
103
+ class ListWorkloadsRequest
104
+ include ::Google::Protobuf::MessageExts
105
+ extend ::Google::Protobuf::MessageExts::ClassMethods
106
+ end
107
+
108
+ # Response of ListWorkloads endpoint.
109
+ # @!attribute [rw] workloads
110
+ # @return [::Array<::Google::Cloud::AssuredWorkloads::V1beta1::Workload>]
111
+ # List of Workloads under a given parent.
112
+ # @!attribute [rw] next_page_token
113
+ # @return [::String]
114
+ # The next page token. Return empty if reached the last page.
115
+ class ListWorkloadsResponse
116
+ include ::Google::Protobuf::MessageExts
117
+ extend ::Google::Protobuf::MessageExts::ClassMethods
118
+ end
119
+
120
+ # An Workload object for managing highly regulated workloads of cloud
121
+ # customers.
122
+ # @!attribute [rw] name
123
+ # @return [::String]
124
+ # Optional. The resource name of the workload.
125
+ # Format:
126
+ # organizations/\\{organization}/locations/\\{location}/workloads/\\{workload}
127
+ #
128
+ # Read-only.
129
+ # @!attribute [rw] display_name
130
+ # @return [::String]
131
+ # Required. The user-assigned display name of the Workload.
132
+ # When present it must be between 4 to 30 characters.
133
+ # Allowed characters are: lowercase and uppercase letters, numbers,
134
+ # hyphen, single-quote, double-quote, space, and exclamation point.
135
+ #
136
+ # Example: My Workload
137
+ # @!attribute [r] resources
138
+ # @return [::Array<::Google::Cloud::AssuredWorkloads::V1beta1::Workload::ResourceInfo>]
139
+ # Output only. The resources associated with this workload.
140
+ # These resources will be created when creating the workload.
141
+ # If any of the projects already exist, the workload creation will fail.
142
+ # Always read only.
143
+ # @!attribute [rw] compliance_regime
144
+ # @return [::Google::Cloud::AssuredWorkloads::V1beta1::Workload::ComplianceRegime]
145
+ # Required. Immutable. Compliance Regime associated with this workload.
146
+ # @!attribute [r] create_time
147
+ # @return [::Google::Protobuf::Timestamp]
148
+ # Output only. Immutable. The Workload creation timestamp.
149
+ # @!attribute [rw] billing_account
150
+ # @return [::String]
151
+ # Required. Input only. The billing account used for the resources which are
152
+ # direct children of workload. This billing account is initially associated
153
+ # with the resources created as part of Workload creation.
154
+ # After the initial creation of these resources, the customer can change
155
+ # the assigned billing account.
156
+ # The resource name has the form
157
+ # `billingAccounts/{billing_account_id}`. For example,
158
+ # `billingAccounts/012345-567890-ABCDEF`.
159
+ # @!attribute [rw] il4_settings
160
+ # @return [::Google::Cloud::AssuredWorkloads::V1beta1::Workload::IL4Settings]
161
+ # Required. Input only. Immutable. Settings specific to resources needed for IL4.
162
+ # @!attribute [rw] cjis_settings
163
+ # @return [::Google::Cloud::AssuredWorkloads::V1beta1::Workload::CJISSettings]
164
+ # Required. Input only. Immutable. Settings specific to resources needed for CJIS.
165
+ # @!attribute [rw] fedramp_high_settings
166
+ # @return [::Google::Cloud::AssuredWorkloads::V1beta1::Workload::FedrampHighSettings]
167
+ # Required. Input only. Immutable. Settings specific to resources needed for FedRAMP High.
168
+ # @!attribute [rw] fedramp_moderate_settings
169
+ # @return [::Google::Cloud::AssuredWorkloads::V1beta1::Workload::FedrampModerateSettings]
170
+ # Required. Input only. Immutable. Settings specific to resources needed for FedRAMP Moderate.
171
+ # @!attribute [rw] etag
172
+ # @return [::String]
173
+ # Optional. ETag of the workload, it is calculated on the basis
174
+ # of the Workload contents. It will be used in Update & Delete operations.
175
+ # @!attribute [rw] labels
176
+ # @return [::Google::Protobuf::Map{::String => ::String}]
177
+ # Optional. Labels applied to the workload.
178
+ class Workload
179
+ include ::Google::Protobuf::MessageExts
180
+ extend ::Google::Protobuf::MessageExts::ClassMethods
181
+
182
+ # Represent the resources that are children of this Workload.
183
+ # @!attribute [rw] resource_id
184
+ # @return [::Integer]
185
+ # Resource identifier.
186
+ # For a project this represents project_number.
187
+ # @!attribute [rw] resource_type
188
+ # @return [::Google::Cloud::AssuredWorkloads::V1beta1::Workload::ResourceInfo::ResourceType]
189
+ # Indicates the type of resource.
190
+ class ResourceInfo
191
+ include ::Google::Protobuf::MessageExts
192
+ extend ::Google::Protobuf::MessageExts::ClassMethods
193
+
194
+ # The type of resource.
195
+ module ResourceType
196
+ # Unknown resource type.
197
+ RESOURCE_TYPE_UNSPECIFIED = 0
198
+
199
+ # Consumer project.
200
+ CONSUMER_PROJECT = 1
201
+
202
+ # Consumer project containing encryption keys.
203
+ ENCRYPTION_KEYS_PROJECT = 2
204
+ end
205
+ end
206
+
207
+ # Settings specific to the Key Management Service.
208
+ # @!attribute [rw] next_rotation_time
209
+ # @return [::Google::Protobuf::Timestamp]
210
+ # Required. Input only. Immutable. The time at which the Key Management Service will automatically create a
211
+ # new version of the crypto key and mark it as the primary.
212
+ # @!attribute [rw] rotation_period
213
+ # @return [::Google::Protobuf::Duration]
214
+ # Required. Input only. Immutable. [next_rotation_time] will be advanced by this period when the Key
215
+ # Management Service automatically rotates a key. Must be at least 24 hours
216
+ # and at most 876,000 hours.
217
+ class KMSSettings
218
+ include ::Google::Protobuf::MessageExts
219
+ extend ::Google::Protobuf::MessageExts::ClassMethods
220
+ end
221
+
222
+ # Settings specific to resources needed for IL4.
223
+ # @!attribute [rw] kms_settings
224
+ # @return [::Google::Cloud::AssuredWorkloads::V1beta1::Workload::KMSSettings]
225
+ # Required. Input only. Immutable. Settings used to create a CMEK crypto key.
226
+ class IL4Settings
227
+ include ::Google::Protobuf::MessageExts
228
+ extend ::Google::Protobuf::MessageExts::ClassMethods
229
+ end
230
+
231
+ # Settings specific to resources needed for CJIS.
232
+ # @!attribute [rw] kms_settings
233
+ # @return [::Google::Cloud::AssuredWorkloads::V1beta1::Workload::KMSSettings]
234
+ # Required. Input only. Immutable. Settings used to create a CMEK crypto key.
235
+ class CJISSettings
236
+ include ::Google::Protobuf::MessageExts
237
+ extend ::Google::Protobuf::MessageExts::ClassMethods
238
+ end
239
+
240
+ # Settings specific to resources needed for FedRAMP High.
241
+ # @!attribute [rw] kms_settings
242
+ # @return [::Google::Cloud::AssuredWorkloads::V1beta1::Workload::KMSSettings]
243
+ # Required. Input only. Immutable. Settings used to create a CMEK crypto key.
244
+ class FedrampHighSettings
245
+ include ::Google::Protobuf::MessageExts
246
+ extend ::Google::Protobuf::MessageExts::ClassMethods
247
+ end
248
+
249
+ # Settings specific to resources needed for FedRAMP Moderate.
250
+ # @!attribute [rw] kms_settings
251
+ # @return [::Google::Cloud::AssuredWorkloads::V1beta1::Workload::KMSSettings]
252
+ # Required. Input only. Immutable. Settings used to create a CMEK crypto key.
253
+ class FedrampModerateSettings
254
+ include ::Google::Protobuf::MessageExts
255
+ extend ::Google::Protobuf::MessageExts::ClassMethods
256
+ end
257
+
258
+ # @!attribute [rw] key
259
+ # @return [::String]
260
+ # @!attribute [rw] value
261
+ # @return [::String]
262
+ class LabelsEntry
263
+ include ::Google::Protobuf::MessageExts
264
+ extend ::Google::Protobuf::MessageExts::ClassMethods
265
+ end
266
+
267
+ # Supported Compliance Regimes.
268
+ module ComplianceRegime
269
+ # Unknown compliance regime.
270
+ COMPLIANCE_REGIME_UNSPECIFIED = 0
271
+
272
+ # Information protection as per DoD IL4 requirements.
273
+ IL4 = 1
274
+
275
+ # Criminal Justice Information Services (CJIS) Security policies.
276
+ CJIS = 2
277
+
278
+ # FedRAMP High data protection controls
279
+ FEDRAMP_HIGH = 3
280
+
281
+ # FedRAMP Moderate data protection controls
282
+ FEDRAMP_MODERATE = 4
283
+ end
284
+ end
285
+
286
+ # Operation metadata to give request details of CreateWorkload.
287
+ # @!attribute [rw] create_time
288
+ # @return [::Google::Protobuf::Timestamp]
289
+ # Optional. Time when the operation was created.
290
+ # @!attribute [rw] display_name
291
+ # @return [::String]
292
+ # Optional. The display name of the workload.
293
+ # @!attribute [rw] parent
294
+ # @return [::String]
295
+ # Optional. The parent of the workload.
296
+ # @!attribute [rw] compliance_regime
297
+ # @return [::Google::Cloud::AssuredWorkloads::V1beta1::Workload::ComplianceRegime]
298
+ # Optional. Compliance controls that should be applied to the resources managed by
299
+ # the workload.
300
+ class CreateWorkloadOperationMetadata
301
+ include ::Google::Protobuf::MessageExts
302
+ extend ::Google::Protobuf::MessageExts::ClassMethods
303
+ end
304
+ end
305
+ end
306
+ end
307
+ end
@@ -0,0 +1,150 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Longrunning
22
+ # This resource represents a long-running operation that is the result of a
23
+ # network API call.
24
+ # @!attribute [rw] name
25
+ # @return [::String]
26
+ # The server-assigned name, which is only unique within the same service that
27
+ # originally returns it. If you use the default HTTP mapping, the
28
+ # `name` should have the format of `operations/some/unique/name`.
29
+ # @!attribute [rw] metadata
30
+ # @return [::Google::Protobuf::Any]
31
+ # Service-specific metadata associated with the operation. It typically
32
+ # contains progress information and common metadata such as create time.
33
+ # Some services might not provide such metadata. Any method that returns a
34
+ # long-running operation should document the metadata type, if any.
35
+ # @!attribute [rw] done
36
+ # @return [::Boolean]
37
+ # If the value is `false`, it means the operation is still in progress.
38
+ # If true, the operation is completed, and either `error` or `response` is
39
+ # available.
40
+ # @!attribute [rw] error
41
+ # @return [::Google::Rpc::Status]
42
+ # The error result of the operation in case of failure or cancellation.
43
+ # @!attribute [rw] response
44
+ # @return [::Google::Protobuf::Any]
45
+ # The normal response of the operation in case of success. If the original
46
+ # method returns no data on success, such as `Delete`, the response is
47
+ # `google.protobuf.Empty`. If the original method is standard
48
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
49
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
50
+ # is the original method name. For example, if the original method name
51
+ # is `TakeSnapshot()`, the inferred response type is
52
+ # `TakeSnapshotResponse`.
53
+ class Operation
54
+ include ::Google::Protobuf::MessageExts
55
+ extend ::Google::Protobuf::MessageExts::ClassMethods
56
+ end
57
+
58
+ # The request message for Operations.GetOperation.
59
+ # @!attribute [rw] name
60
+ # @return [::String]
61
+ # The name of the operation resource.
62
+ class GetOperationRequest
63
+ include ::Google::Protobuf::MessageExts
64
+ extend ::Google::Protobuf::MessageExts::ClassMethods
65
+ end
66
+
67
+ # The request message for Operations.ListOperations.
68
+ # @!attribute [rw] name
69
+ # @return [::String]
70
+ # The name of the operation collection.
71
+ # @!attribute [rw] filter
72
+ # @return [::String]
73
+ # The standard list filter.
74
+ # @!attribute [rw] page_size
75
+ # @return [::Integer]
76
+ # The standard list page size.
77
+ # @!attribute [rw] page_token
78
+ # @return [::String]
79
+ # The standard list page token.
80
+ class ListOperationsRequest
81
+ include ::Google::Protobuf::MessageExts
82
+ extend ::Google::Protobuf::MessageExts::ClassMethods
83
+ end
84
+
85
+ # The response message for Operations.ListOperations.
86
+ # @!attribute [rw] operations
87
+ # @return [::Array<::Google::Longrunning::Operation>]
88
+ # A list of operations that matches the specified filter in the request.
89
+ # @!attribute [rw] next_page_token
90
+ # @return [::String]
91
+ # The standard List next-page token.
92
+ class ListOperationsResponse
93
+ include ::Google::Protobuf::MessageExts
94
+ extend ::Google::Protobuf::MessageExts::ClassMethods
95
+ end
96
+
97
+ # The request message for Operations.CancelOperation.
98
+ # @!attribute [rw] name
99
+ # @return [::String]
100
+ # The name of the operation resource to be cancelled.
101
+ class CancelOperationRequest
102
+ include ::Google::Protobuf::MessageExts
103
+ extend ::Google::Protobuf::MessageExts::ClassMethods
104
+ end
105
+
106
+ # The request message for Operations.DeleteOperation.
107
+ # @!attribute [rw] name
108
+ # @return [::String]
109
+ # The name of the operation resource to be deleted.
110
+ class DeleteOperationRequest
111
+ include ::Google::Protobuf::MessageExts
112
+ extend ::Google::Protobuf::MessageExts::ClassMethods
113
+ end
114
+
115
+ # A message representing the message types used by a long-running operation.
116
+ #
117
+ # Example:
118
+ #
119
+ # rpc LongRunningRecognize(LongRunningRecognizeRequest)
120
+ # returns (google.longrunning.Operation) {
121
+ # option (google.longrunning.operation_info) = {
122
+ # response_type: "LongRunningRecognizeResponse"
123
+ # metadata_type: "LongRunningRecognizeMetadata"
124
+ # };
125
+ # }
126
+ # @!attribute [rw] response_type
127
+ # @return [::String]
128
+ # Required. The message name of the primary return type for this
129
+ # long-running operation.
130
+ # This type will be used to deserialize the LRO's response.
131
+ #
132
+ # If the response is in a different package from the rpc, a fully-qualified
133
+ # message name must be used (e.g. `google.protobuf.Struct`).
134
+ #
135
+ # Note: Altering this value constitutes a breaking change.
136
+ # @!attribute [rw] metadata_type
137
+ # @return [::String]
138
+ # Required. The message name of the metadata type for this long-running
139
+ # operation.
140
+ #
141
+ # If the response is in a different package from the rpc, a fully-qualified
142
+ # message name must be used (e.g. `google.protobuf.Struct`).
143
+ #
144
+ # Note: Altering this value constitutes a breaking change.
145
+ class OperationInfo
146
+ include ::Google::Protobuf::MessageExts
147
+ extend ::Google::Protobuf::MessageExts::ClassMethods
148
+ end
149
+ end
150
+ end