pulumi-gcp 8.41.0a1755408441__py3-none-any.whl → 8.41.0a1755638986__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 (42) hide show
  1. pulumi_gcp/__init__.py +16 -0
  2. pulumi_gcp/artifactregistry/__init__.py +3 -0
  3. pulumi_gcp/artifactregistry/get_package.py +220 -0
  4. pulumi_gcp/artifactregistry/get_repositories.py +160 -0
  5. pulumi_gcp/artifactregistry/get_version.py +261 -0
  6. pulumi_gcp/artifactregistry/outputs.py +100 -0
  7. pulumi_gcp/backupdisasterrecovery/backup_plan.py +114 -7
  8. pulumi_gcp/backupdisasterrecovery/get_backup_plan.py +12 -1
  9. pulumi_gcp/bigquery/dataset.py +2 -2
  10. pulumi_gcp/composer/user_workloads_config_map.py +26 -2
  11. pulumi_gcp/compute/_inputs.py +355 -0
  12. pulumi_gcp/compute/get_region_backend_service.py +12 -1
  13. pulumi_gcp/compute/outputs.py +404 -0
  14. pulumi_gcp/compute/region_backend_service.py +257 -0
  15. pulumi_gcp/compute/region_security_policy.py +54 -0
  16. pulumi_gcp/compute/service_attachment.py +126 -0
  17. pulumi_gcp/container/_inputs.py +435 -15
  18. pulumi_gcp/container/outputs.py +494 -13
  19. pulumi_gcp/diagflow/__init__.py +1 -0
  20. pulumi_gcp/diagflow/_inputs.py +168 -0
  21. pulumi_gcp/diagflow/cx_playbook.py +967 -0
  22. pulumi_gcp/diagflow/outputs.py +117 -0
  23. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +24 -3
  24. pulumi_gcp/memorystore/get_instance.py +12 -1
  25. pulumi_gcp/memorystore/instance.py +70 -0
  26. pulumi_gcp/pubsub/subscription.py +84 -0
  27. pulumi_gcp/pubsub/topic.py +80 -0
  28. pulumi_gcp/pulumi-plugin.json +1 -1
  29. pulumi_gcp/sql/_inputs.py +82 -4
  30. pulumi_gcp/sql/database_instance.py +108 -7
  31. pulumi_gcp/sql/get_database_instance.py +12 -1
  32. pulumi_gcp/sql/outputs.py +154 -7
  33. pulumi_gcp/storage/_inputs.py +104 -12
  34. pulumi_gcp/storage/outputs.py +84 -7
  35. pulumi_gcp/vertex/__init__.py +1 -0
  36. pulumi_gcp/vertex/_inputs.py +122 -0
  37. pulumi_gcp/vertex/ai_rag_engine_config.py +354 -0
  38. pulumi_gcp/vertex/outputs.py +69 -0
  39. {pulumi_gcp-8.41.0a1755408441.dist-info → pulumi_gcp-8.41.0a1755638986.dist-info}/METADATA +1 -1
  40. {pulumi_gcp-8.41.0a1755408441.dist-info → pulumi_gcp-8.41.0a1755638986.dist-info}/RECORD +42 -37
  41. {pulumi_gcp-8.41.0a1755408441.dist-info → pulumi_gcp-8.41.0a1755638986.dist-info}/WHEEL +0 -0
  42. {pulumi_gcp-8.41.0a1755408441.dist-info → pulumi_gcp-8.41.0a1755638986.dist-info}/top_level.txt +0 -0
