pulumi-mongodbatlas 3.37.0a1764050941__py3-none-any.whl → 3.37.0a1764097779__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.
@@ -93,10 +93,14 @@ __all__ = [
93
93
  'CloudProviderAccessAuthorizationAzureArgsDict',
94
94
  'CloudProviderAccessAuthorizationFeatureUsageArgs',
95
95
  'CloudProviderAccessAuthorizationFeatureUsageArgsDict',
96
+ 'CloudProviderAccessAuthorizationGcpArgs',
97
+ 'CloudProviderAccessAuthorizationGcpArgsDict',
96
98
  'CloudProviderAccessSetupAwsConfigArgs',
97
99
  'CloudProviderAccessSetupAwsConfigArgsDict',
98
100
  'CloudProviderAccessSetupAzureConfigArgs',
99
101
  'CloudProviderAccessSetupAzureConfigArgsDict',
102
+ 'CloudProviderAccessSetupGcpConfigArgs',
103
+ 'CloudProviderAccessSetupGcpConfigArgsDict',
100
104
  'ClusterAdvancedConfigurationArgs',
101
105
  'ClusterAdvancedConfigurationArgsDict',
102
106
  'ClusterBiConnectorConfigArgs',
@@ -4711,6 +4715,29 @@ class CloudProviderAccessAuthorizationFeatureUsageArgs:
4711
4715
  pulumi.set(self, "feature_type", value)
4712
4716
 
4713
4717
 
4718
+ if not MYPY:
4719
+ class CloudProviderAccessAuthorizationGcpArgsDict(TypedDict):
4720
+ service_account_for_atlas: NotRequired[pulumi.Input[_builtins.str]]
4721
+ elif False:
4722
+ CloudProviderAccessAuthorizationGcpArgsDict: TypeAlias = Mapping[str, Any]
4723
+
4724
+ @pulumi.input_type
4725
+ class CloudProviderAccessAuthorizationGcpArgs:
4726
+ def __init__(__self__, *,
4727
+ service_account_for_atlas: Optional[pulumi.Input[_builtins.str]] = None):
4728
+ if service_account_for_atlas is not None:
4729
+ pulumi.set(__self__, "service_account_for_atlas", service_account_for_atlas)
4730
+
4731
+ @_builtins.property
4732
+ @pulumi.getter(name="serviceAccountForAtlas")
4733
+ def service_account_for_atlas(self) -> Optional[pulumi.Input[_builtins.str]]:
4734
+ return pulumi.get(self, "service_account_for_atlas")
4735
+
4736
+ @service_account_for_atlas.setter
4737
+ def service_account_for_atlas(self, value: Optional[pulumi.Input[_builtins.str]]):
4738
+ pulumi.set(self, "service_account_for_atlas", value)
4739
+
4740
+
4714
4741
  if not MYPY:
4715
4742
  class CloudProviderAccessSetupAwsConfigArgsDict(TypedDict):
4716
4743
  atlas_assumed_role_external_id: NotRequired[pulumi.Input[_builtins.str]]
@@ -4793,6 +4820,42 @@ class CloudProviderAccessSetupAzureConfigArgs:
4793
4820
  pulumi.set(self, "tenant_id", value)
4794
4821
 
4795
4822
 
4823
+ if not MYPY:
4824
+ class CloudProviderAccessSetupGcpConfigArgsDict(TypedDict):
4825
+ service_account_for_atlas: NotRequired[pulumi.Input[_builtins.str]]
4826
+ status: NotRequired[pulumi.Input[_builtins.str]]
4827
+ elif False:
4828
+ CloudProviderAccessSetupGcpConfigArgsDict: TypeAlias = Mapping[str, Any]
4829
+
4830
+ @pulumi.input_type
4831
+ class CloudProviderAccessSetupGcpConfigArgs:
4832
+ def __init__(__self__, *,
4833
+ service_account_for_atlas: Optional[pulumi.Input[_builtins.str]] = None,
4834
+ status: Optional[pulumi.Input[_builtins.str]] = None):
4835
+ if service_account_for_atlas is not None:
4836
+ pulumi.set(__self__, "service_account_for_atlas", service_account_for_atlas)
4837
+ if status is not None:
4838
+ pulumi.set(__self__, "status", status)
4839
+
4840
+ @_builtins.property
4841
+ @pulumi.getter(name="serviceAccountForAtlas")
4842
+ def service_account_for_atlas(self) -> Optional[pulumi.Input[_builtins.str]]:
4843
+ return pulumi.get(self, "service_account_for_atlas")
4844
+
4845
+ @service_account_for_atlas.setter
4846
+ def service_account_for_atlas(self, value: Optional[pulumi.Input[_builtins.str]]):
4847
+ pulumi.set(self, "service_account_for_atlas", value)
4848
+
4849
+ @_builtins.property
4850
+ @pulumi.getter
4851
+ def status(self) -> Optional[pulumi.Input[_builtins.str]]:
4852
+ return pulumi.get(self, "status")
4853
+
4854
+ @status.setter
4855
+ def status(self, value: Optional[pulumi.Input[_builtins.str]]):
4856
+ pulumi.set(self, "status", value)
4857
+
4858
+
4796
4859
  if not MYPY:
4797
4860
  class ClusterAdvancedConfigurationArgsDict(TypedDict):
4798
4861
  change_stream_options_pre_and_post_images_expire_after_seconds: NotRequired[pulumi.Input[_builtins.int]]
@@ -7613,6 +7676,10 @@ if not MYPY:
7613
7676
  """
7614
7677
  Resource path that displays the key version resource ID for your Google Cloud KMS.
7615
7678
  """
7679
+ role_id: NotRequired[pulumi.Input[_builtins.str]]
7680
+ """
7681
+ Unique 24-hexadecimal digit string that identifies the Google Cloud Provider Access Role that MongoDB Cloud uses to access the Google Cloud KMS.
7682
+ """
7616
7683
  service_account_key: NotRequired[pulumi.Input[_builtins.str]]
7617
7684
  """
7618
7685
  JavaScript Object Notation (JSON) object that contains the Google Cloud Key Management Service (KMS). Format the JSON as a string and not as an object.
@@ -7629,11 +7696,13 @@ class EncryptionAtRestGoogleCloudKmsConfigArgs:
7629
7696
  def __init__(__self__, *,
7630
7697
  enabled: Optional[pulumi.Input[_builtins.bool]] = None,
7631
7698
  key_version_resource_id: Optional[pulumi.Input[_builtins.str]] = None,
7699
+ role_id: Optional[pulumi.Input[_builtins.str]] = None,
7632
7700
  service_account_key: Optional[pulumi.Input[_builtins.str]] = None,
7633
7701
  valid: Optional[pulumi.Input[_builtins.bool]] = None):
7634
7702
  """
7635
7703
  :param pulumi.Input[_builtins.bool] enabled: Flag that indicates whether someone enabled encryption at rest for the specified project. To disable encryption at rest using customer key management and remove the configuration details, pass only this parameter with a value of `false`.
7636
7704
  :param pulumi.Input[_builtins.str] key_version_resource_id: Resource path that displays the key version resource ID for your Google Cloud KMS.
7705
+ :param pulumi.Input[_builtins.str] role_id: Unique 24-hexadecimal digit string that identifies the Google Cloud Provider Access Role that MongoDB Cloud uses to access the Google Cloud KMS.
7637
7706
  :param pulumi.Input[_builtins.str] service_account_key: JavaScript Object Notation (JSON) object that contains the Google Cloud Key Management Service (KMS). Format the JSON as a string and not as an object.
7638
7707
  :param pulumi.Input[_builtins.bool] valid: Flag that indicates whether the Google Cloud Key Management Service (KMS) encryption key can encrypt and decrypt data.
7639
7708
  """
@@ -7641,6 +7710,8 @@ class EncryptionAtRestGoogleCloudKmsConfigArgs:
7641
7710
  pulumi.set(__self__, "enabled", enabled)
7642
7711
  if key_version_resource_id is not None:
7643
7712
  pulumi.set(__self__, "key_version_resource_id", key_version_resource_id)
7713
+ if role_id is not None:
7714
+ pulumi.set(__self__, "role_id", role_id)
7644
7715
  if service_account_key is not None:
7645
7716
  pulumi.set(__self__, "service_account_key", service_account_key)
7646
7717
  if valid is not None:
@@ -7670,6 +7741,18 @@ class EncryptionAtRestGoogleCloudKmsConfigArgs:
7670
7741
  def key_version_resource_id(self, value: Optional[pulumi.Input[_builtins.str]]):
7671
7742
  pulumi.set(self, "key_version_resource_id", value)
7672
7743
 
7744
+ @_builtins.property
7745
+ @pulumi.getter(name="roleId")
7746
+ def role_id(self) -> Optional[pulumi.Input[_builtins.str]]:
7747
+ """
7748
+ Unique 24-hexadecimal digit string that identifies the Google Cloud Provider Access Role that MongoDB Cloud uses to access the Google Cloud KMS.
7749
+ """
7750
+ return pulumi.get(self, "role_id")
7751
+
7752
+ @role_id.setter
7753
+ def role_id(self, value: Optional[pulumi.Input[_builtins.str]]):
7754
+ pulumi.set(self, "role_id", value)
7755
+
7673
7756
  @_builtins.property
7674
7757
  @pulumi.getter(name="serviceAccountKey")
7675
7758
  def service_account_key(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -79,6 +79,7 @@ class _CloudProviderAccessAuthorizationState:
79
79
  aws: Optional[pulumi.Input['CloudProviderAccessAuthorizationAwsArgs']] = None,
80
80
  azure: Optional[pulumi.Input['CloudProviderAccessAuthorizationAzureArgs']] = None,
81
81
  feature_usages: Optional[pulumi.Input[Sequence[pulumi.Input['CloudProviderAccessAuthorizationFeatureUsageArgs']]]] = None,
82
+ gcps: Optional[pulumi.Input[Sequence[pulumi.Input['CloudProviderAccessAuthorizationGcpArgs']]]] = None,
82
83
  project_id: Optional[pulumi.Input[_builtins.str]] = None,
83
84
  role_id: Optional[pulumi.Input[_builtins.str]] = None):
84
85
  """
@@ -92,6 +93,8 @@ class _CloudProviderAccessAuthorizationState:
92
93
  pulumi.set(__self__, "azure", azure)
93
94
  if feature_usages is not None:
94
95
  pulumi.set(__self__, "feature_usages", feature_usages)
96
+ if gcps is not None:
97
+ pulumi.set(__self__, "gcps", gcps)
95
98
  if project_id is not None:
96
99
  pulumi.set(__self__, "project_id", project_id)
97
100
  if role_id is not None:
@@ -133,6 +136,15 @@ class _CloudProviderAccessAuthorizationState:
133
136
  def feature_usages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CloudProviderAccessAuthorizationFeatureUsageArgs']]]]):
134
137
  pulumi.set(self, "feature_usages", value)
135
138
 
139
+ @_builtins.property
140
+ @pulumi.getter
141
+ def gcps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CloudProviderAccessAuthorizationGcpArgs']]]]:
142
+ return pulumi.get(self, "gcps")
143
+
144
+ @gcps.setter
145
+ def gcps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CloudProviderAccessAuthorizationGcpArgs']]]]):
146
+ pulumi.set(self, "gcps", value)
147
+
136
148
  @_builtins.property
137
149
  @pulumi.getter(name="projectId")
138
150
  def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -214,6 +226,7 @@ class CloudProviderAccessAuthorization(pulumi.CustomResource):
214
226
  __props__.__dict__["role_id"] = role_id
215
227
  __props__.__dict__["authorized_date"] = None
216
228
  __props__.__dict__["feature_usages"] = None
229
+ __props__.__dict__["gcps"] = None
217
230
  super(CloudProviderAccessAuthorization, __self__).__init__(
218
231
  'mongodbatlas:index/cloudProviderAccessAuthorization:CloudProviderAccessAuthorization',
219
232
  resource_name,
@@ -228,6 +241,7 @@ class CloudProviderAccessAuthorization(pulumi.CustomResource):
228
241
  aws: Optional[pulumi.Input[Union['CloudProviderAccessAuthorizationAwsArgs', 'CloudProviderAccessAuthorizationAwsArgsDict']]] = None,
229
242
  azure: Optional[pulumi.Input[Union['CloudProviderAccessAuthorizationAzureArgs', 'CloudProviderAccessAuthorizationAzureArgsDict']]] = None,
230
243
  feature_usages: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CloudProviderAccessAuthorizationFeatureUsageArgs', 'CloudProviderAccessAuthorizationFeatureUsageArgsDict']]]]] = None,
244
+ gcps: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CloudProviderAccessAuthorizationGcpArgs', 'CloudProviderAccessAuthorizationGcpArgsDict']]]]] = None,
231
245
  project_id: Optional[pulumi.Input[_builtins.str]] = None,
232
246
  role_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'CloudProviderAccessAuthorization':
233
247
  """
@@ -246,6 +260,7 @@ class CloudProviderAccessAuthorization(pulumi.CustomResource):
246
260
  __props__.__dict__["aws"] = aws
247
261
  __props__.__dict__["azure"] = azure
248
262
  __props__.__dict__["feature_usages"] = feature_usages
263
+ __props__.__dict__["gcps"] = gcps
249
264
  __props__.__dict__["project_id"] = project_id
250
265
  __props__.__dict__["role_id"] = role_id
251
266
  return CloudProviderAccessAuthorization(resource_name, opts=opts, __props__=__props__)
@@ -270,6 +285,11 @@ class CloudProviderAccessAuthorization(pulumi.CustomResource):
270
285
  def feature_usages(self) -> pulumi.Output[Sequence['outputs.CloudProviderAccessAuthorizationFeatureUsage']]:
271
286
  return pulumi.get(self, "feature_usages")
272
287
 
288
+ @_builtins.property
289
+ @pulumi.getter
290
+ def gcps(self) -> pulumi.Output[Sequence['outputs.CloudProviderAccessAuthorizationGcp']]:
291
+ return pulumi.get(self, "gcps")
292
+
273
293
  @_builtins.property
274
294
  @pulumi.getter(name="projectId")
275
295
  def project_id(self) -> pulumi.Output[_builtins.str]:
@@ -66,6 +66,7 @@ class _CloudProviderAccessSetupState:
66
66
  aws_configs: Optional[pulumi.Input[Sequence[pulumi.Input['CloudProviderAccessSetupAwsConfigArgs']]]] = None,
67
67
  azure_configs: Optional[pulumi.Input[Sequence[pulumi.Input['CloudProviderAccessSetupAzureConfigArgs']]]] = None,
68
68
  created_date: Optional[pulumi.Input[_builtins.str]] = None,
69
+ gcp_configs: Optional[pulumi.Input[Sequence[pulumi.Input['CloudProviderAccessSetupGcpConfigArgs']]]] = None,
69
70
  last_updated_date: Optional[pulumi.Input[_builtins.str]] = None,
70
71
  project_id: Optional[pulumi.Input[_builtins.str]] = None,
71
72
  provider_name: Optional[pulumi.Input[_builtins.str]] = None,
@@ -79,6 +80,8 @@ class _CloudProviderAccessSetupState:
79
80
  pulumi.set(__self__, "azure_configs", azure_configs)
80
81
  if created_date is not None:
81
82
  pulumi.set(__self__, "created_date", created_date)
83
+ if gcp_configs is not None:
84
+ pulumi.set(__self__, "gcp_configs", gcp_configs)
82
85
  if last_updated_date is not None:
83
86
  pulumi.set(__self__, "last_updated_date", last_updated_date)
84
87
  if project_id is not None:
@@ -115,6 +118,15 @@ class _CloudProviderAccessSetupState:
115
118
  def created_date(self, value: Optional[pulumi.Input[_builtins.str]]):
116
119
  pulumi.set(self, "created_date", value)
117
120
 
121
+ @_builtins.property
122
+ @pulumi.getter(name="gcpConfigs")
123
+ def gcp_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CloudProviderAccessSetupGcpConfigArgs']]]]:
124
+ return pulumi.get(self, "gcp_configs")
125
+
126
+ @gcp_configs.setter
127
+ def gcp_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CloudProviderAccessSetupGcpConfigArgs']]]]):
128
+ pulumi.set(self, "gcp_configs", value)
129
+
118
130
  @_builtins.property
119
131
  @pulumi.getter(name="lastUpdatedDate")
120
132
  def last_updated_date(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -211,6 +223,7 @@ class CloudProviderAccessSetup(pulumi.CustomResource):
211
223
  __props__.__dict__["provider_name"] = provider_name
212
224
  __props__.__dict__["aws_configs"] = None
213
225
  __props__.__dict__["created_date"] = None
226
+ __props__.__dict__["gcp_configs"] = None
214
227
  __props__.__dict__["last_updated_date"] = None
215
228
  __props__.__dict__["role_id"] = None
216
229
  super(CloudProviderAccessSetup, __self__).__init__(
@@ -226,6 +239,7 @@ class CloudProviderAccessSetup(pulumi.CustomResource):
226
239
  aws_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CloudProviderAccessSetupAwsConfigArgs', 'CloudProviderAccessSetupAwsConfigArgsDict']]]]] = None,
227
240
  azure_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CloudProviderAccessSetupAzureConfigArgs', 'CloudProviderAccessSetupAzureConfigArgsDict']]]]] = None,
228
241
  created_date: Optional[pulumi.Input[_builtins.str]] = None,
242
+ gcp_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CloudProviderAccessSetupGcpConfigArgs', 'CloudProviderAccessSetupGcpConfigArgsDict']]]]] = None,
229
243
  last_updated_date: Optional[pulumi.Input[_builtins.str]] = None,
230
244
  project_id: Optional[pulumi.Input[_builtins.str]] = None,
231
245
  provider_name: Optional[pulumi.Input[_builtins.str]] = None,
@@ -245,6 +259,7 @@ class CloudProviderAccessSetup(pulumi.CustomResource):
245
259
  __props__.__dict__["aws_configs"] = aws_configs
246
260
  __props__.__dict__["azure_configs"] = azure_configs
247
261
  __props__.__dict__["created_date"] = created_date
262
+ __props__.__dict__["gcp_configs"] = gcp_configs
248
263
  __props__.__dict__["last_updated_date"] = last_updated_date
249
264
  __props__.__dict__["project_id"] = project_id
250
265
  __props__.__dict__["provider_name"] = provider_name
@@ -266,6 +281,11 @@ class CloudProviderAccessSetup(pulumi.CustomResource):
266
281
  def created_date(self) -> pulumi.Output[_builtins.str]:
267
282
  return pulumi.get(self, "created_date")
268
283
 
284
+ @_builtins.property
285
+ @pulumi.getter(name="gcpConfigs")
286
+ def gcp_configs(self) -> pulumi.Output[Sequence['outputs.CloudProviderAccessSetupGcpConfig']]:
287
+ return pulumi.get(self, "gcp_configs")
288
+
269
289
  @_builtins.property
270
290
  @pulumi.getter(name="lastUpdatedDate")
271
291
  def last_updated_date(self) -> pulumi.Output[_builtins.str]:
@@ -28,7 +28,7 @@ class GetCloudProviderAccessSetupResult:
28
28
  """
29
29
  A collection of values returned by getCloudProviderAccessSetup.
30
30
  """
31
- def __init__(__self__, aws=None, aws_configs=None, azure_configs=None, created_date=None, id=None, last_updated_date=None, project_id=None, provider_name=None, role_id=None):
31
+ def __init__(__self__, aws=None, aws_configs=None, azure_configs=None, created_date=None, gcp_configs=None, id=None, last_updated_date=None, project_id=None, provider_name=None, role_id=None):
32
32
  if aws and not isinstance(aws, dict):
33
33
  raise TypeError("Expected argument 'aws' to be a dict")
34
34
  pulumi.set(__self__, "aws", aws)
@@ -41,6 +41,9 @@ class GetCloudProviderAccessSetupResult:
41
41
  if created_date and not isinstance(created_date, str):
42
42
  raise TypeError("Expected argument 'created_date' to be a str")
43
43
  pulumi.set(__self__, "created_date", created_date)
44
+ if gcp_configs and not isinstance(gcp_configs, list):
45
+ raise TypeError("Expected argument 'gcp_configs' to be a list")
46
+ pulumi.set(__self__, "gcp_configs", gcp_configs)
44
47
  if id and not isinstance(id, str):
45
48
  raise TypeError("Expected argument 'id' to be a str")
46
49
  pulumi.set(__self__, "id", id)
@@ -60,9 +63,6 @@ class GetCloudProviderAccessSetupResult:
60
63
  @_builtins.property
61
64
  @pulumi.getter
62
65
  def aws(self) -> Mapping[str, _builtins.str]:
63
- """
64
- aws related role information
65
- """
66
66
  return pulumi.get(self, "aws")
67
67
 
68
68
  @_builtins.property
@@ -89,6 +89,14 @@ class GetCloudProviderAccessSetupResult:
89
89
  """
90
90
  return pulumi.get(self, "created_date")
91
91
 
92
+ @_builtins.property
93
+ @pulumi.getter(name="gcpConfigs")
94
+ def gcp_configs(self) -> Sequence['outputs.GetCloudProviderAccessSetupGcpConfigResult']:
95
+ """
96
+ gcp related configurations
97
+ """
98
+ return pulumi.get(self, "gcp_configs")
99
+
92
100
  @_builtins.property
93
101
  @pulumi.getter
94
102
  def id(self) -> _builtins.str:
@@ -131,6 +139,7 @@ class AwaitableGetCloudProviderAccessSetupResult(GetCloudProviderAccessSetupResu
131
139
  aws_configs=self.aws_configs,
132
140
  azure_configs=self.azure_configs,
133
141
  created_date=self.created_date,
142
+ gcp_configs=self.gcp_configs,
134
143
  id=self.id,
135
144
  last_updated_date=self.last_updated_date,
136
145
  project_id=self.project_id,
@@ -146,7 +155,7 @@ def get_cloud_provider_access_setup(azure_configs: Optional[Sequence[Union['GetC
146
155
  """
147
156
  ## # Data Source: CloudProviderAccessSetup
148
157
 
149
- `CloudProviderAccessSetup` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported.
158
+ `CloudProviderAccessSetup` allows you to get a single role for a provider access role setup. Supported providers: AWS, AZURE and GCP.
150
159
 
151
160
  > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation.
152
161
 
@@ -183,11 +192,25 @@ def get_cloud_provider_access_setup(azure_configs: Optional[Sequence[Union['GetC
183
192
  role_id=test_role.role_id)
184
193
  ```
185
194
 
195
+ ### With GCP
196
+
197
+ ```python
198
+ import pulumi
199
+ import pulumi_mongodbatlas as mongodbatlas
200
+
201
+ test_role = mongodbatlas.CloudProviderAccessSetup("test_role",
202
+ project_id="64259ee860c43338194b0f8e",
203
+ provider_name="GCP")
204
+ single_setup = mongodbatlas.get_cloud_provider_access_setup_output(project_id=test_role.project_id,
205
+ provider_name=test_role.provider_name,
206
+ role_id=test_role.role_id)
207
+ ```
208
+
186
209
 
187
210
  :param Sequence[Union['GetCloudProviderAccessSetupAzureConfigArgs', 'GetCloudProviderAccessSetupAzureConfigArgsDict']] azure_configs: azure related configurations
188
211
  :param _builtins.str project_id: The unique ID for the project to get all Cloud Provider Access
189
- :param _builtins.str provider_name: cloud provider name, currently only AWS is supported
190
- :param _builtins.str role_id: unique role id among all the aws roles provided by mongodb atlas
212
+ :param _builtins.str provider_name: cloud provider name. Supported values: `AWS`, `AZURE`, and `GCP`.
213
+ :param _builtins.str role_id: unique role id among all the roles provided by MongoDB Atlas.
191
214
  """
192
215
  __args__ = dict()
193
216
  __args__['azureConfigs'] = azure_configs
@@ -202,6 +225,7 @@ def get_cloud_provider_access_setup(azure_configs: Optional[Sequence[Union['GetC
202
225
  aws_configs=pulumi.get(__ret__, 'aws_configs'),
203
226
  azure_configs=pulumi.get(__ret__, 'azure_configs'),
204
227
  created_date=pulumi.get(__ret__, 'created_date'),
228
+ gcp_configs=pulumi.get(__ret__, 'gcp_configs'),
205
229
  id=pulumi.get(__ret__, 'id'),
206
230
  last_updated_date=pulumi.get(__ret__, 'last_updated_date'),
207
231
  project_id=pulumi.get(__ret__, 'project_id'),
@@ -215,7 +239,7 @@ def get_cloud_provider_access_setup_output(azure_configs: Optional[pulumi.Input[
215
239
  """
216
240
  ## # Data Source: CloudProviderAccessSetup
217
241
 
218
- `CloudProviderAccessSetup` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported.
242
+ `CloudProviderAccessSetup` allows you to get a single role for a provider access role setup. Supported providers: AWS, AZURE and GCP.
219
243
 
220
244
  > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation.
221
245
 
@@ -252,11 +276,25 @@ def get_cloud_provider_access_setup_output(azure_configs: Optional[pulumi.Input[
252
276
  role_id=test_role.role_id)
253
277
  ```
254
278
 
279
+ ### With GCP
280
+
281
+ ```python
282
+ import pulumi
283
+ import pulumi_mongodbatlas as mongodbatlas
284
+
285
+ test_role = mongodbatlas.CloudProviderAccessSetup("test_role",
286
+ project_id="64259ee860c43338194b0f8e",
287
+ provider_name="GCP")
288
+ single_setup = mongodbatlas.get_cloud_provider_access_setup_output(project_id=test_role.project_id,
289
+ provider_name=test_role.provider_name,
290
+ role_id=test_role.role_id)
291
+ ```
292
+
255
293
 
256
294
  :param Sequence[Union['GetCloudProviderAccessSetupAzureConfigArgs', 'GetCloudProviderAccessSetupAzureConfigArgsDict']] azure_configs: azure related configurations
257
295
  :param _builtins.str project_id: The unique ID for the project to get all Cloud Provider Access
258
- :param _builtins.str provider_name: cloud provider name, currently only AWS is supported
259
- :param _builtins.str role_id: unique role id among all the aws roles provided by mongodb atlas
296
+ :param _builtins.str provider_name: cloud provider name. Supported values: `AWS`, `AZURE`, and `GCP`.
297
+ :param _builtins.str role_id: unique role id among all the roles provided by MongoDB Atlas.
260
298
  """
261
299
  __args__ = dict()
262
300
  __args__['azureConfigs'] = azure_configs
@@ -270,6 +308,7 @@ def get_cloud_provider_access_setup_output(azure_configs: Optional[pulumi.Input[
270
308
  aws_configs=pulumi.get(__response__, 'aws_configs'),
271
309
  azure_configs=pulumi.get(__response__, 'azure_configs'),
272
310
  created_date=pulumi.get(__response__, 'created_date'),
311
+ gcp_configs=pulumi.get(__response__, 'gcp_configs'),
273
312
  id=pulumi.get(__response__, 'id'),
274
313
  last_updated_date=pulumi.get(__response__, 'last_updated_date'),
275
314
  project_id=pulumi.get(__response__, 'project_id'),
@@ -200,6 +200,8 @@ def get_encryption_at_rest(project_id: Optional[_builtins.str] = None,
200
200
  > **NOTE:** It is possible to configure Atlas Encryption at Rest to communicate with Customer Managed Keys (Azure Key Vault or AWS KMS) over private network interfaces (Azure Private Link or AWS PrivateLink). This requires enabling the `azure_key_vault_config.require_private_networking` or the `aws_kms_config.require_private_networking` attribute, together with the configuration of the `EncryptionAtRestPrivateEndpoint` resource. Please review the `EncryptionAtRestPrivateEndpoint` resource for details.
201
201
 
202
202
  ### Configuring encryption at rest using customer key management in GCP
203
+ For authentication, you must provide either serviceAccountKey (static credentials) or roleId (service-account–based authentication). Once roleId is configured, serviceAccountKey is no longer supported.
204
+
203
205
  ```python
204
206
  import pulumi
205
207
  import pulumi_mongodbatlas as mongodbatlas
@@ -320,6 +322,8 @@ def get_encryption_at_rest_output(project_id: Optional[pulumi.Input[_builtins.st
320
322
  > **NOTE:** It is possible to configure Atlas Encryption at Rest to communicate with Customer Managed Keys (Azure Key Vault or AWS KMS) over private network interfaces (Azure Private Link or AWS PrivateLink). This requires enabling the `azure_key_vault_config.require_private_networking` or the `aws_kms_config.require_private_networking` attribute, together with the configuration of the `EncryptionAtRestPrivateEndpoint` resource. Please review the `EncryptionAtRestPrivateEndpoint` resource for details.
321
323
 
322
324
  ### Configuring encryption at rest using customer key management in GCP
325
+ For authentication, you must provide either serviceAccountKey (static credentials) or roleId (service-account–based authentication). Once roleId is configured, serviceAccountKey is no longer supported.
326
+
323
327
  ```python
324
328
  import pulumi
325
329
  import pulumi_mongodbatlas as mongodbatlas