google-cloud-cloudcontrolspartner 0.1.0__py3-none-any.whl

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 (76) hide show
  1. google/cloud/cloudcontrolspartner/__init__.py +115 -0
  2. google/cloud/cloudcontrolspartner/gapic_version.py +16 -0
  3. google/cloud/cloudcontrolspartner/py.typed +2 -0
  4. google/cloud/cloudcontrolspartner_v1/__init__.py +103 -0
  5. google/cloud/cloudcontrolspartner_v1/gapic_metadata.json +197 -0
  6. google/cloud/cloudcontrolspartner_v1/gapic_version.py +16 -0
  7. google/cloud/cloudcontrolspartner_v1/py.typed +2 -0
  8. google/cloud/cloudcontrolspartner_v1/services/__init__.py +15 -0
  9. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/__init__.py +22 -0
  10. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/async_client.py +1253 -0
  11. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/client.py +1705 -0
  12. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/pagers.py +429 -0
  13. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/__init__.py +41 -0
  14. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/base.py +340 -0
  15. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/grpc.py +466 -0
  16. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/grpc_asyncio.py +472 -0
  17. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/rest.py +1212 -0
  18. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/__init__.py +22 -0
  19. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/async_client.py +528 -0
  20. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/client.py +935 -0
  21. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/pagers.py +155 -0
  22. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/__init__.py +41 -0
  23. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/base.py +194 -0
  24. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/grpc.py +300 -0
  25. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/grpc_asyncio.py +299 -0
  26. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/rest.py +434 -0
  27. google/cloud/cloudcontrolspartner_v1/types/__init__.py +82 -0
  28. google/cloud/cloudcontrolspartner_v1/types/access_approval_requests.py +228 -0
  29. google/cloud/cloudcontrolspartner_v1/types/completion_state.py +53 -0
  30. google/cloud/cloudcontrolspartner_v1/types/core.py +93 -0
  31. google/cloud/cloudcontrolspartner_v1/types/customer_workloads.py +300 -0
  32. google/cloud/cloudcontrolspartner_v1/types/customers.py +233 -0
  33. google/cloud/cloudcontrolspartner_v1/types/ekm_connections.py +141 -0
  34. google/cloud/cloudcontrolspartner_v1/types/monitoring.py +24 -0
  35. google/cloud/cloudcontrolspartner_v1/types/partner_permissions.py +94 -0
  36. google/cloud/cloudcontrolspartner_v1/types/partners.py +188 -0
  37. google/cloud/cloudcontrolspartner_v1/types/violations.py +388 -0
  38. google/cloud/cloudcontrolspartner_v1beta/__init__.py +103 -0
  39. google/cloud/cloudcontrolspartner_v1beta/gapic_metadata.json +197 -0
  40. google/cloud/cloudcontrolspartner_v1beta/gapic_version.py +16 -0
  41. google/cloud/cloudcontrolspartner_v1beta/py.typed +2 -0
  42. google/cloud/cloudcontrolspartner_v1beta/services/__init__.py +15 -0
  43. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/__init__.py +22 -0
  44. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/async_client.py +1262 -0
  45. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/client.py +1714 -0
  46. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/pagers.py +429 -0
  47. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/__init__.py +41 -0
  48. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/base.py +340 -0
  49. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/grpc.py +466 -0
  50. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/grpc_asyncio.py +472 -0
  51. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/rest.py +1212 -0
  52. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/__init__.py +22 -0
  53. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/async_client.py +530 -0
  54. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/client.py +937 -0
  55. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/pagers.py +155 -0
  56. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/__init__.py +41 -0
  57. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/base.py +194 -0
  58. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/grpc.py +300 -0
  59. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/grpc_asyncio.py +299 -0
  60. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/rest.py +434 -0
  61. google/cloud/cloudcontrolspartner_v1beta/types/__init__.py +82 -0
  62. google/cloud/cloudcontrolspartner_v1beta/types/access_approval_requests.py +230 -0
  63. google/cloud/cloudcontrolspartner_v1beta/types/completion_state.py +53 -0
  64. google/cloud/cloudcontrolspartner_v1beta/types/core.py +93 -0
  65. google/cloud/cloudcontrolspartner_v1beta/types/customer_workloads.py +304 -0
  66. google/cloud/cloudcontrolspartner_v1beta/types/customers.py +236 -0
  67. google/cloud/cloudcontrolspartner_v1beta/types/ekm_connections.py +143 -0
  68. google/cloud/cloudcontrolspartner_v1beta/types/monitoring.py +24 -0
  69. google/cloud/cloudcontrolspartner_v1beta/types/partner_permissions.py +96 -0
  70. google/cloud/cloudcontrolspartner_v1beta/types/partners.py +189 -0
  71. google/cloud/cloudcontrolspartner_v1beta/types/violations.py +391 -0
  72. google_cloud_cloudcontrolspartner-0.1.0.dist-info/LICENSE +202 -0
  73. google_cloud_cloudcontrolspartner-0.1.0.dist-info/METADATA +137 -0
  74. google_cloud_cloudcontrolspartner-0.1.0.dist-info/RECORD +76 -0
  75. google_cloud_cloudcontrolspartner-0.1.0.dist-info/WHEEL +5 -0
  76. google_cloud_cloudcontrolspartner-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,236 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2023 Google LLC
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ from __future__ import annotations
17
+
18
+ from typing import MutableMapping, MutableSequence
19
+
20
+ from google.protobuf import timestamp_pb2 # type: ignore
21
+ import proto # type: ignore
22
+
23
+ from google.cloud.cloudcontrolspartner_v1beta.types import (
24
+ completion_state as gcc_completion_state,
25
+ )
26
+
27
+ __protobuf__ = proto.module(
28
+ package="google.cloud.cloudcontrolspartner.v1beta",
29
+ manifest={
30
+ "Customer",
31
+ "ListCustomersRequest",
32
+ "ListCustomersResponse",
33
+ "GetCustomerRequest",
34
+ "CustomerOnboardingState",
35
+ "CustomerOnboardingStep",
36
+ },
37
+ )
38
+
39
+
40
+ class Customer(proto.Message):
41
+ r"""Contains metadata around a Cloud Controls Partner Customer
42
+
43
+ Attributes:
44
+ name (str):
45
+ Identifier. Format:
46
+
47
+ organizations/{organization}/locations/{location}/customers/{customer}
48
+ display_name (str):
49
+ The customer organization's display name.
50
+ E.g. "google.com".
51
+ customer_onboarding_state (google.cloud.cloudcontrolspartner_v1beta.types.CustomerOnboardingState):
52
+ Container for customer onboarding steps
53
+ is_onboarded (bool):
54
+ Indicates whether a customer is fully
55
+ onboarded
56
+ """
57
+
58
+ name: str = proto.Field(
59
+ proto.STRING,
60
+ number=1,
61
+ )
62
+ display_name: str = proto.Field(
63
+ proto.STRING,
64
+ number=2,
65
+ )
66
+ customer_onboarding_state: "CustomerOnboardingState" = proto.Field(
67
+ proto.MESSAGE,
68
+ number=3,
69
+ message="CustomerOnboardingState",
70
+ )
71
+ is_onboarded: bool = proto.Field(
72
+ proto.BOOL,
73
+ number=4,
74
+ )
75
+
76
+
77
+ class ListCustomersRequest(proto.Message):
78
+ r"""Request to list customers
79
+
80
+ Attributes:
81
+ parent (str):
82
+ Required. Parent resource
83
+ Format:
84
+ organizations/{organization}/locations/{location}
85
+ page_size (int):
86
+ The maximum number of Customers to return.
87
+ The service may return fewer than this value. If
88
+ unspecified, at most 500 Customers will be
89
+ returned.
90
+ page_token (str):
91
+ A page token, received from a previous ``ListCustomers``
92
+ call. Provide this to retrieve the subsequent page.
93
+ filter (str):
94
+ Optional. Filtering results
95
+ order_by (str):
96
+ Optional. Hint for how to order the results
97
+ """
98
+
99
+ parent: str = proto.Field(
100
+ proto.STRING,
101
+ number=1,
102
+ )
103
+ page_size: int = proto.Field(
104
+ proto.INT32,
105
+ number=2,
106
+ )
107
+ page_token: str = proto.Field(
108
+ proto.STRING,
109
+ number=3,
110
+ )
111
+ filter: str = proto.Field(
112
+ proto.STRING,
113
+ number=4,
114
+ )
115
+ order_by: str = proto.Field(
116
+ proto.STRING,
117
+ number=5,
118
+ )
119
+
120
+
121
+ class ListCustomersResponse(proto.Message):
122
+ r"""Response message for list customer Customers requests
123
+
124
+ Attributes:
125
+ customers (MutableSequence[google.cloud.cloudcontrolspartner_v1beta.types.Customer]):
126
+ List of customers
127
+ next_page_token (str):
128
+ A token that can be sent as ``page_token`` to retrieve the
129
+ next page. If this field is omitted, there are no subsequent
130
+ pages.
131
+ unreachable (MutableSequence[str]):
132
+ Locations that could not be reached.
133
+ """
134
+
135
+ @property
136
+ def raw_page(self):
137
+ return self
138
+
139
+ customers: MutableSequence["Customer"] = proto.RepeatedField(
140
+ proto.MESSAGE,
141
+ number=1,
142
+ message="Customer",
143
+ )
144
+ next_page_token: str = proto.Field(
145
+ proto.STRING,
146
+ number=2,
147
+ )
148
+ unreachable: MutableSequence[str] = proto.RepeatedField(
149
+ proto.STRING,
150
+ number=3,
151
+ )
152
+
153
+
154
+ class GetCustomerRequest(proto.Message):
155
+ r"""Message for getting a customer
156
+
157
+ Attributes:
158
+ name (str):
159
+ Required. Format:
160
+
161
+ organizations/{organization}/locations/{location}/customers/{customer}
162
+ """
163
+
164
+ name: str = proto.Field(
165
+ proto.STRING,
166
+ number=1,
167
+ )
168
+
169
+
170
+ class CustomerOnboardingState(proto.Message):
171
+ r"""Container for customer onboarding steps
172
+
173
+ Attributes:
174
+ onboarding_steps (MutableSequence[google.cloud.cloudcontrolspartner_v1beta.types.CustomerOnboardingStep]):
175
+ List of customer onboarding steps
176
+ """
177
+
178
+ onboarding_steps: MutableSequence["CustomerOnboardingStep"] = proto.RepeatedField(
179
+ proto.MESSAGE,
180
+ number=1,
181
+ message="CustomerOnboardingStep",
182
+ )
183
+
184
+
185
+ class CustomerOnboardingStep(proto.Message):
186
+ r"""Container for customer onboarding information
187
+
188
+ Attributes:
189
+ step (google.cloud.cloudcontrolspartner_v1beta.types.CustomerOnboardingStep.Step):
190
+ The onboarding step
191
+ start_time (google.protobuf.timestamp_pb2.Timestamp):
192
+ The starting time of the onboarding step
193
+ completion_time (google.protobuf.timestamp_pb2.Timestamp):
194
+ The completion time of the onboarding step
195
+ completion_state (google.cloud.cloudcontrolspartner_v1beta.types.CompletionState):
196
+ Output only. Current state of the step
197
+ """
198
+
199
+ class Step(proto.Enum):
200
+ r"""Enum for possible onboarding steps
201
+
202
+ Values:
203
+ STEP_UNSPECIFIED (0):
204
+ Unspecified step
205
+ KAJ_ENROLLMENT (1):
206
+ KAJ Enrollment
207
+ CUSTOMER_ENVIRONMENT (2):
208
+ Customer Environment
209
+ """
210
+ STEP_UNSPECIFIED = 0
211
+ KAJ_ENROLLMENT = 1
212
+ CUSTOMER_ENVIRONMENT = 2
213
+
214
+ step: Step = proto.Field(
215
+ proto.ENUM,
216
+ number=1,
217
+ enum=Step,
218
+ )
219
+ start_time: timestamp_pb2.Timestamp = proto.Field(
220
+ proto.MESSAGE,
221
+ number=2,
222
+ message=timestamp_pb2.Timestamp,
223
+ )
224
+ completion_time: timestamp_pb2.Timestamp = proto.Field(
225
+ proto.MESSAGE,
226
+ number=3,
227
+ message=timestamp_pb2.Timestamp,
228
+ )
229
+ completion_state: gcc_completion_state.CompletionState = proto.Field(
230
+ proto.ENUM,
231
+ number=4,
232
+ enum=gcc_completion_state.CompletionState,
233
+ )
234
+
235
+
236
+ __all__ = tuple(sorted(__protobuf__.manifest))
@@ -0,0 +1,143 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2023 Google LLC
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ from __future__ import annotations
17
+
18
+ from typing import MutableMapping, MutableSequence
19
+
20
+ import proto # type: ignore
21
+
22
+ __protobuf__ = proto.module(
23
+ package="google.cloud.cloudcontrolspartner.v1beta",
24
+ manifest={
25
+ "EkmConnections",
26
+ "GetEkmConnectionsRequest",
27
+ "EkmConnection",
28
+ },
29
+ )
30
+
31
+
32
+ class EkmConnections(proto.Message):
33
+ r"""The EKM connections associated with a workload
34
+
35
+ Attributes:
36
+ name (str):
37
+ Identifier. Format:
38
+
39
+ organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/ekmConnections
40
+ ekm_connections (MutableSequence[google.cloud.cloudcontrolspartner_v1beta.types.EkmConnection]):
41
+ The EKM connections associated with the
42
+ workload
43
+ """
44
+
45
+ name: str = proto.Field(
46
+ proto.STRING,
47
+ number=1,
48
+ )
49
+ ekm_connections: MutableSequence["EkmConnection"] = proto.RepeatedField(
50
+ proto.MESSAGE,
51
+ number=2,
52
+ message="EkmConnection",
53
+ )
54
+
55
+
56
+ class GetEkmConnectionsRequest(proto.Message):
57
+ r"""Request for getting the EKM connections associated with a
58
+ workload
59
+
60
+ Attributes:
61
+ name (str):
62
+ Required. Format:
63
+
64
+ organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/ekmConnections
65
+ """
66
+
67
+ name: str = proto.Field(
68
+ proto.STRING,
69
+ number=1,
70
+ )
71
+
72
+
73
+ class EkmConnection(proto.Message):
74
+ r"""Details about the EKM connection
75
+
76
+ Attributes:
77
+ connection_name (str):
78
+ Resource name of the EKM connection in the format:
79
+ projects/{project}/locations/{location}/ekmConnections/{ekm_connection}
80
+ connection_state (google.cloud.cloudcontrolspartner_v1beta.types.EkmConnection.ConnectionState):
81
+ Output only. The connection state
82
+ connection_error (google.cloud.cloudcontrolspartner_v1beta.types.EkmConnection.ConnectionError):
83
+ The connection error that occurred if any
84
+ """
85
+
86
+ class ConnectionState(proto.Enum):
87
+ r"""The EKM connection state.
88
+
89
+ Values:
90
+ CONNECTION_STATE_UNSPECIFIED (0):
91
+ Unspecified EKM connection state
92
+ AVAILABLE (1):
93
+ Available EKM connection state
94
+ NOT_AVAILABLE (2):
95
+ Not available EKM connection state
96
+ ERROR (3):
97
+ Error EKM connection state
98
+ PERMISSION_DENIED (4):
99
+ Permission denied EKM connection state
100
+ """
101
+ CONNECTION_STATE_UNSPECIFIED = 0
102
+ AVAILABLE = 1
103
+ NOT_AVAILABLE = 2
104
+ ERROR = 3
105
+ PERMISSION_DENIED = 4
106
+
107
+ class ConnectionError(proto.Message):
108
+ r"""Information around the error that occurred if the connection
109
+ state is anything other than available or unspecified
110
+
111
+ Attributes:
112
+ error_domain (str):
113
+ The error domain for the error
114
+ error_message (str):
115
+ The error message for the error
116
+ """
117
+
118
+ error_domain: str = proto.Field(
119
+ proto.STRING,
120
+ number=1,
121
+ )
122
+ error_message: str = proto.Field(
123
+ proto.STRING,
124
+ number=2,
125
+ )
126
+
127
+ connection_name: str = proto.Field(
128
+ proto.STRING,
129
+ number=1,
130
+ )
131
+ connection_state: ConnectionState = proto.Field(
132
+ proto.ENUM,
133
+ number=2,
134
+ enum=ConnectionState,
135
+ )
136
+ connection_error: ConnectionError = proto.Field(
137
+ proto.MESSAGE,
138
+ number=3,
139
+ message=ConnectionError,
140
+ )
141
+
142
+
143
+ __all__ = tuple(sorted(__protobuf__.manifest))
@@ -0,0 +1,24 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2023 Google LLC
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ import proto # type: ignore
17
+
18
+ __protobuf__ = proto.module(
19
+ package="google.cloud.cloudcontrolspartner.v1beta",
20
+ manifest={},
21
+ )
22
+
23
+
24
+ __all__ = tuple(sorted(__protobuf__.manifest))
@@ -0,0 +1,96 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2023 Google LLC
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ from __future__ import annotations
17
+
18
+ from typing import MutableMapping, MutableSequence
19
+
20
+ import proto # type: ignore
21
+
22
+ __protobuf__ = proto.module(
23
+ package="google.cloud.cloudcontrolspartner.v1beta",
24
+ manifest={
25
+ "PartnerPermissions",
26
+ "GetPartnerPermissionsRequest",
27
+ },
28
+ )
29
+
30
+
31
+ class PartnerPermissions(proto.Message):
32
+ r"""The permissions granted to the partner for a workload
33
+
34
+ Attributes:
35
+ name (str):
36
+ Identifier. Format:
37
+
38
+ organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/partnerPermissions
39
+ partner_permissions (MutableSequence[google.cloud.cloudcontrolspartner_v1beta.types.PartnerPermissions.Permission]):
40
+ The partner permissions granted for the
41
+ workload
42
+ """
43
+
44
+ class Permission(proto.Enum):
45
+ r"""
46
+
47
+ Values:
48
+ PERMISSION_UNSPECIFIED (0):
49
+ Unspecified partner permission
50
+ ACCESS_TRANSPARENCY_AND_EMERGENCY_ACCESS_LOGS (1):
51
+ Permission for Access Transparency and
52
+ emergency logs
53
+ ASSURED_WORKLOADS_MONITORING (2):
54
+ Permission for Assured Workloads monitoring
55
+ violations
56
+ ACCESS_APPROVAL_REQUESTS (3):
57
+ Permission for Access Approval requests
58
+ ASSURED_WORKLOADS_EKM_CONNECTION_STATUS (4):
59
+ Permission for External Key Manager
60
+ connection status
61
+ """
62
+ PERMISSION_UNSPECIFIED = 0
63
+ ACCESS_TRANSPARENCY_AND_EMERGENCY_ACCESS_LOGS = 1
64
+ ASSURED_WORKLOADS_MONITORING = 2
65
+ ACCESS_APPROVAL_REQUESTS = 3
66
+ ASSURED_WORKLOADS_EKM_CONNECTION_STATUS = 4
67
+
68
+ name: str = proto.Field(
69
+ proto.STRING,
70
+ number=1,
71
+ )
72
+ partner_permissions: MutableSequence[Permission] = proto.RepeatedField(
73
+ proto.ENUM,
74
+ number=2,
75
+ enum=Permission,
76
+ )
77
+
78
+
79
+ class GetPartnerPermissionsRequest(proto.Message):
80
+ r"""Request for getting the partner permissions granted for a
81
+ workload
82
+
83
+ Attributes:
84
+ name (str):
85
+ Required. Name of the resource to get in the
86
+ format:
87
+ organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/partnerPermissions
88
+ """
89
+
90
+ name: str = proto.Field(
91
+ proto.STRING,
92
+ number=1,
93
+ )
94
+
95
+
96
+ __all__ = tuple(sorted(__protobuf__.manifest))
@@ -0,0 +1,189 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2023 Google LLC
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ from __future__ import annotations
17
+
18
+ from typing import MutableMapping, MutableSequence
19
+
20
+ from google.protobuf import timestamp_pb2 # type: ignore
21
+ import proto # type: ignore
22
+
23
+ __protobuf__ = proto.module(
24
+ package="google.cloud.cloudcontrolspartner.v1beta",
25
+ manifest={
26
+ "Partner",
27
+ "GetPartnerRequest",
28
+ "Sku",
29
+ "EkmMetadata",
30
+ },
31
+ )
32
+
33
+
34
+ class Partner(proto.Message):
35
+ r"""Message describing Partner resource
36
+
37
+ Attributes:
38
+ name (str):
39
+ Identifier. The resource name of the partner.
40
+ Format:
41
+ organizations/{organization}/locations/{location}/partner
42
+ Example:
43
+ "organizations/123456/locations/us-central1/partner".
44
+ skus (MutableSequence[google.cloud.cloudcontrolspartner_v1beta.types.Sku]):
45
+ List of SKUs the partner is offering
46
+ ekm_solutions (MutableSequence[google.cloud.cloudcontrolspartner_v1beta.types.EkmMetadata]):
47
+ List of Google Cloud supported EKM partners
48
+ supported by the partner
49
+ operated_cloud_regions (MutableSequence[str]):
50
+ List of Google Cloud regions that the partner
51
+ sells services to customers. Valid Google Cloud
52
+ regions found here:
53
+
54
+ https://cloud.google.com/compute/docs/regions-zones
55
+ partner_project_id (str):
56
+ Google Cloud project ID in the partner's
57
+ Google Cloud organization for receiving enhanced
58
+ Logs for Partners.
59
+ create_time (google.protobuf.timestamp_pb2.Timestamp):
60
+ Output only. Time the resource was created
61
+ update_time (google.protobuf.timestamp_pb2.Timestamp):
62
+ Output only. The last time the resource was
63
+ updated
64
+ """
65
+
66
+ name: str = proto.Field(
67
+ proto.STRING,
68
+ number=1,
69
+ )
70
+ skus: MutableSequence["Sku"] = proto.RepeatedField(
71
+ proto.MESSAGE,
72
+ number=3,
73
+ message="Sku",
74
+ )
75
+ ekm_solutions: MutableSequence["EkmMetadata"] = proto.RepeatedField(
76
+ proto.MESSAGE,
77
+ number=4,
78
+ message="EkmMetadata",
79
+ )
80
+ operated_cloud_regions: MutableSequence[str] = proto.RepeatedField(
81
+ proto.STRING,
82
+ number=5,
83
+ )
84
+ partner_project_id: str = proto.Field(
85
+ proto.STRING,
86
+ number=7,
87
+ )
88
+ create_time: timestamp_pb2.Timestamp = proto.Field(
89
+ proto.MESSAGE,
90
+ number=9,
91
+ message=timestamp_pb2.Timestamp,
92
+ )
93
+ update_time: timestamp_pb2.Timestamp = proto.Field(
94
+ proto.MESSAGE,
95
+ number=10,
96
+ message=timestamp_pb2.Timestamp,
97
+ )
98
+
99
+
100
+ class GetPartnerRequest(proto.Message):
101
+ r"""Message for getting a Partner
102
+
103
+ Attributes:
104
+ name (str):
105
+ Required. Format:
106
+ organizations/{organization}/locations/{location}/partner
107
+ """
108
+
109
+ name: str = proto.Field(
110
+ proto.STRING,
111
+ number=1,
112
+ )
113
+
114
+
115
+ class Sku(proto.Message):
116
+ r"""Represents the SKU a partner owns inside Google Cloud to sell
117
+ to customers.
118
+
119
+ Attributes:
120
+ id (str):
121
+ Argentum product SKU, that is associated with
122
+ the partner offerings to customers used by
123
+ Syntro for billing purposes. SKUs can represent
124
+ resold Google products or support services.
125
+ display_name (str):
126
+ Display name of the product identified by the
127
+ SKU. A partner may want to show partner branded
128
+ names for their offerings such as local
129
+ sovereign cloud solutions.
130
+ """
131
+
132
+ id: str = proto.Field(
133
+ proto.STRING,
134
+ number=1,
135
+ )
136
+ display_name: str = proto.Field(
137
+ proto.STRING,
138
+ number=2,
139
+ )
140
+
141
+
142
+ class EkmMetadata(proto.Message):
143
+ r"""Holds information needed by Mudbray to use partner EKMs for
144
+ workloads.
145
+
146
+ Attributes:
147
+ ekm_solution (google.cloud.cloudcontrolspartner_v1beta.types.EkmMetadata.EkmSolution):
148
+ The Cloud EKM partner.
149
+ ekm_endpoint_uri (str):
150
+ Endpoint for sending requests to the EKM for
151
+ key provisioning during Assured Workload
152
+ creation.
153
+ """
154
+
155
+ class EkmSolution(proto.Enum):
156
+ r"""Represents Google Cloud supported external key management partners
157
+ `Google Cloud EKM partners
158
+ docs <https://cloud.google.com/kms/docs/ekm#supported_partners>`__.
159
+
160
+ Values:
161
+ EKM_SOLUTION_UNSPECIFIED (0):
162
+ Unspecified EKM solution
163
+ FORTANIX (1):
164
+ EKM Partner Fortanix
165
+ FUTUREX (2):
166
+ EKM Partner FutureX
167
+ THALES (3):
168
+ EKM Partner Thales
169
+ VIRTRU (4):
170
+ EKM Partner Virtu
171
+ """
172
+ EKM_SOLUTION_UNSPECIFIED = 0
173
+ FORTANIX = 1
174
+ FUTUREX = 2
175
+ THALES = 3
176
+ VIRTRU = 4
177
+
178
+ ekm_solution: EkmSolution = proto.Field(
179
+ proto.ENUM,
180
+ number=1,
181
+ enum=EkmSolution,
182
+ )
183
+ ekm_endpoint_uri: str = proto.Field(
184
+ proto.STRING,
185
+ number=2,
186
+ )
187
+
188
+
189
+ __all__ = tuple(sorted(__protobuf__.manifest))