@@ -195,6 +195,8 @@ __all__ = [
195
195
  'TransferJobTransferSpecAzureBlobStorageDataSourceArgsDict',
196
196
  'TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs',
197
197
  'TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgsDict',
198
+ 'TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfigArgs',
199
+ 'TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfigArgsDict',
198
200
  'TransferJobTransferSpecGcsDataSinkArgs',
199
201
  'TransferJobTransferSpecGcsDataSinkArgsDict',
200
202
  'TransferJobTransferSpecGcsDataSourceArgs',
@@ -5603,6 +5605,10 @@ if not MYPY:
5603
5605
  """
5604
5606
  AWS credentials block.
5605
5607
  """
5608
+ cloudfront_domain: NotRequired[pulumi.Input[_builtins.str]]
5609
+ """
5610
+ The CloudFront distribution domain name pointing to this bucket, to use when fetching. See [Transfer from S3 via CloudFront](https://cloud.google.com/storage-transfer/docs/s3-cloudfront) for more information. Format: https://{id}.cloudfront.net or any valid custom domain. Must begin with https://.
5611
+ """
5606
5612
  managed_private_network: NotRequired[pulumi.Input[_builtins.bool]]
5607
5613
  """
5608
5614
  Egress bytes over a Google-managed private network. This network is shared between other users of Storage Transfer Service.
@@ -5623,12 +5629,14 @@ class TransferJobTransferSpecAwsS3DataSourceArgs:
5623
5629
  def __init__(__self__, *,
5624
5630
  bucket_name: pulumi.Input[_builtins.str],
5625
5631
  aws_access_key: Optional[pulumi.Input['TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs']] = None,
5632
+ cloudfront_domain: Optional[pulumi.Input[_builtins.str]] = None,
5626
5633
  managed_private_network: Optional[pulumi.Input[_builtins.bool]] = None,
5627
5634
  path: Optional[pulumi.Input[_builtins.str]] = None,
5628
5635
  role_arn: Optional[pulumi.Input[_builtins.str]] = None):
5629
5636
  """
5630
5637
  :param pulumi.Input[_builtins.str] bucket_name: S3 Bucket name.
5631
5638
  :param pulumi.Input['TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs'] aws_access_key: AWS credentials block.
5639
+ :param pulumi.Input[_builtins.str] cloudfront_domain: The CloudFront distribution domain name pointing to this bucket, to use when fetching. See [Transfer from S3 via CloudFront](https://cloud.google.com/storage-transfer/docs/s3-cloudfront) for more information. Format: https://{id}.cloudfront.net or any valid custom domain. Must begin with https://.
5632
5640
  :param pulumi.Input[_builtins.bool] managed_private_network: Egress bytes over a Google-managed private network. This network is shared between other users of Storage Transfer Service.
5633
5641
  :param pulumi.Input[_builtins.str] path: S3 Bucket path in bucket to transfer.
5634
5642
  :param pulumi.Input[_builtins.str] role_arn: The Amazon Resource Name (ARN) of the role to support temporary credentials via 'AssumeRoleWithWebIdentity'. For more information about ARNs, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns). When a role ARN is provided, Transfer Service fetches temporary credentials for the session using a 'AssumeRoleWithWebIdentity' call for the provided role using the [GoogleServiceAccount][] for this project.
@@ -5636,6 +5644,8 @@ class TransferJobTransferSpecAwsS3DataSourceArgs:
5636
5644
  pulumi.set(__self__, "bucket_name", bucket_name)
5637
5645
  if aws_access_key is not None:
5638
5646
  pulumi.set(__self__, "aws_access_key", aws_access_key)
5647
+ if cloudfront_domain is not None:
5648
+ pulumi.set(__self__, "cloudfront_domain", cloudfront_domain)
5639
5649
  if managed_private_network is not None:
5640
5650
  pulumi.set(__self__, "managed_private_network", managed_private_network)
5641
5651
  if path is not None:
@@ -5667,6 +5677,18 @@ class TransferJobTransferSpecAwsS3DataSourceArgs:
5667
5677
  def aws_access_key(self, value: Optional[pulumi.Input['TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs']]):
5668
5678
  pulumi.set(self, "aws_access_key", value)
5669
5679
 
5680
+ @_builtins.property
5681
+ @pulumi.getter(name="cloudfrontDomain")
5682
+ def cloudfront_domain(self) -> Optional[pulumi.Input[_builtins.str]]:
5683
+ """
5684
+ The CloudFront distribution domain name pointing to this bucket, to use when fetching. See [Transfer from S3 via CloudFront](https://cloud.google.com/storage-transfer/docs/s3-cloudfront) for more information. Format: https://{id}.cloudfront.net or any valid custom domain. Must begin with https://.
5685
+ """
5686
+ return pulumi.get(self, "cloudfront_domain")
5687
+
5688
+ @cloudfront_domain.setter
5689
+ def cloudfront_domain(self, value: Optional[pulumi.Input[_builtins.str]]):
5690
+ pulumi.set(self, "cloudfront_domain", value)
5691
+
5670
5692
  @_builtins.property
5671
5693
  @pulumi.getter(name="managedPrivateNetwork")
5672
5694
  def managed_private_network(self) -> Optional[pulumi.Input[_builtins.bool]]:
@@ -5766,11 +5788,15 @@ if not MYPY:
5766
5788
  """
5767
5789
  azure_credentials: NotRequired[pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgsDict']]
5768
5790
  """
5769
- Credentials used to authenticate API requests to Azure block.
5791
+ ) Credentials used to authenticate API requests to Azure block.
5770
5792
  """
5771
5793
  credentials_secret: NotRequired[pulumi.Input[_builtins.str]]
5772
5794
  """
5773
- Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
5795
+ ) Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
5796
+ """
5797
+ federated_identity_config: NotRequired[pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfigArgsDict']]
5798
+ """
5799
+ Federated identity config of a user registered Azure application. Structure documented below.
5774
5800
  """
5775
5801
  path: NotRequired[pulumi.Input[_builtins.str]]
5776
5802
  """
@@ -5786,12 +5812,14 @@ class TransferJobTransferSpecAzureBlobStorageDataSourceArgs:
5786
5812
  storage_account: pulumi.Input[_builtins.str],
