google-cloud-cloud_controls_partner-v1 0.a → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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/v1/cloud_controls_partner_core/client.rb +1157 -0
  6. data/lib/google/cloud/cloud_controls_partner/v1/cloud_controls_partner_core/credentials.rb +47 -0
  7. data/lib/google/cloud/cloud_controls_partner/v1/cloud_controls_partner_core/paths.rb +149 -0
  8. data/lib/google/cloud/cloud_controls_partner/v1/cloud_controls_partner_core/rest/client.rb +1072 -0
  9. data/lib/google/cloud/cloud_controls_partner/v1/cloud_controls_partner_core/rest/service_stub.rb +541 -0
  10. data/lib/google/cloud/cloud_controls_partner/v1/cloud_controls_partner_core/rest.rb +52 -0
  11. data/lib/google/cloud/cloud_controls_partner/v1/cloud_controls_partner_core.rb +55 -0
  12. data/lib/google/cloud/cloud_controls_partner/v1/cloud_controls_partner_monitoring/client.rb +551 -0
  13. data/lib/google/cloud/cloud_controls_partner/v1/cloud_controls_partner_monitoring/credentials.rb +47 -0
  14. data/lib/google/cloud/cloud_controls_partner/v1/cloud_controls_partner_monitoring/paths.rb +77 -0
  15. data/lib/google/cloud/cloud_controls_partner/v1/cloud_controls_partner_monitoring/rest/client.rb +510 -0
  16. data/lib/google/cloud/cloud_controls_partner/v1/cloud_controls_partner_monitoring/rest/service_stub.rb +187 -0
  17. data/lib/google/cloud/cloud_controls_partner/v1/cloud_controls_partner_monitoring/rest.rb +52 -0
  18. data/lib/google/cloud/cloud_controls_partner/v1/cloud_controls_partner_monitoring.rb +55 -0
  19. data/lib/google/cloud/cloud_controls_partner/v1/rest.rb +38 -0
  20. data/lib/google/cloud/cloud_controls_partner/v1/version.rb +7 -2
  21. data/lib/google/cloud/cloud_controls_partner/v1.rb +46 -0
  22. data/lib/google/cloud/cloudcontrolspartner/v1/access_approval_requests_pb.rb +51 -0
  23. data/lib/google/cloud/cloudcontrolspartner/v1/completion_state_pb.rb +42 -0
  24. data/lib/google/cloud/cloudcontrolspartner/v1/core_pb.rb +55 -0
  25. data/lib/google/cloud/cloudcontrolspartner/v1/core_services_pb.rb +59 -0
  26. data/lib/google/cloud/cloudcontrolspartner/v1/customer_workloads_pb.rb +55 -0
  27. data/lib/google/cloud/cloudcontrolspartner/v1/customers_pb.rb +54 -0
  28. data/lib/google/cloud/cloudcontrolspartner/v1/ekm_connections_pb.rb +49 -0
  29. data/lib/google/cloud/cloudcontrolspartner/v1/monitoring_pb.rb +45 -0
  30. data/lib/google/cloud/cloudcontrolspartner/v1/monitoring_services_pb.rb +53 -0
  31. data/lib/google/cloud/cloudcontrolspartner/v1/partner_permissions_pb.rb +47 -0
  32. data/lib/google/cloud/cloudcontrolspartner/v1/partners_pb.rb +51 -0
  33. data/lib/google/cloud/cloudcontrolspartner/v1/violations_pb.rb +58 -0
  34. data/lib/google-cloud-cloud_controls_partner-v1.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/v1/access_approval_requests.rb +143 -0
  41. data/proto_docs/google/cloud/cloudcontrolspartner/v1/completion_state.rb +44 -0
  42. data/proto_docs/google/cloud/cloudcontrolspartner/v1/core.rb +57 -0
  43. data/proto_docs/google/cloud/cloudcontrolspartner/v1/customer_workloads.rb +177 -0
  44. data/proto_docs/google/cloud/cloudcontrolspartner/v1/customers.rb +134 -0
  45. data/proto_docs/google/cloud/cloudcontrolspartner/v1/ekm_connections.rb +96 -0
  46. data/proto_docs/google/cloud/cloudcontrolspartner/v1/partner_permissions.rb +66 -0
  47. data/proto_docs/google/cloud/cloudcontrolspartner/v1/partners.rb +117 -0
  48. data/proto_docs/google/cloud/cloudcontrolspartner/v1/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 +93 -10
@@ -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 V1
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::V1::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::V1::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::V1::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::V1::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::V1::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 V1
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::V1::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::V1::EkmConnection::ConnectionState]
54
+ # Output only. The connection state
55
+ # @!attribute [rw] connection_error
56
+ # @return [::Google::Cloud::CloudControlsPartner::V1::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 V1
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::V1::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 V1
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::V1::Sku>]
32
+ # List of SKUs the partner is offering
33
+ # @!attribute [rw] ekm_solutions
34
+ # @return [::Array<::Google::Cloud::CloudControlsPartner::V1::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::V1::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 V1
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::V1::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::V1::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::V1::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::V1::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::V1::Violation::Remediation::Instructions::Gcloud]
88
+ # Remediation instructions to resolve violation via gcloud cli
89
+ # @!attribute [rw] console_instructions
90
+ # @return [::Google::Cloud::CloudControlsPartner::V1::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::V1::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