pulumi-gcp 7.20.0a1713984378__py3-none-any.whl → 7.21.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 (131) hide show
  1. pulumi_gcp/__init__.py +48 -0
  2. pulumi_gcp/alloydb/_inputs.py +74 -0
  3. pulumi_gcp/alloydb/backup.py +0 -12
  4. pulumi_gcp/alloydb/cluster.py +0 -12
  5. pulumi_gcp/alloydb/instance.py +90 -81
  6. pulumi_gcp/alloydb/outputs.py +98 -0
  7. pulumi_gcp/apigee/environment.py +47 -0
  8. pulumi_gcp/apigee/organization.py +162 -0
  9. pulumi_gcp/apigee/sharedflow.py +0 -20
  10. pulumi_gcp/appengine/flexible_app_version.py +0 -20
  11. pulumi_gcp/applicationintegration/__init__.py +1 -0
  12. pulumi_gcp/applicationintegration/_inputs.py +843 -0
  13. pulumi_gcp/applicationintegration/auth_config.py +998 -0
  14. pulumi_gcp/applicationintegration/outputs.py +891 -0
  15. pulumi_gcp/artifactregistry/_inputs.py +186 -0
  16. pulumi_gcp/artifactregistry/outputs.py +297 -4
  17. pulumi_gcp/artifactregistry/repository.py +346 -16
  18. pulumi_gcp/bigquery/table.py +61 -0
  19. pulumi_gcp/bigquerydatapolicy/_inputs.py +21 -4
  20. pulumi_gcp/bigquerydatapolicy/data_policy.py +78 -0
  21. pulumi_gcp/bigquerydatapolicy/outputs.py +16 -3
  22. pulumi_gcp/billing/budget.py +54 -0
  23. pulumi_gcp/certificateauthority/_inputs.py +92 -12
  24. pulumi_gcp/certificateauthority/authority.py +117 -27
  25. pulumi_gcp/certificateauthority/certificate.py +176 -0
  26. pulumi_gcp/certificateauthority/outputs.py +144 -12
  27. pulumi_gcp/cloudbuild/worker_pool.py +0 -12
  28. pulumi_gcp/cloudbuildv2/connection.py +0 -12
  29. pulumi_gcp/cloudbuildv2/repository.py +0 -12
  30. pulumi_gcp/clouddeploy/automation.py +0 -12
  31. pulumi_gcp/clouddeploy/custom_target_type.py +0 -12
  32. pulumi_gcp/clouddeploy/delivery_pipeline.py +0 -12
  33. pulumi_gcp/clouddeploy/target.py +0 -12
  34. pulumi_gcp/cloudfunctionsv2/_inputs.py +16 -0
  35. pulumi_gcp/cloudfunctionsv2/function.py +110 -0
  36. pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
  37. pulumi_gcp/cloudrunv2/job.py +0 -12
  38. pulumi_gcp/cloudrunv2/service.py +0 -12
  39. pulumi_gcp/composer/__init__.py +1 -0
  40. pulumi_gcp/composer/environment.py +35 -47
  41. pulumi_gcp/composer/user_workloads_secret.py +441 -0
  42. pulumi_gcp/compute/__init__.py +1 -0
  43. pulumi_gcp/compute/_inputs.py +169 -58
  44. pulumi_gcp/compute/forwarding_rule.py +0 -13
  45. pulumi_gcp/compute/get_instance_group_manager.py +11 -1
  46. pulumi_gcp/compute/global_address.py +0 -12
  47. pulumi_gcp/compute/global_forwarding_rule.py +0 -282
  48. pulumi_gcp/compute/instance_from_machine_image.py +14 -46
  49. pulumi_gcp/compute/instance_from_template.py +14 -46
  50. pulumi_gcp/compute/instance_group_manager.py +68 -21
  51. pulumi_gcp/compute/outputs.py +213 -65
  52. pulumi_gcp/compute/region_instance_group_manager.py +61 -14
  53. pulumi_gcp/compute/region_instance_template.py +0 -13
  54. pulumi_gcp/compute/region_target_https_proxy.py +257 -0
  55. pulumi_gcp/compute/region_url_map.py +0 -470
  56. pulumi_gcp/compute/security_policy_rule.py +850 -0
  57. pulumi_gcp/container/attached_cluster.py +0 -12
  58. pulumi_gcp/container/aws_cluster.py +0 -12
  59. pulumi_gcp/container/aws_node_pool.py +0 -12
  60. pulumi_gcp/container/azure_cluster.py +0 -12
  61. pulumi_gcp/container/azure_node_pool.py +0 -12
  62. pulumi_gcp/container/cluster.py +0 -20
  63. pulumi_gcp/container/outputs.py +4 -4
  64. pulumi_gcp/dataflow/flex_template_job.py +0 -39
  65. pulumi_gcp/dataloss/__init__.py +1 -0
  66. pulumi_gcp/dataloss/_inputs.py +1040 -0
  67. pulumi_gcp/dataloss/outputs.py +1123 -0
  68. pulumi_gcp/dataloss/prevention_discovery_config.py +737 -0
  69. pulumi_gcp/dataproc/cluster.py +0 -20
  70. pulumi_gcp/dataproc/workflow_template.py +21 -26
  71. pulumi_gcp/deploymentmanager/deployment.py +0 -34
  72. pulumi_gcp/dns/_inputs.py +2 -130
  73. pulumi_gcp/dns/get_keys.py +1 -1
  74. pulumi_gcp/dns/get_managed_zones.py +3 -9
  75. pulumi_gcp/dns/get_record_set.py +3 -0
  76. pulumi_gcp/dns/outputs.py +36 -58
  77. pulumi_gcp/dns/record_set.py +2 -36
  78. pulumi_gcp/filestore/get_instance.py +11 -1
  79. pulumi_gcp/filestore/instance.py +101 -0
  80. pulumi_gcp/firebase/_inputs.py +16 -0
  81. pulumi_gcp/firebase/android_app.py +0 -27
  82. pulumi_gcp/firebase/app_check_play_integrity_config.py +20 -0
  83. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +10 -0
  84. pulumi_gcp/firebase/app_check_service_config.py +0 -125
  85. pulumi_gcp/firebase/apple_app.py +0 -27
  86. pulumi_gcp/firebase/hosting_custom_domain.py +0 -27
  87. pulumi_gcp/firebase/hosting_version.py +44 -0
  88. pulumi_gcp/firebase/outputs.py +12 -0
  89. pulumi_gcp/firebase/web_app.py +0 -20
  90. pulumi_gcp/firestore/database.py +0 -68
  91. pulumi_gcp/firestore/document.py +4 -4
  92. pulumi_gcp/gkeonprem/bare_metal_admin_cluster.py +0 -12
  93. pulumi_gcp/gkeonprem/bare_metal_cluster.py +0 -12
  94. pulumi_gcp/gkeonprem/bare_metal_node_pool.py +0 -12
  95. pulumi_gcp/gkeonprem/v_mware_cluster.py +0 -12
  96. pulumi_gcp/gkeonprem/v_mware_node_pool.py +0 -12
  97. pulumi_gcp/logging/folder_sink.py +54 -0
  98. pulumi_gcp/logging/organization_sink.py +54 -0
  99. pulumi_gcp/monitoring/_inputs.py +46 -2
  100. pulumi_gcp/monitoring/outputs.py +40 -2
  101. pulumi_gcp/monitoring/uptime_check_config.py +6 -0
  102. pulumi_gcp/netapp/active_directory.py +0 -20
  103. pulumi_gcp/netapp/volume_replication.py +0 -68
  104. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  105. pulumi_gcp/networkconnectivity/internal_range.py +1024 -0
  106. pulumi_gcp/organizations/get_active_folder.py +18 -3
  107. pulumi_gcp/projects/__init__.py +1 -0
  108. pulumi_gcp/projects/iam_member_remove.py +313 -0
  109. pulumi_gcp/provider.py +3 -1
  110. pulumi_gcp/secretmanager/get_secret.py +13 -3
  111. pulumi_gcp/secretmanager/outputs.py +20 -1
  112. pulumi_gcp/secretmanager/secret.py +90 -15
  113. pulumi_gcp/servicenetworking/connection.py +0 -20
  114. pulumi_gcp/spanner/database.py +0 -41
  115. pulumi_gcp/spanner/instance.py +0 -40
  116. pulumi_gcp/storage/__init__.py +1 -0
  117. pulumi_gcp/storage/bucket.py +0 -12
  118. pulumi_gcp/storage/get_bucket_objects.py +153 -0
  119. pulumi_gcp/storage/outputs.py +63 -0
  120. pulumi_gcp/vmwareengine/_inputs.py +63 -5
  121. pulumi_gcp/vmwareengine/get_private_cloud.py +1 -21
  122. pulumi_gcp/vmwareengine/outputs.py +113 -5
  123. pulumi_gcp/vmwareengine/private_cloud.py +0 -94
  124. pulumi_gcp/workbench/instance.py +4 -4
  125. pulumi_gcp/workstations/workstation.py +0 -12
  126. pulumi_gcp/workstations/workstation_cluster.py +32 -12
  127. pulumi_gcp/workstations/workstation_config.py +0 -12
  128. {pulumi_gcp-7.20.0a1713984378.dist-info → pulumi_gcp-7.21.0.dist-info}/METADATA +1 -1
  129. {pulumi_gcp-7.20.0a1713984378.dist-info → pulumi_gcp-7.21.0.dist-info}/RECORD +131 -124
  130. {pulumi_gcp-7.20.0a1713984378.dist-info → pulumi_gcp-7.21.0.dist-info}/WHEEL +0 -0
  131. {pulumi_gcp-7.20.0a1713984378.dist-info → pulumi_gcp-7.21.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,153 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+
13
+ __all__ = [
14
+ 'GetBucketObjectsResult',
15
+ 'AwaitableGetBucketObjectsResult',
16
+ 'get_bucket_objects',
17
+ 'get_bucket_objects_output',
18
+ ]
19
+
20
+ @pulumi.output_type
21
+ class GetBucketObjectsResult:
22
+ """
23
+ A collection of values returned by getBucketObjects.
24
+ """
25
+ def __init__(__self__, bucket=None, bucket_objects=None, id=None, match_glob=None, prefix=None):
26
+ if bucket and not isinstance(bucket, str):
27
+ raise TypeError("Expected argument 'bucket' to be a str")
28
+ pulumi.set(__self__, "bucket", bucket)
29
+ if bucket_objects and not isinstance(bucket_objects, list):
30
+ raise TypeError("Expected argument 'bucket_objects' to be a list")
31
+ pulumi.set(__self__, "bucket_objects", bucket_objects)
32
+ if id and not isinstance(id, str):
33
+ raise TypeError("Expected argument 'id' to be a str")
34
+ pulumi.set(__self__, "id", id)
35
+ if match_glob and not isinstance(match_glob, str):
36
+ raise TypeError("Expected argument 'match_glob' to be a str")
37
+ pulumi.set(__self__, "match_glob", match_glob)
38
+ if prefix and not isinstance(prefix, str):
39
+ raise TypeError("Expected argument 'prefix' to be a str")
40
+ pulumi.set(__self__, "prefix", prefix)
41
+
42
+ @property
43
+ @pulumi.getter
44
+ def bucket(self) -> str:
45
+ return pulumi.get(self, "bucket")
46
+
47
+ @property
48
+ @pulumi.getter(name="bucketObjects")
49
+ def bucket_objects(self) -> Sequence['outputs.GetBucketObjectsBucketObjectResult']:
50
+ """
51
+ A list of retrieved objects contained in the provided GCS bucket. Structure is defined below.
52
+ """
53
+ return pulumi.get(self, "bucket_objects")
54
+
55
+ @property
56
+ @pulumi.getter
57
+ def id(self) -> str:
58
+ """
59
+ The provider-assigned unique ID for this managed resource.
60
+ """
61
+ return pulumi.get(self, "id")
62
+
63
+ @property
64
+ @pulumi.getter(name="matchGlob")
65
+ def match_glob(self) -> Optional[str]:
66
+ return pulumi.get(self, "match_glob")
67
+
68
+ @property
69
+ @pulumi.getter
70
+ def prefix(self) -> Optional[str]:
71
+ return pulumi.get(self, "prefix")
72
+
73
+
74
+ class AwaitableGetBucketObjectsResult(GetBucketObjectsResult):
75
+ # pylint: disable=using-constant-test
76
+ def __await__(self):
77
+ if False:
78
+ yield self
79
+ return GetBucketObjectsResult(
80
+ bucket=self.bucket,
81
+ bucket_objects=self.bucket_objects,
82
+ id=self.id,
83
+ match_glob=self.match_glob,
84
+ prefix=self.prefix)
85
+
86
+
87
+ def get_bucket_objects(bucket: Optional[str] = None,
88
+ match_glob: Optional[str] = None,
89
+ prefix: Optional[str] = None,
90
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetBucketObjectsResult:
91
+ """
92
+ Gets existing objects inside an existing bucket in Google Cloud Storage service (GCS).
93
+ See [the official documentation](https://cloud.google.com/storage/docs/key-terms#objects)
94
+ and [API](https://cloud.google.com/storage/docs/json_api/v1/objects/list).
95
+
96
+ ## Example Usage
97
+
98
+ Example files stored within a bucket.
99
+
100
+ ```python
101
+ import pulumi
102
+ import pulumi_gcp as gcp
103
+
104
+ files = gcp.storage.get_bucket_objects(bucket="file-store")
105
+ ```
106
+
107
+
108
+ :param str bucket: The name of the containing bucket.
109
+ :param str match_glob: A glob pattern used to filter results (for example, `foo*bar`).
110
+ :param str prefix: Filter results to include only objects whose names begin with this prefix.
111
+ """
112
+ __args__ = dict()
113
+ __args__['bucket'] = bucket
114
+ __args__['matchGlob'] = match_glob
115
+ __args__['prefix'] = prefix
116
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
117
+ __ret__ = pulumi.runtime.invoke('gcp:storage/getBucketObjects:getBucketObjects', __args__, opts=opts, typ=GetBucketObjectsResult).value
118
+
119
+ return AwaitableGetBucketObjectsResult(
120
+ bucket=pulumi.get(__ret__, 'bucket'),
121
+ bucket_objects=pulumi.get(__ret__, 'bucket_objects'),
122
+ id=pulumi.get(__ret__, 'id'),
123
+ match_glob=pulumi.get(__ret__, 'match_glob'),
124
+ prefix=pulumi.get(__ret__, 'prefix'))
125
+
126
+
127
+ @_utilities.lift_output_func(get_bucket_objects)
128
+ def get_bucket_objects_output(bucket: Optional[pulumi.Input[str]] = None,
129
+ match_glob: Optional[pulumi.Input[Optional[str]]] = None,
130
+ prefix: Optional[pulumi.Input[Optional[str]]] = None,
131
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBucketObjectsResult]:
132
+ """
133
+ Gets existing objects inside an existing bucket in Google Cloud Storage service (GCS).
134
+ See [the official documentation](https://cloud.google.com/storage/docs/key-terms#objects)
135
+ and [API](https://cloud.google.com/storage/docs/json_api/v1/objects/list).
136
+
137
+ ## Example Usage
138
+
139
+ Example files stored within a bucket.
140
+
141
+ ```python
142
+ import pulumi
143
+ import pulumi_gcp as gcp
144
+
145
+ files = gcp.storage.get_bucket_objects(bucket="file-store")
146
+ ```
147
+
148
+
149
+ :param str bucket: The name of the containing bucket.
150
+ :param str match_glob: A glob pattern used to filter results (for example, `foo*bar`).
151
+ :param str prefix: Filter results to include only objects whose names begin with this prefix.
152
+ """
153
+ ...
@@ -67,6 +67,7 @@ __all__ = [
67
67
  'GetBucketObjectContentRetentionResult',
68
68
  'GetBucketObjectCustomerEncryptionResult',
69
69
  'GetBucketObjectRetentionResult',
70
+ 'GetBucketObjectsBucketObjectResult',
70
71
  'GetBucketRetentionPolicyResult',
71
72
  'GetBucketSoftDeletePolicyResult',
72
73
  'GetBucketVersioningResult',
@@ -3055,6 +3056,68 @@ class GetBucketObjectRetentionResult(dict):
3055
3056
  return pulumi.get(self, "retain_until_time")
3056
3057
 
3057
3058
 
3059
+ @pulumi.output_type
3060
+ class GetBucketObjectsBucketObjectResult(dict):
3061
+ def __init__(__self__, *,
3062
+ content_type: str,
3063
+ media_link: str,
3064
+ name: str,
3065
+ self_link: str,
3066
+ storage_class: str):
3067
+ """
3068
+ :param str content_type: [Content-Type](https://tools.ietf.org/html/rfc7231#section-3.1.1.5) of the object data.
3069
+ :param str media_link: A url reference to download this object.
3070
+ :param str name: The name of the object.
3071
+ :param str self_link: A url reference to this object.
3072
+ :param str storage_class: The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the bucket object.
3073
+ """
3074
+ pulumi.set(__self__, "content_type", content_type)
3075
+ pulumi.set(__self__, "media_link", media_link)
3076
+ pulumi.set(__self__, "name", name)
3077
+ pulumi.set(__self__, "self_link", self_link)
3078
+ pulumi.set(__self__, "storage_class", storage_class)
3079
+
3080
+ @property
3081
+ @pulumi.getter(name="contentType")
3082
+ def content_type(self) -> str:
3083
+ """
3084
+ [Content-Type](https://tools.ietf.org/html/rfc7231#section-3.1.1.5) of the object data.
3085
+ """
3086
+ return pulumi.get(self, "content_type")
3087
+
3088
+ @property
3089
+ @pulumi.getter(name="mediaLink")
3090
+ def media_link(self) -> str:
3091
+ """
3092
+ A url reference to download this object.
3093
+ """
3094
+ return pulumi.get(self, "media_link")
3095
+
3096
+ @property
3097
+ @pulumi.getter
3098
+ def name(self) -> str:
3099
+ """
3100
+ The name of the object.
3101
+ """
3102
+ return pulumi.get(self, "name")
3103
+
3104
+ @property
3105
+ @pulumi.getter(name="selfLink")
3106
+ def self_link(self) -> str:
3107
+ """
3108
+ A url reference to this object.
3109
+ """
3110
+ return pulumi.get(self, "self_link")
3111
+
3112
+ @property
3113
+ @pulumi.getter(name="storageClass")
3114
+ def storage_class(self) -> str:
3115
+ """
3116
+ The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the bucket object.
3117
+ """
3118
+ return pulumi.get(self, "storage_class")
3119
+
3120
+
3058
3121
  @pulumi.output_type
3059
3122
  class GetBucketRetentionPolicyResult(dict):
3060
3123
  def __init__(__self__, *,
@@ -19,6 +19,7 @@ __all__ = [
19
19
  'PrivateCloudHcxArgs',
20
20
  'PrivateCloudManagementClusterArgs',
21
21
  'PrivateCloudManagementClusterNodeTypeConfigArgs',
22
+ 'PrivateCloudManagementClusterStretchedClusterConfigArgs',
22
23
  'PrivateCloudNetworkConfigArgs',
23
24
  'PrivateCloudNsxArgs',
24
25
  'PrivateCloudVcenterArgs',
@@ -370,7 +371,8 @@ class PrivateCloudHcxArgs:
370
371
  class PrivateCloudManagementClusterArgs:
371
372
  def __init__(__self__, *,
372
373
  cluster_id: pulumi.Input[str],
373
- node_type_configs: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateCloudManagementClusterNodeTypeConfigArgs']]]] = None):
374
+ node_type_configs: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateCloudManagementClusterNodeTypeConfigArgs']]]] = None,
375
+ stretched_cluster_config: Optional[pulumi.Input['PrivateCloudManagementClusterStretchedClusterConfigArgs']] = None):
374
376
  """
375
377
  :param pulumi.Input[str] cluster_id: The user-provided identifier of the new Cluster. The identifier must meet the following requirements:
376
378
  * Only contains 1-63 alphanumeric characters and hyphens
@@ -381,10 +383,14 @@ class PrivateCloudManagementClusterArgs:
381
383
  :param pulumi.Input[Sequence[pulumi.Input['PrivateCloudManagementClusterNodeTypeConfigArgs']]] node_type_configs: The map of cluster node types in this cluster,
382
384
  where the key is canonical identifier of the node type (corresponds to the NodeType).
383
385
  Structure is documented below.
386
+ :param pulumi.Input['PrivateCloudManagementClusterStretchedClusterConfigArgs'] stretched_cluster_config: The stretched cluster configuration for the private cloud.
387
+ Structure is documented below.
384
388
  """
385
389
  pulumi.set(__self__, "cluster_id", cluster_id)
386
390
  if node_type_configs is not None:
387
391
  pulumi.set(__self__, "node_type_configs", node_type_configs)
392
+ if stretched_cluster_config is not None:
393
+ pulumi.set(__self__, "stretched_cluster_config", stretched_cluster_config)
388
394
 
389
395
  @property
390
396
  @pulumi.getter(name="clusterId")
@@ -417,6 +423,19 @@ class PrivateCloudManagementClusterArgs:
417
423
  def node_type_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateCloudManagementClusterNodeTypeConfigArgs']]]]):
418
424
  pulumi.set(self, "node_type_configs", value)
419
425
 
426
+ @property
427
+ @pulumi.getter(name="stretchedClusterConfig")
428
+ def stretched_cluster_config(self) -> Optional[pulumi.Input['PrivateCloudManagementClusterStretchedClusterConfigArgs']]:
429
+ """
430
+ The stretched cluster configuration for the private cloud.
431
+ Structure is documented below.
432
+ """
433
+ return pulumi.get(self, "stretched_cluster_config")
434
+
435
+ @stretched_cluster_config.setter
436
+ def stretched_cluster_config(self, value: Optional[pulumi.Input['PrivateCloudManagementClusterStretchedClusterConfigArgs']]):
437
+ pulumi.set(self, "stretched_cluster_config", value)
438
+
420
439
 
421
440
  @pulumi.input_type
422
441
  class PrivateCloudManagementClusterNodeTypeConfigArgs:
@@ -431,8 +450,6 @@ class PrivateCloudManagementClusterNodeTypeConfigArgs:
431
450
  This number must always be one of `nodeType.availableCustomCoreCounts`.
432
451
  If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used.
433
452
  This cannot be changed once the PrivateCloud is created.
434
-
435
- - - -
436
453
  """
437
454
  pulumi.set(__self__, "node_count", node_count)
438
455
  pulumi.set(__self__, "node_type_id", node_type_id)
@@ -471,8 +488,6 @@ class PrivateCloudManagementClusterNodeTypeConfigArgs:
471
488
  This number must always be one of `nodeType.availableCustomCoreCounts`.
472
489
  If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used.
473
490
  This cannot be changed once the PrivateCloud is created.
474
-
475
- - - -
476
491
  """
477
492
  return pulumi.get(self, "custom_core_count")
478
493
 
@@ -481,6 +496,49 @@ class PrivateCloudManagementClusterNodeTypeConfigArgs:
481
496
  pulumi.set(self, "custom_core_count", value)
482
497
 
483
498
 
499
+ @pulumi.input_type
500
+ class PrivateCloudManagementClusterStretchedClusterConfigArgs:
501
+ def __init__(__self__, *,
502
+ preferred_location: Optional[pulumi.Input[str]] = None,
503
+ secondary_location: Optional[pulumi.Input[str]] = None):
504
+ """
505
+ :param pulumi.Input[str] preferred_location: Zone that will remain operational when connection between the two zones is lost.
506
+ :param pulumi.Input[str] secondary_location: Additional zone for a higher level of availability and load balancing.
507
+
508
+ - - -
509
+ """
510
+ if preferred_location is not None:
511
+ pulumi.set(__self__, "preferred_location", preferred_location)
512
+ if secondary_location is not None:
513
+ pulumi.set(__self__, "secondary_location", secondary_location)
514
+
515
+ @property
516
+ @pulumi.getter(name="preferredLocation")
517
+ def preferred_location(self) -> Optional[pulumi.Input[str]]:
518
+ """
519
+ Zone that will remain operational when connection between the two zones is lost.
520
+ """
521
+ return pulumi.get(self, "preferred_location")
522
+
523
+ @preferred_location.setter
524
+ def preferred_location(self, value: Optional[pulumi.Input[str]]):
525
+ pulumi.set(self, "preferred_location", value)
526
+
527
+ @property
528
+ @pulumi.getter(name="secondaryLocation")
529
+ def secondary_location(self) -> Optional[pulumi.Input[str]]:
530
+ """
531
+ Additional zone for a higher level of availability and load balancing.
532
+
533
+ - - -
534
+ """
535
+ return pulumi.get(self, "secondary_location")
536
+
537
+ @secondary_location.setter
538
+ def secondary_location(self, value: Optional[pulumi.Input[str]]):
539
+ pulumi.set(self, "secondary_location", value)
540
+
541
+
484
542
  @pulumi.input_type
485
543
  class PrivateCloudNetworkConfigArgs:
486
544
  def __init__(__self__, *,
@@ -22,7 +22,7 @@ class GetPrivateCloudResult:
22
22
  """
23
23
  A collection of values returned by getPrivateCloud.
24
24
  """
25
- def __init__(__self__, description=None, hcxes=None, id=None, location=None, management_clusters=None, name=None, network_configs=None, nsxes=None, preferred_zone=None, project=None, secondary_zone=None, state=None, type=None, uid=None, vcenters=None):
25
+ def __init__(__self__, description=None, hcxes=None, id=None, location=None, management_clusters=None, name=None, network_configs=None, nsxes=None, project=None, state=None, type=None, uid=None, vcenters=None):
26
26
  if description and not isinstance(description, str):
27
27
  raise TypeError("Expected argument 'description' to be a str")
28
28
  pulumi.set(__self__, "description", description)
@@ -47,15 +47,9 @@ class GetPrivateCloudResult:
47
47
  if nsxes and not isinstance(nsxes, list):
48
48
  raise TypeError("Expected argument 'nsxes' to be a list")
49
49
  pulumi.set(__self__, "nsxes", nsxes)
50
- if preferred_zone and not isinstance(preferred_zone, str):
51
- raise TypeError("Expected argument 'preferred_zone' to be a str")
52
- pulumi.set(__self__, "preferred_zone", preferred_zone)
53
50
  if project and not isinstance(project, str):
54
51
  raise TypeError("Expected argument 'project' to be a str")
55
52
  pulumi.set(__self__, "project", project)
56
- if secondary_zone and not isinstance(secondary_zone, str):
57
- raise TypeError("Expected argument 'secondary_zone' to be a str")
58
- pulumi.set(__self__, "secondary_zone", secondary_zone)
59
53
  if state and not isinstance(state, str):
60
54
  raise TypeError("Expected argument 'state' to be a str")
61
55
  pulumi.set(__self__, "state", state)
@@ -112,21 +106,11 @@ class GetPrivateCloudResult:
112
106
  def nsxes(self) -> Sequence['outputs.GetPrivateCloudNsxResult']:
113
107
  return pulumi.get(self, "nsxes")
114
108
 
115
- @property
116
- @pulumi.getter(name="preferredZone")
117
- def preferred_zone(self) -> str:
118
- return pulumi.get(self, "preferred_zone")
119
-
120
109
  @property
121
110
  @pulumi.getter
122
111
  def project(self) -> Optional[str]:
123
112
  return pulumi.get(self, "project")
124
113
 
125
- @property
126
- @pulumi.getter(name="secondaryZone")
127
- def secondary_zone(self) -> str:
128
- return pulumi.get(self, "secondary_zone")
129
-
130
114
  @property
131
115
  @pulumi.getter
132
116
  def state(self) -> str:
@@ -162,9 +146,7 @@ class AwaitableGetPrivateCloudResult(GetPrivateCloudResult):
162
146
  name=self.name,
163
147
  network_configs=self.network_configs,
164
148
  nsxes=self.nsxes,
165
- preferred_zone=self.preferred_zone,
166
149
  project=self.project,
167
- secondary_zone=self.secondary_zone,
168
150
  state=self.state,
169
151
  type=self.type,
170
152
  uid=self.uid,
@@ -215,9 +197,7 @@ def get_private_cloud(location: Optional[str] = None,
215
197
  name=pulumi.get(__ret__, 'name'),
216
198
  network_configs=pulumi.get(__ret__, 'network_configs'),
217
199
  nsxes=pulumi.get(__ret__, 'nsxes'),
218
- preferred_zone=pulumi.get(__ret__, 'preferred_zone'),
219
200
  project=pulumi.get(__ret__, 'project'),
220
- secondary_zone=pulumi.get(__ret__, 'secondary_zone'),
221
201
  state=pulumi.get(__ret__, 'state'),
222
202
  type=pulumi.get(__ret__, 'type'),
223
203
  uid=pulumi.get(__ret__, 'uid'),
@@ -20,6 +20,7 @@ __all__ = [
20
20
  'PrivateCloudHcx',
21
21
  'PrivateCloudManagementCluster',
22
22
  'PrivateCloudManagementClusterNodeTypeConfig',
23
+ 'PrivateCloudManagementClusterStretchedClusterConfig',
23
24
  'PrivateCloudNetworkConfig',
24
25
  'PrivateCloudNsx',
25
26
  'PrivateCloudVcenter',
@@ -33,6 +34,7 @@ __all__ = [
33
34
  'GetPrivateCloudHcxResult',
34
35
  'GetPrivateCloudManagementClusterResult',
35
36
  'GetPrivateCloudManagementClusterNodeTypeConfigResult',
37
+ 'GetPrivateCloudManagementClusterStretchedClusterConfigResult',
36
38
  'GetPrivateCloudNetworkConfigResult',
37
39
  'GetPrivateCloudNsxResult',
38
40
  'GetPrivateCloudVcenterResult',
@@ -397,6 +399,8 @@ class PrivateCloudManagementCluster(dict):
397
399
  suggest = "cluster_id"
398
400
  elif key == "nodeTypeConfigs":
399
401
  suggest = "node_type_configs"
402
+ elif key == "stretchedClusterConfig":
403
+ suggest = "stretched_cluster_config"
400
404
 
401
405
  if suggest:
402
406
  pulumi.log.warn(f"Key '{key}' not found in PrivateCloudManagementCluster. Access the value via the '{suggest}' property getter instead.")
@@ -411,7 +415,8 @@ class PrivateCloudManagementCluster(dict):
411
415
 
412
416
  def __init__(__self__, *,
413
417
  cluster_id: str,
414
- node_type_configs: Optional[Sequence['outputs.PrivateCloudManagementClusterNodeTypeConfig']] = None):
418
+ node_type_configs: Optional[Sequence['outputs.PrivateCloudManagementClusterNodeTypeConfig']] = None,
419
+ stretched_cluster_config: Optional['outputs.PrivateCloudManagementClusterStretchedClusterConfig'] = None):
415
420
  """
416
421
  :param str cluster_id: The user-provided identifier of the new Cluster. The identifier must meet the following requirements:
417
422
  * Only contains 1-63 alphanumeric characters and hyphens
@@ -422,10 +427,14 @@ class PrivateCloudManagementCluster(dict):
422
427
  :param Sequence['PrivateCloudManagementClusterNodeTypeConfigArgs'] node_type_configs: The map of cluster node types in this cluster,
423
428
  where the key is canonical identifier of the node type (corresponds to the NodeType).
424
429
  Structure is documented below.
430
+ :param 'PrivateCloudManagementClusterStretchedClusterConfigArgs' stretched_cluster_config: The stretched cluster configuration for the private cloud.
431
+ Structure is documented below.
425
432
  """
426
433
  pulumi.set(__self__, "cluster_id", cluster_id)
427
434
  if node_type_configs is not None:
428
435
  pulumi.set(__self__, "node_type_configs", node_type_configs)
436
+ if stretched_cluster_config is not None:
437
+ pulumi.set(__self__, "stretched_cluster_config", stretched_cluster_config)
429
438
 
430
439
  @property
431
440
  @pulumi.getter(name="clusterId")
@@ -450,6 +459,15 @@ class PrivateCloudManagementCluster(dict):
450
459
  """
451
460
  return pulumi.get(self, "node_type_configs")
452
461
 
462
+ @property
463
+ @pulumi.getter(name="stretchedClusterConfig")
464
+ def stretched_cluster_config(self) -> Optional['outputs.PrivateCloudManagementClusterStretchedClusterConfig']:
465
+ """
466
+ The stretched cluster configuration for the private cloud.
467
+ Structure is documented below.
468
+ """
469
+ return pulumi.get(self, "stretched_cluster_config")
470
+
453
471
 
454
472
  @pulumi.output_type
455
473
  class PrivateCloudManagementClusterNodeTypeConfig(dict):
@@ -485,8 +503,6 @@ class PrivateCloudManagementClusterNodeTypeConfig(dict):
485
503
  This number must always be one of `nodeType.availableCustomCoreCounts`.
486
504
  If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used.
487
505
  This cannot be changed once the PrivateCloud is created.
488
-
489
- - - -
490
506
  """
491
507
  pulumi.set(__self__, "node_count", node_count)
492
508
  pulumi.set(__self__, "node_type_id", node_type_id)
@@ -517,10 +533,62 @@ class PrivateCloudManagementClusterNodeTypeConfig(dict):
517
533
  This number must always be one of `nodeType.availableCustomCoreCounts`.
518
534
  If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used.
519
535
  This cannot be changed once the PrivateCloud is created.
536
+ """
537
+ return pulumi.get(self, "custom_core_count")
538
+
539
+
540
+ @pulumi.output_type
541
+ class PrivateCloudManagementClusterStretchedClusterConfig(dict):
542
+ @staticmethod
543
+ def __key_warning(key: str):
544
+ suggest = None
545
+ if key == "preferredLocation":
546
+ suggest = "preferred_location"
547
+ elif key == "secondaryLocation":
548
+ suggest = "secondary_location"
549
+
550
+ if suggest:
551
+ pulumi.log.warn(f"Key '{key}' not found in PrivateCloudManagementClusterStretchedClusterConfig. Access the value via the '{suggest}' property getter instead.")
552
+
553
+ def __getitem__(self, key: str) -> Any:
554
+ PrivateCloudManagementClusterStretchedClusterConfig.__key_warning(key)
555
+ return super().__getitem__(key)
556
+
557
+ def get(self, key: str, default = None) -> Any:
558
+ PrivateCloudManagementClusterStretchedClusterConfig.__key_warning(key)
559
+ return super().get(key, default)
560
+
561
+ def __init__(__self__, *,
562
+ preferred_location: Optional[str] = None,
563
+ secondary_location: Optional[str] = None):
564
+ """
565
+ :param str preferred_location: Zone that will remain operational when connection between the two zones is lost.
566
+ :param str secondary_location: Additional zone for a higher level of availability and load balancing.
567
+
568
+ - - -
569
+ """
570
+ if preferred_location is not None:
571
+ pulumi.set(__self__, "preferred_location", preferred_location)
572
+ if secondary_location is not None:
573
+ pulumi.set(__self__, "secondary_location", secondary_location)
574
+
575
+ @property
576
+ @pulumi.getter(name="preferredLocation")
577
+ def preferred_location(self) -> Optional[str]:
578
+ """
579
+ Zone that will remain operational when connection between the two zones is lost.
580
+ """
581
+ return pulumi.get(self, "preferred_location")
582
+
583
+ @property
584
+ @pulumi.getter(name="secondaryLocation")
585
+ def secondary_location(self) -> Optional[str]:
586
+ """
587
+ Additional zone for a higher level of availability and load balancing.
520
588
 
521
589
  - - -
522
590
  """
523
- return pulumi.get(self, "custom_core_count")
591
+ return pulumi.get(self, "secondary_location")
524
592
 
525
593
 
526
594
  @pulumi.output_type
@@ -1082,7 +1150,8 @@ class GetPrivateCloudHcxResult(dict):
1082
1150
  class GetPrivateCloudManagementClusterResult(dict):
1083
1151
  def __init__(__self__, *,
1084
1152
  cluster_id: str,
1085
- node_type_configs: Sequence['outputs.GetPrivateCloudManagementClusterNodeTypeConfigResult']):
1153
+ node_type_configs: Sequence['outputs.GetPrivateCloudManagementClusterNodeTypeConfigResult'],
1154
+ stretched_cluster_configs: Sequence['outputs.GetPrivateCloudManagementClusterStretchedClusterConfigResult']):
1086
1155
  """
1087
1156
  :param str cluster_id: The user-provided identifier of the new Cluster. The identifier must meet the following requirements:
1088
1157
  * Only contains 1-63 alphanumeric characters and hyphens
@@ -1092,9 +1161,11 @@ class GetPrivateCloudManagementClusterResult(dict):
1092
1161
  * Complies with RFC 1034 (https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5)
1093
1162
  :param Sequence['GetPrivateCloudManagementClusterNodeTypeConfigArgs'] node_type_configs: The map of cluster node types in this cluster,
1094
1163
  where the key is canonical identifier of the node type (corresponds to the NodeType).
1164
+ :param Sequence['GetPrivateCloudManagementClusterStretchedClusterConfigArgs'] stretched_cluster_configs: The stretched cluster configuration for the private cloud.
1095
1165
  """
1096
1166
  pulumi.set(__self__, "cluster_id", cluster_id)
1097
1167
  pulumi.set(__self__, "node_type_configs", node_type_configs)
1168
+ pulumi.set(__self__, "stretched_cluster_configs", stretched_cluster_configs)
1098
1169
 
1099
1170
  @property
1100
1171
  @pulumi.getter(name="clusterId")
@@ -1118,6 +1189,14 @@ class GetPrivateCloudManagementClusterResult(dict):
1118
1189
  """
1119
1190
  return pulumi.get(self, "node_type_configs")
1120
1191
 
1192
+ @property
1193
+ @pulumi.getter(name="stretchedClusterConfigs")
1194
+ def stretched_cluster_configs(self) -> Sequence['outputs.GetPrivateCloudManagementClusterStretchedClusterConfigResult']:
1195
+ """
1196
+ The stretched cluster configuration for the private cloud.
1197
+ """
1198
+ return pulumi.get(self, "stretched_cluster_configs")
1199
+
1121
1200
 
1122
1201
  @pulumi.output_type
1123
1202
  class GetPrivateCloudManagementClusterNodeTypeConfigResult(dict):
@@ -1161,6 +1240,35 @@ class GetPrivateCloudManagementClusterNodeTypeConfigResult(dict):
1161
1240
  return pulumi.get(self, "node_type_id")
1162
1241
 
1163
1242
 
1243
+ @pulumi.output_type
1244
+ class GetPrivateCloudManagementClusterStretchedClusterConfigResult(dict):
1245
+ def __init__(__self__, *,
1246
+ preferred_location: str,
1247
+ secondary_location: str):
1248
+ """
1249
+ :param str preferred_location: Zone that will remain operational when connection between the two zones is lost.
1250
+ :param str secondary_location: Additional zone for a higher level of availability and load balancing.
1251
+ """
1252
+ pulumi.set(__self__, "preferred_location", preferred_location)
1253
+ pulumi.set(__self__, "secondary_location", secondary_location)
1254
+
1255
+ @property
1256
+ @pulumi.getter(name="preferredLocation")
1257
+ def preferred_location(self) -> str:
1258
+ """
1259
+ Zone that will remain operational when connection between the two zones is lost.
1260
+ """
1261
+ return pulumi.get(self, "preferred_location")
1262
+
1263
+ @property
1264
+ @pulumi.getter(name="secondaryLocation")
1265
+ def secondary_location(self) -> str:
1266
+ """
1267
+ Additional zone for a higher level of availability and load balancing.
1268
+ """
1269
+ return pulumi.get(self, "secondary_location")
1270
+
1271
+
1164
1272
  @pulumi.output_type
1165
1273
  class GetPrivateCloudNetworkConfigResult(dict):
1166
1274
  def __init__(__self__, *,