5787
5813
  azure_credentials: Optional[pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs']] = None,
5788
5814
  credentials_secret: Optional[pulumi.Input[_builtins.str]] = None,
5815
+ federated_identity_config: Optional[pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfigArgs']] = None,
5789
5816
  path: Optional[pulumi.Input[_builtins.str]] = None):
5790
5817
  """
5791
5818
  :param pulumi.Input[_builtins.str] container: The container to transfer from the Azure Storage account.`
5792
5819
  :param pulumi.Input[_builtins.str] storage_account: The name of the Azure Storage account.
5793
- :param pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs'] azure_credentials: Credentials used to authenticate API requests to Azure block.
5794
- :param pulumi.Input[_builtins.str] credentials_secret: Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
5820
+ :param pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs'] azure_credentials: ) Credentials used to authenticate API requests to Azure block.
5821
+ :param pulumi.Input[_builtins.str] credentials_secret: ) Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
5822
+ :param pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfigArgs'] federated_identity_config: Federated identity config of a user registered Azure application. Structure documented below.
5795
5823
  :param pulumi.Input[_builtins.str] path: Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
5796
5824
  """
5797
5825
  pulumi.set(__self__, "container", container)
@@ -5800,6 +5828,8 @@ class TransferJobTransferSpecAzureBlobStorageDataSourceArgs:
5800
5828
  pulumi.set(__self__, "azure_credentials", azure_credentials)
5801
5829
  if credentials_secret is not None:
5802
5830
  pulumi.set(__self__, "credentials_secret", credentials_secret)
5831
+ if federated_identity_config is not None:
5832
+ pulumi.set(__self__, "federated_identity_config", federated_identity_config)
5803
5833
  if path is not None:
5804
5834
  pulumi.set(__self__, "path", path)
5805
5835
 
@@ -5831,7 +5861,7 @@ class TransferJobTransferSpecAzureBlobStorageDataSourceArgs:
5831
5861
  @pulumi.getter(name="azureCredentials")
5832
5862
  def azure_credentials(self) -> Optional[pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs']]:
5833
5863
  """
5834
- Credentials used to authenticate API requests to Azure block.
5864
+ ) Credentials used to authenticate API requests to Azure block.
5835
5865
  """
5836
5866
  return pulumi.get(self, "azure_credentials")
5837
5867
 
@@ -5843,7 +5873,7 @@ class TransferJobTransferSpecAzureBlobStorageDataSourceArgs:
5843
5873
  @pulumi.getter(name="credentialsSecret")
5844
5874
  def credentials_secret(self) -> Optional[pulumi.Input[_builtins.str]]:
5845
5875
  """
5846
- Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
5876
+ ) Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
5847
5877
  """
5848
5878
  return pulumi.get(self, "credentials_secret")
5849
5879
 
@@ -5851,6 +5881,18 @@ class TransferJobTransferSpecAzureBlobStorageDataSourceArgs:
5851
5881
  def credentials_secret(self, value: Optional[pulumi.Input[_builtins.str]]):
5852
5882
  pulumi.set(self, "credentials_secret", value)
5853
5883
 
5884
+ @_builtins.property
5885
+ @pulumi.getter(name="federatedIdentityConfig")
5886
+ def federated_identity_config(self) -> Optional[pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfigArgs']]:
5887
+ """
5888
+ Federated identity config of a user registered Azure application. Structure documented below.
5889
+ """
5890
+ return pulumi.get(self, "federated_identity_config")
5891
+
5892
+ @federated_identity_config.setter
5893
+ def federated_identity_config(self, value: Optional[pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfigArgs']]):
5894
+ pulumi.set(self, "federated_identity_config", value)
5895
+
5854
5896
  @_builtins.property
5855
5897
  @pulumi.getter
5856
5898
  def path(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -5869,8 +5911,6 @@ if not MYPY:
5869
5911
  sas_token: pulumi.Input[_builtins.str]
5870
5912
  """
5871
5913
  Azure shared access signature. See [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
5872
-
5873
- <a name="nested_schedule_start_end_date"></a>The `schedule_start_date` and `schedule_end_date` blocks support:
5874
5914
  """
5875
5915
  elif False:
5876
5916
  TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgsDict: TypeAlias = Mapping[str, Any]
@@ -5881,8 +5921,6 @@ class TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs:
5881
5921
  sas_token: pulumi.Input[_builtins.str]):
5882
5922
  """
5883
5923
  :param pulumi.Input[_builtins.str] sas_token: Azure shared access signature. See [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
5884
-
5885
- <a name="nested_schedule_start_end_date"></a>The `schedule_start_date` and `schedule_end_date` blocks support:
5886
5924
  """
5887
5925
  pulumi.set(__self__, "sas_token", sas_token)
5888
5926
 
@@ -5891,8 +5929,6 @@ class TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs:
5891
5929
  def sas_token(self) -> pulumi.Input[_builtins.str]:
5892
5930
  """
5893
5931
  Azure shared access signature. See [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
5894
-
5895
- <a name="nested_schedule_start_end_date"></a>The `schedule_start_date` and `schedule_end_date` blocks support:
5896
5932
  """
5897
5933
  return pulumi.get(self, "sas_token")
5898
5934
 
@@ -5901,6 +5937,62 @@ class TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs:
5901
5937
  pulumi.set(self, "sas_token", value)
5902
5938
 
5903
5939
 
5940
+ if not MYPY:
5941
+ class TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfigArgsDict(TypedDict):
5942
+ client_id: pulumi.Input[_builtins.str]
5943
+ """
5944
+ The client (application) ID of the application with federated credentials.
5945
+ """
5946
+ tenant_id: pulumi.Input[_builtins.str]
5947
+ """
5948
+ The client (directory) ID of the application with federated credentials.
5949
+
5950
+ <a name="nested_schedule_start_end_date"></a>The `schedule_start_date` and `schedule_end_date` blocks support:
5951
+ """
5952
+ elif False:
5953
+ TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfigArgsDict: TypeAlias = Mapping[str, Any]
5954
+
5955
+ @pulumi.input_type
5956
+ class TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfigArgs:
5957
+ def __init__(__self__, *,
5958
+ client_id: pulumi.Input[_builtins.str],
5959
+ tenant_id: pulumi.Input[_builtins.str]):
5960
+ """
5961
+ :param pulumi.Input[_builtins.str] client_id: The client (application) ID of the application with federated credentials.
5962
+ :param pulumi.Input[_builtins.str] tenant_id: The client (directory) ID of the application with federated credentials.
5963
+
5964
+ <a name="nested_schedule_start_end_date"></a>The `schedule_start_date` and `schedule_end_date` blocks support:
5965
+ """
5966
+ pulumi.set(__self__, "client_id", client_id)
5967
+ pulumi.set(__self__, "tenant_id", tenant_id)
5968
+
5969
+ @_builtins.property
5970
+ @pulumi.getter(name="clientId")
5971
+ def client_id(self) -> pulumi.Input[_builtins.str]:
5972
+ """
5973
+ The client (application) ID of the application with federated credentials.
5974
+ """
5975
+ return pulumi.get(self, "client_id")
5976
+
5977
+ @client_id.setter
5978
+ def client_id(self, value: pulumi.Input[_builtins.str]):
5979
+ pulumi.set(self, "client_id", value)
5980
+
5981
+ @_builtins.property
5982
+ @pulumi.getter(name="tenantId")
5983
+ def tenant_id(self) -> pulumi.Input[_builtins.str]:
5984
+ """
5985
+ The client (directory) ID of the application with federated credentials.
5986
+
5987
+ <a name="nested_schedule_start_end_date"></a>The `schedule_start_date` and `schedule_end_date` blocks support:
5988
+ """
5989
+ return pulumi.get(self, "tenant_id")
5990
+
5991
+ @tenant_id.setter
5992
+ def tenant_id(self, value: pulumi.Input[_builtins.str]):
5993
+ pulumi.set(self, "tenant_id", value)
5994
+
5995
+
5904
5996
  if not MYPY:
5905
5997
  class TransferJobTransferSpecGcsDataSinkArgsDict(TypedDict):
5906
5998
  bucket_name: pulumi.Input[_builtins.str]
@@ -106,6 +106,7 @@ __all__ = [
106
106
  'TransferJobTransferSpecAwsS3DataSourceAwsAccessKey',
107
107
  'TransferJobTransferSpecAzureBlobStorageDataSource',
108
108
  'TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials',
109
+ 'TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfig',
109
110
  'TransferJobTransferSpecGcsDataSink',
110
111
  'TransferJobTransferSpecGcsDataSource',
111
112
  'TransferJobTransferSpecHdfsDataSource',
@@ -4570,6 +4571,8 @@ class TransferJobTransferSpecAwsS3DataSource(dict):
4570
4571
  suggest = "bucket_name"
4571
4572
  elif key == "awsAccessKey":
4572
4573
  suggest = "aws_access_key"
4574
+ elif key == "cloudfrontDomain":
4575
+ suggest = "cloudfront_domain"
4573
4576
  elif key == "managedPrivateNetwork":
4574
4577
  suggest = "managed_private_network"
4575
4578
  elif key == "roleArn":
@@ -4589,12 +4592,14 @@ class TransferJobTransferSpecAwsS3DataSource(dict):
4589
4592
  def __init__(__self__, *,
4590
4593
  bucket_name: _builtins.str,
4591
4594
  aws_access_key: Optional['outputs.TransferJobTransferSpecAwsS3DataSourceAwsAccessKey'] = None,
4595
+ cloudfront_domain: Optional[_builtins.str] = None,
4592
4596
  managed_private_network: Optional[_builtins.bool] = None,
4593
4597
  path: Optional[_builtins.str] = None,
4594
4598
  role_arn: Optional[_builtins.str] = None):
4595
4599
  """
4596
4600
  :param _builtins.str bucket_name: S3 Bucket name.
4597
4601
  :param 'TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs' aws_access_key: AWS credentials block.
4602
+ :param _builtins.str cloudfront_domain: The CloudFront distribution domain name pointing to this bucket, to use when fetching. See [Transfer from S3 via CloudFront](https://cloud.google.com/storage-transfer/docs/s3-cloudfront) for more information. Format: https://{id}.cloudfront.net or any valid custom domain. Must begin with https://.
4598
4603
  :param _builtins.bool managed_private_network: Egress bytes over a Google-managed private network. This network is shared between other users of Storage Transfer Service.
4599
4604
  :param _builtins.str path: S3 Bucket path in bucket to transfer.
4600
4605
  :param _builtins.str role_arn: The Amazon Resource Name (ARN) of the role to support temporary credentials via 'AssumeRoleWithWebIdentity'. For more information about ARNs, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns). When a role ARN is provided, Transfer Service fetches temporary credentials for the session using a 'AssumeRoleWithWebIdentity' call for the provided role using the [GoogleServiceAccount][] for this project.
@@ -4602,6 +4607,8 @@ class TransferJobTransferSpecAwsS3DataSource(dict):
4602
4607
  pulumi.set(__self__, "bucket_name", bucket_name)
4603
4608
  if aws_access_key is not None:
4604
4609
  pulumi.set(__self__, "aws_access_key", aws_access_key)
4610
+ if cloudfront_domain is not None:
4611
+ pulumi.set(__self__, "cloudfront_domain", cloudfront_domain)
4605
4612
  if managed_private_network is not None:
4606
4613
  pulumi.set(__self__, "managed_private_network", managed_private_network)
4607
4614
  if path is not None:
@@ -4625,6 +4632,14 @@ class TransferJobTransferSpecAwsS3DataSource(dict):
4625
4632
  """
4626
4633
  return pulumi.get(self, "aws_access_key")
4627
4634
 
4635
+ @_builtins.property
4636
+ @pulumi.getter(name="cloudfrontDomain")
4637
+ def cloudfront_domain(self) -> Optional[_builtins.str]:
4638
+ """
4639
+ The CloudFront distribution domain name pointing to this bucket, to use when fetching. See [Transfer from S3 via CloudFront](https://cloud.google.com/storage-transfer/docs/s3-cloudfront) for more information. Format: https://{id}.cloudfront.net or any valid custom domain. Must begin with https://.
4640
+ """
4641
+ return pulumi.get(self, "cloudfront_domain")
4642
+
4628
4643
  @_builtins.property
4629
4644
  @pulumi.getter(name="managedPrivateNetwork")
4630
4645
  def managed_private_network(self) -> Optional[_builtins.bool]:
@@ -4709,6 +4724,8 @@ class TransferJobTransferSpecAzureBlobStorageDataSource(dict):
4709
4724
  suggest = "azure_credentials"
4710
4725
  elif key == "credentialsSecret":
4711
4726
  suggest = "credentials_secret"
4727
+ elif key == "federatedIdentityConfig":
4728
+ suggest = "federated_identity_config"
4712
4729
 
4713
4730
  if suggest:
4714
4731
  pulumi.log.warn(f"Key '{key}' not found in TransferJobTransferSpecAzureBlobStorageDataSource. Access the value via the '{suggest}' property getter instead.")
@@ -4726,12 +4743,14 @@ class TransferJobTransferSpecAzureBlobStorageDataSource(dict):
4726
4743
  storage_account: _builtins.str,
4727
4744
  azure_credentials: Optional['outputs.TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials'] = None,
4728
4745
  credentials_secret: Optional[_builtins.str] = None,
4746
+ federated_identity_config: Optional['outputs.TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfig'] = None,
4729
4747
  path: Optional[_builtins.str] = None):
4730
4748
  """
4731
4749
  :param _builtins.str container: The container to transfer from the Azure Storage account.`
4732
4750
  :param _builtins.str storage_account: The name of the Azure Storage account.
4733
- :param 'TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs' azure_credentials: Credentials used to authenticate API requests to Azure block.
4734
- :param _builtins.str credentials_secret: Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
4751
+ :param 'TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs' azure_credentials: ) Credentials used to authenticate API requests to Azure block.
4752
+ :param _builtins.str credentials_secret: ) Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
4753
+ :param 'TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfigArgs' federated_identity_config: Federated identity config of a user registered Azure application. Structure documented below.
4735
4754
  :param _builtins.str path: Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
4736
4755
  """
4737
4756
  pulumi.set(__self__, "container", container)
@@ -4740,6 +4759,8 @@ class TransferJobTransferSpecAzureBlobStorageDataSource(dict):
4740
4759
  pulumi.set(__self__, "azure_credentials", azure_credentials)
4741
4760
  if credentials_secret is not None:
4742
4761
  pulumi.set(__self__, "credentials_secret", credentials_secret)
4762
+ if federated_identity_config is not None:
4763
+ pulumi.set(__self__, "federated_identity_config", federated_identity_config)
4743
4764
  if path is not None:
4744
4765
  pulumi.set(__self__, "path", path)
4745
4766
 
@@ -4763,7 +4784,7 @@ class TransferJobTransferSpecAzureBlobStorageDataSource(dict):
4763
4784
  @pulumi.getter(name="azureCredentials")
4764
4785
  def azure_credentials(self) -> Optional['outputs.TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials']:
4765
4786
  """
4766
- Credentials used to authenticate API requests to Azure block.
4787
+ ) Credentials used to authenticate API requests to Azure block.
4767
4788
  """
4768
4789
  return pulumi.get(self, "azure_credentials")
4769
4790
 
@@ -4771,10 +4792,18 @@ class TransferJobTransferSpecAzureBlobStorageDataSource(dict):
4771
4792
  @pulumi.getter(name="credentialsSecret")
4772
4793
  def credentials_secret(self) -> Optional[_builtins.str]:
4773
4794
  """
4774
- Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
4795
+ ) Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
4775
4796
  """
4776
4797
  return pulumi.get(self, "credentials_secret")
4777
4798
 
4799
+ @_builtins.property
4800
+ @pulumi.getter(name="federatedIdentityConfig")
4801
+ def federated_identity_config(self) -> Optional['outputs.TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfig']:
4802
+ """
4803
+ Federated identity config of a user registered Azure application. Structure documented below.
4804
+ """
4805
+ return pulumi.get(self, "federated_identity_config")
4806
+
4778
4807
  @_builtins.property
4779
4808
  @pulumi.getter
4780
4809
  def path(self) -> Optional[_builtins.str]:
@@ -4807,8 +4836,6 @@ class TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials(dict):
4807
4836
  sas_token: _builtins.str):
4808
4837
  """
4809
4838
  :param _builtins.str sas_token: Azure shared access signature. See [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
4810
-
4811
- <a name="nested_schedule_start_end_date"></a>The `schedule_start_date` and `schedule_end_date` blocks support:
4812
4839
  """
4813
4840
  pulumi.set(__self__, "sas_token", sas_token)
4814
4841
 
@@ -4817,10 +4844,60 @@ class TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials(dict):
4817
4844
  def sas_token(self) -> _builtins.str:
4818
4845
  """
4819
4846
  Azure shared access signature. See [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
4847
+ """
4848
+ return pulumi.get(self, "sas_token")
4849
+
4850
+
4851
+ @pulumi.output_type
4852
+ class TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfig(dict):
4853
+ @staticmethod
4854
+ def __key_warning(key: str):
4855
+ suggest = None
4856
+ if key == "clientId":
4857
+ suggest = "client_id"
4858
+ elif key == "tenantId":
4859
+ suggest = "tenant_id"
4860
+
4861
+ if suggest:
4862
+ pulumi.log.warn(f"Key '{key}' not found in TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfig. Access the value via the '{suggest}' property getter instead.")
4863
+
4864
+ def __getitem__(self, key: str) -> Any:
4865
+ TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfig.__key_warning(key)
4866
+ return super().__getitem__(key)
4867
+
4868
+ def get(self, key: str, default = None) -> Any:
4869
+ TransferJobTransferSpecAzureBlobStorageDataSourceFederatedIdentityConfig.__key_warning(key)
4870
+ return super().get(key, default)
4871
+
4872
+ def __init__(__self__, *,
4873
+ client_id: _builtins.str,
4874
+ tenant_id: _builtins.str):
4875
+ """
4876
+ :param _builtins.str client_id: The client (application) ID of the application with federated credentials.
4877
+ :param _builtins.str tenant_id: The client (directory) ID of the application with federated credentials.
4878
+
4879
+ <a name="nested_schedule_start_end_date"></a>The `schedule_start_date` and `schedule_end_date` blocks support:
4880
+ """
4881
+ pulumi.set(__self__, "client_id", client_id)
4882
+ pulumi.set(__self__, "tenant_id", tenant_id)
4883
+
4884
+ @_builtins.property
4885
+ @pulumi.getter(name="clientId")
4886
+ def client_id(self) -> _builtins.str:
4887
+ """
4888
+ The client (application) ID of the application with federated credentials.
4889
+ """
4890
+ return pulumi.get(self, "client_id")
4891
+
4892
+ @_builtins.property
4893
+ @pulumi.getter(name="tenantId")
4894
+ def tenant_id(self) -> _builtins.str:
4895
+ """
4896
+ The client (directory) ID of the application with federated credentials.
4820
4897
 
4821
4898
  <a name="nested_schedule_start_end_date"></a>The `schedule_start_date` and `schedule_end_date` blocks support:
4822
4899
  """
4823
- return pulumi.get(self, "sas_token")
4900
+ return pulumi.get(self, "tenant_id")
4824
4901
 
4825
4902
 
4826
4903
  @pulumi.output_type
@@ -39,6 +39,7 @@ from .ai_index import *
39
39
  from .ai_index_endpoint import *
40
40
  from .ai_index_endpoint_deployed_index import *
41
41
  from .ai_metadata_store import *
42
+ from .ai_rag_engine_config import *
42
43
  from .ai_tensorboard import *
43
44
  from .get_ai_endpoint_iam_policy import *
44
45
  from .get_ai_feature_group_iam_policy import *
@@ -205,6 +205,14 @@ __all__ = [
205
205
  'AiMetadataStoreEncryptionSpecArgsDict',
206
206
  'AiMetadataStoreStateArgs',
207
207
  'AiMetadataStoreStateArgsDict',
208
+ 'AiRagEngineConfigRagManagedDbConfigArgs',
209
+ 'AiRagEngineConfigRagManagedDbConfigArgsDict',
210
+ 'AiRagEngineConfigRagManagedDbConfigBasicArgs',
211
+ 'AiRagEngineConfigRagManagedDbConfigBasicArgsDict',
212
+ 'AiRagEngineConfigRagManagedDbConfigScaledArgs',
213
+ 'AiRagEngineConfigRagManagedDbConfigScaledArgsDict',
214
+ 'AiRagEngineConfigRagManagedDbConfigUnprovisionedArgs',
215
+ 'AiRagEngineConfigRagManagedDbConfigUnprovisionedArgsDict',
208
216
  'AiTensorboardEncryptionSpecArgs',
209
217
  'AiTensorboardEncryptionSpecArgsDict',
210
218
  ]
@@ -7821,6 +7829,120 @@ class AiMetadataStoreStateArgs:
7821
7829
  pulumi.set(self, "disk_utilization_bytes", value)
7822
7830
 
7823
7831
 
7832
+ if not MYPY:
7833
+ class AiRagEngineConfigRagManagedDbConfigArgsDict(TypedDict):
7834
+ basic: NotRequired[pulumi.Input['AiRagEngineConfigRagManagedDbConfigBasicArgsDict']]
7835
+ """
7836
+ Basic tier is a cost-effective and low compute tier suitable for the following cases: Experimenting with RagManagedDb, Small data size, Latency insensitive workload, Only using RAG Engine with external vector DBs.
7837
+ NOTE: This is the default tier if not explicitly chosen.
7838
+ """
7839
+ scaled: NotRequired[pulumi.Input['AiRagEngineConfigRagManagedDbConfigScaledArgsDict']]
7840
+ """
7841
+ Scaled tier offers production grade performance along with autoscaling functionality. It is suitable for customers with large amounts of data or performance sensitive workloads.
7842
+ """
7843
+ unprovisioned: NotRequired[pulumi.Input['AiRagEngineConfigRagManagedDbConfigUnprovisionedArgsDict']]
7844
+ """
7845
+ Disables the RAG Engine service and deletes all your data held within this service. This will halt the billing of the service.
7846
+ NOTE: Once deleted the data cannot be recovered. To start using RAG Engine again, you will need to update the tier by calling the UpdateRagEngineConfig API.
7847
+ """
7848
+ elif False:
7849
+ AiRagEngineConfigRagManagedDbConfigArgsDict: TypeAlias = Mapping[str, Any]
7850
+
7851
+ @pulumi.input_type
7852
+ class AiRagEngineConfigRagManagedDbConfigArgs:
7853
+ def __init__(__self__, *,
7854
+ basic: Optional[pulumi.Input['AiRagEngineConfigRagManagedDbConfigBasicArgs']] = None,
7855
+ scaled: Optional[pulumi.Input['AiRagEngineConfigRagManagedDbConfigScaledArgs']] = None,
7856
+ unprovisioned: Optional[pulumi.Input['AiRagEngineConfigRagManagedDbConfigUnprovisionedArgs']] = None):
7857
+ """
7858
+ :param pulumi.Input['AiRagEngineConfigRagManagedDbConfigBasicArgs'] basic: Basic tier is a cost-effective and low compute tier suitable for the following cases: Experimenting with RagManagedDb, Small data size, Latency insensitive workload, Only using RAG Engine with external vector DBs.
7859
+ NOTE: This is the default tier if not explicitly chosen.
7860
+ :param pulumi.Input['AiRagEngineConfigRagManagedDbConfigScaledArgs'] scaled: Scaled tier offers production grade performance along with autoscaling functionality. It is suitable for customers with large amounts of data or performance sensitive workloads.
7861
+ :param pulumi.Input['AiRagEngineConfigRagManagedDbConfigUnprovisionedArgs'] unprovisioned: Disables the RAG Engine service and deletes all your data held within this service. This will halt the billing of the service.
7862
+ NOTE: Once deleted the data cannot be recovered. To start using RAG Engine again, you will need to update the tier by calling the UpdateRagEngineConfig API.
7863
+ """
7864
+ if basic is not None:
7865
+ pulumi.set(__self__, "basic", basic)
7866
+ if scaled is not None:
7867
+ pulumi.set(__self__, "scaled", scaled)
7868
+ if unprovisioned is not None:
7869
+ pulumi.set(__self__, "unprovisioned", unprovisioned)
7870
+
7871
+ @_builtins.property
7872
+ @pulumi.getter
7873
+ def basic(self) -> Optional[pulumi.Input['AiRagEngineConfigRagManagedDbConfigBasicArgs']]:
7874
+ """
7875
+ Basic tier is a cost-effective and low compute tier suitable for the following cases: Experimenting with RagManagedDb, Small data size, Latency insensitive workload, Only using RAG Engine with external vector DBs.
7876
+ NOTE: This is the default tier if not explicitly chosen.
7877
+ """
7878
+ return pulumi.get(self, "basic")
7879
+
7880
+ @basic.setter
7881
+ def basic(self, value: Optional[pulumi.Input['AiRagEngineConfigRagManagedDbConfigBasicArgs']]):
7882
+ pulumi.set(self, "basic", value)
7883
+
7884
+ @_builtins.property
7885
+ @pulumi.getter
7886
+ def scaled(self) -> Optional[pulumi.Input['AiRagEngineConfigRagManagedDbConfigScaledArgs']]:
7887
+ """
7888
+ Scaled tier offers production grade performance along with autoscaling functionality. It is suitable for customers with large amounts of data or performance sensitive workloads.
7889
+ """
7890
+ return pulumi.get(self, "scaled")
7891
+
7892
+ @scaled.setter
7893
+ def scaled(self, value: Optional[pulumi.Input['AiRagEngineConfigRagManagedDbConfigScaledArgs']]):
7894
+ pulumi.set(self, "scaled", value)
7895
+
7896
+ @_builtins.property
7897
+ @pulumi.getter
7898
+ def unprovisioned(self) -> Optional[pulumi.Input['AiRagEngineConfigRagManagedDbConfigUnprovisionedArgs']]:
7899
+ """
7900
+ Disables the RAG Engine service and deletes all your data held within this service. This will halt the billing of the service.
7901
+ NOTE: Once deleted the data cannot be recovered. To start using RAG Engine again, you will need to update the tier by calling the UpdateRagEngineConfig API.
7902
+ """
7903
+ return pulumi.get(self, "unprovisioned")
7904
+
7905
+ @unprovisioned.setter
7906
+ def unprovisioned(self, value: Optional[pulumi.Input['AiRagEngineConfigRagManagedDbConfigUnprovisionedArgs']]):
7907
+ pulumi.set(self, "unprovisioned", value)
7908
+
7909
+
7910
+ if not MYPY:
7911
+ class AiRagEngineConfigRagManagedDbConfigBasicArgsDict(TypedDict):
7912
+ pass
7913
+ elif False:
7914
+ AiRagEngineConfigRagManagedDbConfigBasicArgsDict: TypeAlias = Mapping[str, Any]
7915
+
7916
+ @pulumi.input_type
7917
+ class AiRagEngineConfigRagManagedDbConfigBasicArgs:
7918
+ def __init__(__self__):
7919
+ pass
7920
+
7921
+
7922
+ if not MYPY:
7923
+ class AiRagEngineConfigRagManagedDbConfigScaledArgsDict(TypedDict):
7924
+ pass
7925
+ elif False:
7926
+ AiRagEngineConfigRagManagedDbConfigScaledArgsDict: TypeAlias = Mapping[str, Any]
7927
+
7928
+ @pulumi.input_type
7929
+ class AiRagEngineConfigRagManagedDbConfigScaledArgs:
7930
+ def __init__(__self__):
7931
+ pass
7932
+
7933
+
7934
+ if not MYPY:
7935
+ class AiRagEngineConfigRagManagedDbConfigUnprovisionedArgsDict(TypedDict):
7936
+ pass
7937
+ elif False:
7938
+ AiRagEngineConfigRagManagedDbConfigUnprovisionedArgsDict: TypeAlias = Mapping[str, Any]
7939
+
7940
+ @pulumi.input_type
7941
+ class AiRagEngineConfigRagManagedDbConfigUnprovisionedArgs:
7942
+ def __init__(__self__):
7943
+ pass
7944
+
7945
+
7824
7946
  if not MYPY:
7825
7947
  class AiTensorboardEncryptionSpecArgsDict(TypedDict):
7826
7948
  kms_key_name: pulumi.Input[_builtins.str]