google-cloud-cloud_controls_partner-v1beta 0.a → 0.1.1

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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/cloud_controls_partner/v1beta/cloud_controls_partner_core/client.rb +1171 -0
  6. data/lib/google/cloud/cloud_controls_partner/v1beta/cloud_controls_partner_core/credentials.rb +47 -0
  7. data/lib/google/cloud/cloud_controls_partner/v1beta/cloud_controls_partner_core/paths.rb +149 -0
  8. data/lib/google/cloud/cloud_controls_partner/v1beta/cloud_controls_partner_core/rest/client.rb +1084 -0
  9. data/lib/google/cloud/cloud_controls_partner/v1beta/cloud_controls_partner_core/rest/service_stub.rb +541 -0
  10. data/lib/google/cloud/cloud_controls_partner/v1beta/cloud_controls_partner_core/rest.rb +52 -0
  11. data/lib/google/cloud/cloud_controls_partner/v1beta/cloud_controls_partner_core.rb +55 -0
  12. data/lib/google/cloud/cloud_controls_partner/v1beta/cloud_controls_partner_monitoring/client.rb +556 -0
  13. data/lib/google/cloud/cloud_controls_partner/v1beta/cloud_controls_partner_monitoring/credentials.rb +47 -0
  14. data/lib/google/cloud/cloud_controls_partner/v1beta/cloud_controls_partner_monitoring/paths.rb +77 -0
  15. data/lib/google/cloud/cloud_controls_partner/v1beta/cloud_controls_partner_monitoring/rest/client.rb +515 -0
  16. data/lib/google/cloud/cloud_controls_partner/v1beta/cloud_controls_partner_monitoring/rest/service_stub.rb +187 -0
  17. data/lib/google/cloud/cloud_controls_partner/v1beta/cloud_controls_partner_monitoring/rest.rb +52 -0
  18. data/lib/google/cloud/cloud_controls_partner/v1beta/cloud_controls_partner_monitoring.rb +55 -0
  19. data/lib/google/cloud/cloud_controls_partner/v1beta/rest.rb +38 -0
  20. data/lib/google/cloud/cloud_controls_partner/v1beta/version.rb +7 -2
  21. data/lib/google/cloud/cloud_controls_partner/v1beta.rb +46 -0
  22. data/lib/google/cloud/cloudcontrolspartner/v1beta/access_approval_requests_pb.rb +51 -0
  23. data/lib/google/cloud/cloudcontrolspartner/v1beta/completion_state_pb.rb +42 -0
  24. data/lib/google/cloud/cloudcontrolspartner/v1beta/core_pb.rb +55 -0
  25. data/lib/google/cloud/cloudcontrolspartner/v1beta/core_services_pb.rb +60 -0
  26. data/lib/google/cloud/cloudcontrolspartner/v1beta/customer_workloads_pb.rb +55 -0
  27. data/lib/google/cloud/cloudcontrolspartner/v1beta/customers_pb.rb +54 -0
  28. data/lib/google/cloud/cloudcontrolspartner/v1beta/ekm_connections_pb.rb +49 -0
  29. data/lib/google/cloud/cloudcontrolspartner/v1beta/monitoring_pb.rb +45 -0
  30. data/lib/google/cloud/cloudcontrolspartner/v1beta/monitoring_services_pb.rb +53 -0
  31. data/lib/google/cloud/cloudcontrolspartner/v1beta/partner_permissions_pb.rb +47 -0
  32. data/lib/google/cloud/cloudcontrolspartner/v1beta/partners_pb.rb +51 -0
  33. data/lib/google/cloud/cloudcontrolspartner/v1beta/violations_pb.rb +58 -0
  34. data/lib/google-cloud-cloud_controls_partner-v1beta.rb +21 -0
  35. data/proto_docs/README.md +4 -0
  36. data/proto_docs/google/api/client.rb +399 -0
  37. data/proto_docs/google/api/field_behavior.rb +85 -0
  38. data/proto_docs/google/api/launch_stage.rb +71 -0
  39. data/proto_docs/google/api/resource.rb +222 -0
  40. data/proto_docs/google/cloud/cloudcontrolspartner/v1beta/access_approval_requests.rb +143 -0
  41. data/proto_docs/google/cloud/cloudcontrolspartner/v1beta/completion_state.rb +44 -0
  42. data/proto_docs/google/cloud/cloudcontrolspartner/v1beta/core.rb +57 -0
  43. data/proto_docs/google/cloud/cloudcontrolspartner/v1beta/customer_workloads.rb +177 -0
  44. data/proto_docs/google/cloud/cloudcontrolspartner/v1beta/customers.rb +134 -0
  45. data/proto_docs/google/cloud/cloudcontrolspartner/v1beta/ekm_connections.rb +96 -0
  46. data/proto_docs/google/cloud/cloudcontrolspartner/v1beta/partner_permissions.rb +66 -0
  47. data/proto_docs/google/cloud/cloudcontrolspartner/v1beta/partners.rb +117 -0
  48. data/proto_docs/google/cloud/cloudcontrolspartner/v1beta/violations.rb +229 -0
  49. data/proto_docs/google/protobuf/duration.rb +98 -0
  50. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  51. data/proto_docs/google/type/interval.rb +45 -0
  52. metadata +94 -11
