google-cloud-assured_workloads-v1beta1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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