@@ -0,0 +1,134 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 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 CloudControlsPartner
23
+ module V1beta
24
+ # Contains metadata around a Cloud Controls Partner Customer
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Identifier. Format:
28
+ # `organizations/{organization}/locations/{location}/customers/{customer}`
29
+ # @!attribute [rw] display_name
30
+ # @return [::String]
31
+ # The customer organization's display name. E.g. "google.com".
32
+ # @!attribute [rw] customer_onboarding_state
33
+ # @return [::Google::Cloud::CloudControlsPartner::V1beta::CustomerOnboardingState]
34
+ # Container for customer onboarding steps
35
+ # @!attribute [rw] is_onboarded
36
+ # @return [::Boolean]
37
+ # Indicates whether a customer is fully onboarded
38
+ class Customer
39
+ include ::Google::Protobuf::MessageExts
40
+ extend ::Google::Protobuf::MessageExts::ClassMethods
41
+ end
42
+
43
+ # Request to list customers
44
+ # @!attribute [rw] parent
45
+ # @return [::String]
46
+ # Required. Parent resource
47
+ # Format: `organizations/{organization}/locations/{location}`
48
+ # @!attribute [rw] page_size
49
+ # @return [::Integer]
50
+ # The maximum number of Customers to return. The service may return fewer
51
+ # than this value. If unspecified, at most 500 Customers will be returned.
52
+ # @!attribute [rw] page_token
53
+ # @return [::String]
54
+ # A page token, received from a previous `ListCustomers` call.
55
+ # Provide this to retrieve the subsequent page.
56
+ # @!attribute [rw] filter
57
+ # @return [::String]
58
+ # Optional. Filtering results
59
+ # @!attribute [rw] order_by
60
+ # @return [::String]
61
+ # Optional. Hint for how to order the results
62
+ class ListCustomersRequest
63
+ include ::Google::Protobuf::MessageExts
64
+ extend ::Google::Protobuf::MessageExts::ClassMethods
65
+ end
66
+
67
+ # Response message for list customer Customers requests
68
+ # @!attribute [rw] customers
69
+ # @return [::Array<::Google::Cloud::CloudControlsPartner::V1beta::Customer>]
70
+ # List of customers
71
+ # @!attribute [rw] next_page_token
72
+ # @return [::String]
73
+ # A token that can be sent as `page_token` to retrieve the next page.
74
+ # If this field is omitted, there are no subsequent pages.
75
+ # @!attribute [rw] unreachable
76
+ # @return [::Array<::String>]
77
+ # Locations that could not be reached.
78
+ class ListCustomersResponse
79
+ include ::Google::Protobuf::MessageExts
80
+ extend ::Google::Protobuf::MessageExts::ClassMethods
81
+ end
82
+
83
+ # Message for getting a customer
84
+ # @!attribute [rw] name
85
+ # @return [::String]
86
+ # Required. Format:
87
+ # `organizations/{organization}/locations/{location}/customers/{customer}`
88
+ class GetCustomerRequest
89
+ include ::Google::Protobuf::MessageExts
90
+ extend ::Google::Protobuf::MessageExts::ClassMethods
91
+ end
92
+
93
+ # Container for customer onboarding steps
94
+ # @!attribute [rw] onboarding_steps
95
+ # @return [::Array<::Google::Cloud::CloudControlsPartner::V1beta::CustomerOnboardingStep>]
96
+ # List of customer onboarding steps
97
+ class CustomerOnboardingState
98
+ include ::Google::Protobuf::MessageExts
99
+ extend ::Google::Protobuf::MessageExts::ClassMethods
100
+ end
101
+
102
+ # Container for customer onboarding information
103
+ # @!attribute [rw] step
104
+ # @return [::Google::Cloud::CloudControlsPartner::V1beta::CustomerOnboardingStep::Step]
105
+ # The onboarding step
106
+ # @!attribute [rw] start_time
107
+ # @return [::Google::Protobuf::Timestamp]
108
+ # The starting time of the onboarding step
109
+ # @!attribute [rw] completion_time
110
+ # @return [::Google::Protobuf::Timestamp]
111
+ # The completion time of the onboarding step
112
+ # @!attribute [r] completion_state
113
+ # @return [::Google::Cloud::CloudControlsPartner::V1beta::CompletionState]
114
+ # Output only. Current state of the step
115
+ class CustomerOnboardingStep
116
+ include ::Google::Protobuf::MessageExts
117
+ extend ::Google::Protobuf::MessageExts::ClassMethods
118
+
119
+ # Enum for possible onboarding steps
120
+ module Step
121
+ # Unspecified step
122
+ STEP_UNSPECIFIED = 0
123
+
124
+ # KAJ Enrollment
125
+ KAJ_ENROLLMENT = 1
126
+
127
+ # Customer Environment
128
+ CUSTOMER_ENVIRONMENT = 2
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end
134
+ end
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 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 CloudControlsPartner
23
+ module V1beta
24
+ # The EKM connections associated with a workload
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Identifier. Format:
28
+ # `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/ekmConnections`
29
+ # @!attribute [rw] ekm_connections
30
+ # @return [::Array<::Google::Cloud::CloudControlsPartner::V1beta::EkmConnection>]
31
+ # The EKM connections associated with the workload
32
+ class EkmConnections
33
+ include ::Google::Protobuf::MessageExts
34
+ extend ::Google::Protobuf::MessageExts::ClassMethods
35
+ end
36
+
37
+ # Request for getting the EKM connections associated with a workload
38
+ # @!attribute [rw] name
39
+ # @return [::String]
40
+ # Required. Format:
41
+ # `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/ekmConnections`
42
+ class GetEkmConnectionsRequest
43
+ include ::Google::Protobuf::MessageExts
44
+ extend ::Google::Protobuf::MessageExts::ClassMethods
45
+ end
46
+
47
+ # Details about the EKM connection
48
+ # @!attribute [rw] connection_name
49
+ # @return [::String]
50
+ # Resource name of the EKM connection in the format:
51
+ # projects/\\{project}/locations/\\{location}/ekmConnections/\\{ekm_connection}
52
+ # @!attribute [r] connection_state
53
+ # @return [::Google::Cloud::CloudControlsPartner::V1beta::EkmConnection::ConnectionState]
54
+ # Output only. The connection state
55
+ # @!attribute [rw] connection_error
56
+ # @return [::Google::Cloud::CloudControlsPartner::V1beta::EkmConnection::ConnectionError]
57
+ # The connection error that occurred if any
58
+ class EkmConnection
59
+ include ::Google::Protobuf::MessageExts
60
+ extend ::Google::Protobuf::MessageExts::ClassMethods
61
+
62
+ # Information around the error that occurred if the connection state is
63
+ # anything other than available or unspecified
64
+ # @!attribute [rw] error_domain
65
+ # @return [::String]
66
+ # The error domain for the error
67
+ # @!attribute [rw] error_message
68
+ # @return [::String]
69
+ # The error message for the error
70
+ class ConnectionError
71
+ include ::Google::Protobuf::MessageExts
72
+ extend ::Google::Protobuf::MessageExts::ClassMethods
73
+ end
74
+
75
+ # The EKM connection state.
76
+ module ConnectionState
77
+ # Unspecified EKM connection state
78
+ CONNECTION_STATE_UNSPECIFIED = 0
79
+
80
+ # Available EKM connection state
81
+ AVAILABLE = 1
82
+
83
+ # Not available EKM connection state
84
+ NOT_AVAILABLE = 2
85
+
86
+ # Error EKM connection state
87
+ ERROR = 3
88
+
89
+ # Permission denied EKM connection state
90
+ PERMISSION_DENIED = 4
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 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 CloudControlsPartner
23
+ module V1beta
24
+ # The permissions granted to the partner for a workload
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Identifier. Format:
28
+ # `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/partnerPermissions`
29
+ # @!attribute [rw] partner_permissions
30
+ # @return [::Array<::Google::Cloud::CloudControlsPartner::V1beta::PartnerPermissions::Permission>]
31
+ # The partner permissions granted for the workload
32
+ class PartnerPermissions
33
+ include ::Google::Protobuf::MessageExts
34
+ extend ::Google::Protobuf::MessageExts::ClassMethods
35
+
36
+ module Permission
37
+ # Unspecified partner permission
38
+ PERMISSION_UNSPECIFIED = 0
39
+
40
+ # Permission for Access Transparency and emergency logs
41
+ ACCESS_TRANSPARENCY_AND_EMERGENCY_ACCESS_LOGS = 1
42
+
43
+ # Permission for Assured Workloads monitoring violations
44
+ ASSURED_WORKLOADS_MONITORING = 2
45
+
46
+ # Permission for Access Approval requests
47
+ ACCESS_APPROVAL_REQUESTS = 3
48
+
49
+ # Permission for External Key Manager connection status
50
+ ASSURED_WORKLOADS_EKM_CONNECTION_STATUS = 4
51
+ end
52
+ end
53
+
54
+ # Request for getting the partner permissions granted for a workload
55
+ # @!attribute [rw] name
56
+ # @return [::String]
57
+ # Required. Name of the resource to get in the format:
58
+ # `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/partnerPermissions`
59
+ class GetPartnerPermissionsRequest
60
+ include ::Google::Protobuf::MessageExts
61
+ extend ::Google::Protobuf::MessageExts::ClassMethods
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,117 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 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 CloudControlsPartner
23
+ module V1beta
24
+ # Message describing Partner resource
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Identifier. The resource name of the partner.
28
+ # Format: `organizations/{organization}/locations/{location}/partner`
29
+ # Example: "organizations/123456/locations/us-central1/partner"
30
+ # @!attribute [rw] skus
31
+ # @return [::Array<::Google::Cloud::CloudControlsPartner::V1beta::Sku>]
32
+ # List of SKUs the partner is offering
33
+ # @!attribute [rw] ekm_solutions
34
+ # @return [::Array<::Google::Cloud::CloudControlsPartner::V1beta::EkmMetadata>]
35
+ # List of Google Cloud supported EKM partners supported by the partner
36
+ # @!attribute [rw] operated_cloud_regions
37
+ # @return [::Array<::String>]
38
+ # List of Google Cloud regions that the partner sells services to customers.
39
+ # Valid Google Cloud regions found here:
40
+ # https://cloud.google.com/compute/docs/regions-zones
41
+ # @!attribute [rw] partner_project_id
42
+ # @return [::String]
43
+ # Google Cloud project ID in the partner's Google Cloud organization for
44
+ # receiving enhanced Logs for Partners.
45
+ # @!attribute [r] create_time
46
+ # @return [::Google::Protobuf::Timestamp]
47
+ # Output only. Time the resource was created
48
+ # @!attribute [r] update_time
49
+ # @return [::Google::Protobuf::Timestamp]
50
+ # Output only. The last time the resource was updated
51
+ class Partner
52
+ include ::Google::Protobuf::MessageExts
53
+ extend ::Google::Protobuf::MessageExts::ClassMethods
54
+ end
55
+
56
+ # Message for getting a Partner
57
+ # @!attribute [rw] name
58
+ # @return [::String]
59
+ # Required. Format:
60
+ # `organizations/{organization}/locations/{location}/partner`
61
+ class GetPartnerRequest
62
+ include ::Google::Protobuf::MessageExts
63
+ extend ::Google::Protobuf::MessageExts::ClassMethods
64
+ end
65
+
66
+ # Represents the SKU a partner owns inside Google Cloud to sell to customers.
67
+ # @!attribute [rw] id
68
+ # @return [::String]
69
+ # Argentum product SKU, that is associated with the partner offerings to
70
+ # customers used by Syntro for billing purposes. SKUs can represent resold
71
+ # Google products or support services.
72
+ # @!attribute [rw] display_name
73
+ # @return [::String]
74
+ # Display name of the product identified by the SKU. A partner may want to
75
+ # show partner branded names for their offerings such as local sovereign
76
+ # cloud solutions.
77
+ class Sku
78
+ include ::Google::Protobuf::MessageExts
79
+ extend ::Google::Protobuf::MessageExts::ClassMethods
80
+ end
81
+
82
+ # Holds information needed by Mudbray to use partner EKMs for workloads.
83
+ # @!attribute [rw] ekm_solution
84
+ # @return [::Google::Cloud::CloudControlsPartner::V1beta::EkmMetadata::EkmSolution]
85
+ # The Cloud EKM partner.
86
+ # @!attribute [rw] ekm_endpoint_uri
87
+ # @return [::String]
88
+ # Endpoint for sending requests to the EKM for key provisioning during
89
+ # Assured Workload creation.
90
+ class EkmMetadata
91
+ include ::Google::Protobuf::MessageExts
92
+ extend ::Google::Protobuf::MessageExts::ClassMethods
93
+
94
+ # Represents Google Cloud supported external key management partners
95
+ # [Google Cloud EKM partners
96
+ # docs](https://cloud.google.com/kms/docs/ekm#supported_partners).
97
+ module EkmSolution
98
+ # Unspecified EKM solution
99
+ EKM_SOLUTION_UNSPECIFIED = 0
100
+
101
+ # EKM Partner Fortanix
102
+ FORTANIX = 1
103
+
104
+ # EKM Partner FutureX
105
+ FUTUREX = 2
106
+
107
+ # EKM Partner Thales
108
+ THALES = 3
109
+
110
+ # EKM Partner Virtu
111
+ VIRTRU = 4
112
+ end
113
+ end
114
+ end
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,229 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 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 CloudControlsPartner
23
+ module V1beta
24
+ # Details of resource Violation
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Identifier. Format:
28
+ # `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/violations/{violation}`
29
+ # @!attribute [r] description
30
+ # @return [::String]
31
+ # Output only. Description for the Violation.
32
+ # e.g. OrgPolicy gcp.resourceLocations has non compliant value.
33
+ # @!attribute [r] begin_time
34
+ # @return [::Google::Protobuf::Timestamp]
35
+ # Output only. Time of the event which triggered the Violation.
36
+ # @!attribute [r] update_time
37
+ # @return [::Google::Protobuf::Timestamp]
38
+ # Output only. The last time when the Violation record was updated.
39
+ # @!attribute [r] resolve_time
40
+ # @return [::Google::Protobuf::Timestamp]
41
+ # Output only. Time of the event which fixed the Violation.
42
+ # If the violation is ACTIVE this will be empty.
43
+ # @!attribute [r] category
44
+ # @return [::String]
45
+ # Output only. Category under which this violation is mapped.
46
+ # e.g. Location, Service Usage, Access, Encryption, etc.
47
+ # @!attribute [r] state
48
+ # @return [::Google::Cloud::CloudControlsPartner::V1beta::Violation::State]
49
+ # Output only. State of the violation
50
+ # @!attribute [r] non_compliant_org_policy
51
+ # @return [::String]
52
+ # Output only. Immutable. Name of the OrgPolicy which was modified with
53
+ # non-compliant change and resulted this violation. Format:
54
+ # `projects/{project_number}/policies/{constraint_name}`
55
+ # `folders/{folder_id}/policies/{constraint_name}`
56
+ # `organizations/{organization_id}/policies/{constraint_name}`
57
+ # @!attribute [rw] folder_id
58
+ # @return [::Integer]
59
+ # The folder_id of the violation
60
+ # @!attribute [r] remediation
61
+ # @return [::Google::Cloud::CloudControlsPartner::V1beta::Violation::Remediation]
62
+ # Output only. Compliance violation remediation
63
+ class Violation
64
+ include ::Google::Protobuf::MessageExts
65
+ extend ::Google::Protobuf::MessageExts::ClassMethods
66
+
67
+ # Represents remediation guidance to resolve compliance violation for
68
+ # AssuredWorkload
69
+ # @!attribute [rw] instructions
70
+ # @return [::Google::Cloud::CloudControlsPartner::V1beta::Violation::Remediation::Instructions]
71
+ # Required. Remediation instructions to resolve violations
72
+ # @!attribute [rw] compliant_values
73
+ # @return [::Array<::String>]
74
+ # Values that can resolve the violation
75
+ # For example: for list org policy violations, this will either be the list
76
+ # of allowed or denied values
77
+ # @!attribute [r] remediation_type
78
+ # @return [::Google::Cloud::CloudControlsPartner::V1beta::Violation::Remediation::RemediationType]
79
+ # Output only. Remediation type based on the type of org policy values
80
+ # violated
81
+ class Remediation
82
+ include ::Google::Protobuf::MessageExts
83
+ extend ::Google::Protobuf::MessageExts::ClassMethods
84
+
85
+ # Instructions to remediate violation
86
+ # @!attribute [rw] gcloud_instructions
87
+ # @return [::Google::Cloud::CloudControlsPartner::V1beta::Violation::Remediation::Instructions::Gcloud]
88
+ # Remediation instructions to resolve violation via gcloud cli
89
+ # @!attribute [rw] console_instructions
90
+ # @return [::Google::Cloud::CloudControlsPartner::V1beta::Violation::Remediation::Instructions::Console]
91
+ # Remediation instructions to resolve violation via cloud console
92
+ class Instructions
93
+ include ::Google::Protobuf::MessageExts
94
+ extend ::Google::Protobuf::MessageExts::ClassMethods
95
+
96
+ # Remediation instructions to resolve violation via gcloud cli
97
+ # @!attribute [rw] gcloud_commands
98
+ # @return [::Array<::String>]
99
+ # Gcloud command to resolve violation
100
+ # @!attribute [rw] steps
101
+ # @return [::Array<::String>]
102
+ # Steps to resolve violation via gcloud cli
103
+ # @!attribute [rw] additional_links
104
+ # @return [::Array<::String>]
105
+ # Additional urls for more information about steps
106
+ class Gcloud
107
+ include ::Google::Protobuf::MessageExts
108
+ extend ::Google::Protobuf::MessageExts::ClassMethods
109
+ end
110
+
111
+ # Remediation instructions to resolve violation via cloud console
112
+ # @!attribute [rw] console_uris
113
+ # @return [::Array<::String>]
114
+ # Link to console page where violations can be resolved
115
+ # @!attribute [rw] steps
116
+ # @return [::Array<::String>]
117
+ # Steps to resolve violation via cloud console
118
+ # @!attribute [rw] additional_links
119
+ # @return [::Array<::String>]
120
+ # Additional urls for more information about steps
121
+ class Console
122
+ include ::Google::Protobuf::MessageExts
123
+ extend ::Google::Protobuf::MessageExts::ClassMethods
124
+ end
125
+ end
126
+
127
+ # Classifying remediation into various types based on the kind of
128
+ # violation. For example, violations caused due to changes in boolean org
129
+ # policy requires different remediation instructions compared to violation
130
+ # caused due to changes in allowed values of list org policy.
131
+ module RemediationType
132
+ # Unspecified remediation type
133
+ REMEDIATION_TYPE_UNSPECIFIED = 0
134
+
135
+ # Remediation type for boolean org policy
136
+ REMEDIATION_BOOLEAN_ORG_POLICY_VIOLATION = 1
137
+
138
+ # Remediation type for list org policy which have allowed values in the
139
+ # monitoring rule
140
+ REMEDIATION_LIST_ALLOWED_VALUES_ORG_POLICY_VIOLATION = 2
141
+
142
+ # Remediation type for list org policy which have denied values in the
143
+ # monitoring rule
144
+ REMEDIATION_LIST_DENIED_VALUES_ORG_POLICY_VIOLATION = 3
145
+
146
+ # Remediation type for gcp.restrictCmekCryptoKeyProjects
147
+ REMEDIATION_RESTRICT_CMEK_CRYPTO_KEY_PROJECTS_ORG_POLICY_VIOLATION = 4
148
+
149
+ # Remediation type for resource violation.
150
+ REMEDIATION_RESOURCE_VIOLATION = 5
151
+ end
152
+ end
153
+
154
+ # Violation State Values
155
+ module State
156
+ # Unspecified state.
157
+ STATE_UNSPECIFIED = 0
158
+
159
+ # Violation is resolved.
160
+ RESOLVED = 1
161
+
162
+ # Violation is Unresolved
163
+ UNRESOLVED = 2
164
+
165
+ # Violation is Exception
166
+ EXCEPTION = 3
167
+ end
168
+ end
169
+
170
+ # Message for requesting list of Violations
171
+ # @!attribute [rw] parent
172
+ # @return [::String]
173
+ # Required. Parent resource
174
+ # Format
175
+ # `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}`
176
+ # @!attribute [rw] page_size
177
+ # @return [::Integer]
178
+ # Optional. The maximum number of customers row to return. The service may
179
+ # return fewer than this value. If unspecified, at most 10 customers will be
180
+ # returned.
181
+ # @!attribute [rw] page_token
182
+ # @return [::String]
183
+ # Optional. A page token, received from a previous `ListViolations` call.
184
+ # Provide this to retrieve the subsequent page.
185
+ # @!attribute [rw] filter
186
+ # @return [::String]
187
+ # Optional. Filtering results
188
+ # @!attribute [rw] order_by
189
+ # @return [::String]
190
+ # Optional. Hint for how to order the results
191
+ # @!attribute [rw] interval
192
+ # @return [::Google::Type::Interval]
193
+ # Optional. Specifies the interval for retrieving violations.
194
+ # if unspecified, all violations will be returned.
195
+ class ListViolationsRequest
196
+ include ::Google::Protobuf::MessageExts
197
+ extend ::Google::Protobuf::MessageExts::ClassMethods
198
+ end
199
+
200
+ # Response message for list customer violation requests
201
+ # @!attribute [rw] violations
202
+ # @return [::Array<::Google::Cloud::CloudControlsPartner::V1beta::Violation>]
203
+ # List of violation
204
+ # @!attribute [rw] next_page_token
205
+ # @return [::String]
206
+ # A token that can be sent as `page_token` to retrieve the next page.
207
+ # If this field is omitted, there are no subsequent pages.
208
+ # @!attribute [rw] unreachable
209
+ # @return [::Array<::String>]
210
+ # Workloads that could not be reached due to permission errors or any other
211
+ # error. Ref: https://google.aip.dev/217
212
+ class ListViolationsResponse
213
+ include ::Google::Protobuf::MessageExts
214
+ extend ::Google::Protobuf::MessageExts::ClassMethods
215
+ end
216
+
217
+ # Message for getting a Violation
218
+ # @!attribute [rw] name
219
+ # @return [::String]
220
+ # Required. Format:
221
+ # `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/violations/{violation}`
222
+ class GetViolationRequest
223
+ include ::Google::Protobuf::MessageExts
224
+ extend ::Google::Protobuf::MessageExts::ClassMethods
225
+ end
226
+ end
227
+ end
228
+ end
229
+ end