pulumi-gcp 8.1.0a1726293903__py3-none-any.whl → 8.2.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 (128) hide show
  1. pulumi_gcp/__init__.py +62 -0
  2. pulumi_gcp/alloydb/_inputs.py +94 -0
  3. pulumi_gcp/alloydb/cluster.py +94 -1
  4. pulumi_gcp/alloydb/outputs.py +79 -0
  5. pulumi_gcp/assuredworkloads/workload.py +135 -16
  6. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  7. pulumi_gcp/backupdisasterrecovery/backup_vault.py +1203 -0
  8. pulumi_gcp/bigquery/__init__.py +1 -0
  9. pulumi_gcp/bigquery/_inputs.py +33 -0
  10. pulumi_gcp/bigquery/data_transfer_config.py +134 -6
  11. pulumi_gcp/bigquery/get_tables.py +143 -0
  12. pulumi_gcp/bigquery/outputs.py +66 -0
  13. pulumi_gcp/bigqueryanalyticshub/_inputs.py +169 -7
  14. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +96 -3
  15. pulumi_gcp/bigqueryanalyticshub/listing.py +114 -0
  16. pulumi_gcp/bigqueryanalyticshub/outputs.py +138 -5
  17. pulumi_gcp/bigtable/_inputs.py +21 -1
  18. pulumi_gcp/bigtable/outputs.py +13 -1
  19. pulumi_gcp/bigtable/table.py +34 -0
  20. pulumi_gcp/certificateauthority/authority.py +14 -7
  21. pulumi_gcp/certificatemanager/__init__.py +1 -0
  22. pulumi_gcp/certificatemanager/certificate.py +28 -0
  23. pulumi_gcp/certificatemanager/get_certificates.py +150 -0
  24. pulumi_gcp/certificatemanager/outputs.py +322 -0
  25. pulumi_gcp/cloudbuild/_inputs.py +6 -6
  26. pulumi_gcp/cloudbuild/outputs.py +4 -4
  27. pulumi_gcp/cloudrun/_inputs.py +6 -12
  28. pulumi_gcp/cloudrun/outputs.py +8 -16
  29. pulumi_gcp/cloudrunv2/_inputs.py +72 -15
  30. pulumi_gcp/cloudrunv2/outputs.py +82 -16
  31. pulumi_gcp/cloudrunv2/service.py +50 -4
  32. pulumi_gcp/cloudtasks/_inputs.py +630 -0
  33. pulumi_gcp/cloudtasks/outputs.py +479 -0
  34. pulumi_gcp/cloudtasks/queue.py +238 -0
  35. pulumi_gcp/compute/__init__.py +1 -0
  36. pulumi_gcp/compute/_inputs.py +2300 -257
  37. pulumi_gcp/compute/get_instance.py +4 -1
  38. pulumi_gcp/compute/health_check.py +114 -0
  39. pulumi_gcp/compute/instance.py +86 -4
  40. pulumi_gcp/compute/instance_template.py +66 -0
  41. pulumi_gcp/compute/interconnect.py +28 -21
  42. pulumi_gcp/compute/network_firewall_policy_with_rules.py +826 -0
  43. pulumi_gcp/compute/node_template.py +93 -0
  44. pulumi_gcp/compute/outputs.py +1491 -6
  45. pulumi_gcp/compute/region_target_http_proxy.py +159 -0
  46. pulumi_gcp/compute/region_target_https_proxy.py +175 -0
  47. pulumi_gcp/compute/service_attachment.py +75 -0
  48. pulumi_gcp/compute/target_http_proxy.py +49 -28
  49. pulumi_gcp/compute/target_https_proxy.py +77 -28
  50. pulumi_gcp/config/__init__.pyi +4 -0
  51. pulumi_gcp/config/vars.py +8 -0
  52. pulumi_gcp/container/_inputs.py +236 -3
  53. pulumi_gcp/container/attached_cluster.py +61 -8
  54. pulumi_gcp/container/outputs.py +276 -2
  55. pulumi_gcp/databasemigrationservice/_inputs.py +176 -148
  56. pulumi_gcp/databasemigrationservice/connection_profile.py +206 -0
  57. pulumi_gcp/databasemigrationservice/outputs.py +109 -87
  58. pulumi_gcp/dataloss/_inputs.py +353 -1
  59. pulumi_gcp/dataloss/outputs.py +274 -3
  60. pulumi_gcp/dataproc/_inputs.py +27 -27
  61. pulumi_gcp/dataproc/metastore_federation.py +8 -8
  62. pulumi_gcp/dataproc/metastore_service.py +2 -0
  63. pulumi_gcp/dataproc/outputs.py +18 -18
  64. pulumi_gcp/datastream/_inputs.py +69 -1
  65. pulumi_gcp/datastream/outputs.py +44 -2
  66. pulumi_gcp/datastream/stream.py +201 -7
  67. pulumi_gcp/developerconnect/__init__.py +11 -0
  68. pulumi_gcp/developerconnect/_inputs.py +301 -0
  69. pulumi_gcp/developerconnect/connection.py +1034 -0
  70. pulumi_gcp/developerconnect/git_repository_link.py +873 -0
  71. pulumi_gcp/developerconnect/outputs.py +247 -0
  72. pulumi_gcp/discoveryengine/_inputs.py +188 -0
  73. pulumi_gcp/discoveryengine/data_store.py +14 -14
  74. pulumi_gcp/discoveryengine/outputs.py +153 -1
  75. pulumi_gcp/firebase/database_instance.py +7 -7
  76. pulumi_gcp/gkehub/_inputs.py +25 -1
  77. pulumi_gcp/gkehub/feature_membership.py +12 -6
  78. pulumi_gcp/gkehub/outputs.py +17 -1
  79. pulumi_gcp/gkeonprem/_inputs.py +3 -3
  80. pulumi_gcp/gkeonprem/outputs.py +2 -2
  81. pulumi_gcp/iam/_inputs.py +196 -0
  82. pulumi_gcp/iam/get_workload_identity_pool_provider.py +13 -3
  83. pulumi_gcp/iam/outputs.py +295 -0
  84. pulumi_gcp/iam/workload_identity_pool_provider.py +164 -3
  85. pulumi_gcp/kms/__init__.py +2 -0
  86. pulumi_gcp/kms/autokey_config.py +10 -2
  87. pulumi_gcp/kms/get_crypto_key_latest_version.py +222 -0
  88. pulumi_gcp/kms/get_crypto_key_versions.py +175 -0
  89. pulumi_gcp/kms/outputs.py +164 -0
  90. pulumi_gcp/memorystore/__init__.py +10 -0
  91. pulumi_gcp/memorystore/_inputs.py +731 -0
  92. pulumi_gcp/memorystore/instance.py +1663 -0
  93. pulumi_gcp/memorystore/outputs.py +598 -0
  94. pulumi_gcp/netapp/active_directory.py +6 -6
  95. pulumi_gcp/netapp/backup.py +6 -6
  96. pulumi_gcp/netapp/backup_policy.py +6 -6
  97. pulumi_gcp/netapp/backup_vault.py +6 -6
  98. pulumi_gcp/netapp/storage_pool.py +4 -4
  99. pulumi_gcp/netapp/volume.py +108 -0
  100. pulumi_gcp/networkconnectivity/_inputs.py +21 -1
  101. pulumi_gcp/networkconnectivity/outputs.py +15 -1
  102. pulumi_gcp/networkconnectivity/spoke.py +8 -0
  103. pulumi_gcp/networksecurity/client_tls_policy.py +24 -22
  104. pulumi_gcp/networksecurity/server_tls_policy.py +20 -32
  105. pulumi_gcp/organizations/folder.py +52 -33
  106. pulumi_gcp/organizations/get_project.py +13 -3
  107. pulumi_gcp/organizations/project.py +88 -3
  108. pulumi_gcp/parallelstore/instance.py +121 -121
  109. pulumi_gcp/projects/iam_member_remove.py +26 -0
  110. pulumi_gcp/projects/usage_export_bucket.py +38 -0
  111. pulumi_gcp/provider.py +40 -0
  112. pulumi_gcp/pubsub/_inputs.py +40 -0
  113. pulumi_gcp/pubsub/outputs.py +51 -1
  114. pulumi_gcp/pubsub/subscription.py +6 -0
  115. pulumi_gcp/pulumi-plugin.json +1 -1
  116. pulumi_gcp/redis/_inputs.py +419 -0
  117. pulumi_gcp/redis/cluster.py +123 -0
  118. pulumi_gcp/redis/outputs.py +315 -0
  119. pulumi_gcp/securitycenter/__init__.py +2 -0
  120. pulumi_gcp/securitycenter/v2_folder_scc_big_query_export.py +857 -0
  121. pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +4 -4
  122. pulumi_gcp/securitycenter/v2_project_mute_config.py +2 -2
  123. pulumi_gcp/securitycenter/v2_project_scc_big_query_export.py +796 -0
  124. pulumi_gcp/vpcaccess/connector.py +21 -28
  125. {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/METADATA +1 -1
  126. {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/RECORD +128 -111
  127. {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/WHEEL +1 -1
  128. {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,222 @@
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 sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetCryptoKeyLatestVersionResult',
20
+ 'AwaitableGetCryptoKeyLatestVersionResult',
21
+ 'get_crypto_key_latest_version',
22
+ 'get_crypto_key_latest_version_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetCryptoKeyLatestVersionResult:
27
+ """
28
+ A collection of values returned by getCryptoKeyLatestVersion.
29
+ """
30
+ def __init__(__self__, algorithm=None, crypto_key=None, filter=None, id=None, name=None, protection_level=None, public_keys=None, state=None, version=None):
31
+ if algorithm and not isinstance(algorithm, str):
32
+ raise TypeError("Expected argument 'algorithm' to be a str")
33
+ pulumi.set(__self__, "algorithm", algorithm)
34
+ if crypto_key and not isinstance(crypto_key, str):
35
+ raise TypeError("Expected argument 'crypto_key' to be a str")
36
+ pulumi.set(__self__, "crypto_key", crypto_key)
37
+ if filter and not isinstance(filter, str):
38
+ raise TypeError("Expected argument 'filter' to be a str")
39
+ pulumi.set(__self__, "filter", filter)
40
+ if id and not isinstance(id, str):
41
+ raise TypeError("Expected argument 'id' to be a str")
42
+ pulumi.set(__self__, "id", id)
43
+ if name and not isinstance(name, str):
44
+ raise TypeError("Expected argument 'name' to be a str")
45
+ pulumi.set(__self__, "name", name)
46
+ if protection_level and not isinstance(protection_level, str):
47
+ raise TypeError("Expected argument 'protection_level' to be a str")
48
+ pulumi.set(__self__, "protection_level", protection_level)
49
+ if public_keys and not isinstance(public_keys, list):
50
+ raise TypeError("Expected argument 'public_keys' to be a list")
51
+ pulumi.set(__self__, "public_keys", public_keys)
52
+ if state and not isinstance(state, str):
53
+ raise TypeError("Expected argument 'state' to be a str")
54
+ pulumi.set(__self__, "state", state)
55
+ if version and not isinstance(version, int):
56
+ raise TypeError("Expected argument 'version' to be a int")
57
+ pulumi.set(__self__, "version", version)
58
+
59
+ @property
60
+ @pulumi.getter
61
+ def algorithm(self) -> str:
62
+ """
63
+ The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
64
+ """
65
+ return pulumi.get(self, "algorithm")
66
+
67
+ @property
68
+ @pulumi.getter(name="cryptoKey")
69
+ def crypto_key(self) -> str:
70
+ return pulumi.get(self, "crypto_key")
71
+
72
+ @property
73
+ @pulumi.getter
74
+ def filter(self) -> Optional[str]:
75
+ return pulumi.get(self, "filter")
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def id(self) -> str:
80
+ """
81
+ The provider-assigned unique ID for this managed resource.
82
+ """
83
+ return pulumi.get(self, "id")
84
+
85
+ @property
86
+ @pulumi.getter
87
+ def name(self) -> str:
88
+ return pulumi.get(self, "name")
89
+
90
+ @property
91
+ @pulumi.getter(name="protectionLevel")
92
+ def protection_level(self) -> str:
93
+ """
94
+ The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion. See the [protection_level reference](https://cloud.google.com/kms/docs/reference/rest/v1/ProtectionLevel) for possible outputs.
95
+ """
96
+ return pulumi.get(self, "protection_level")
97
+
98
+ @property
99
+ @pulumi.getter(name="publicKeys")
100
+ def public_keys(self) -> Sequence['outputs.GetCryptoKeyLatestVersionPublicKeyResult']:
101
+ """
102
+ If the enclosing CryptoKey has purpose `ASYMMETRIC_SIGN` or `ASYMMETRIC_DECRYPT`, this block contains details about the public key associated to this CryptoKeyVersion. Structure is documented below.
103
+ """
104
+ return pulumi.get(self, "public_keys")
105
+
106
+ @property
107
+ @pulumi.getter
108
+ def state(self) -> str:
109
+ """
110
+ The current state of the latest CryptoKeyVersion. See the [state reference](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions#CryptoKeyVersion.CryptoKeyVersionState) for possible outputs.
111
+ """
112
+ return pulumi.get(self, "state")
113
+
114
+ @property
115
+ @pulumi.getter
116
+ def version(self) -> int:
117
+ return pulumi.get(self, "version")
118
+
119
+
120
+ class AwaitableGetCryptoKeyLatestVersionResult(GetCryptoKeyLatestVersionResult):
121
+ # pylint: disable=using-constant-test
122
+ def __await__(self):
123
+ if False:
124
+ yield self
125
+ return GetCryptoKeyLatestVersionResult(
126
+ algorithm=self.algorithm,
127
+ crypto_key=self.crypto_key,
128
+ filter=self.filter,
129
+ id=self.id,
130
+ name=self.name,
131
+ protection_level=self.protection_level,
132
+ public_keys=self.public_keys,
133
+ state=self.state,
134
+ version=self.version)
135
+
136
+
137
+ def get_crypto_key_latest_version(crypto_key: Optional[str] = None,
138
+ filter: Optional[str] = None,
139
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCryptoKeyLatestVersionResult:
140
+ """
141
+ Provides access to the latest Google Cloud Platform KMS CryptoKeyVersion in a CryptoKey. For more information see
142
+ [the official documentation](https://cloud.google.com/kms/docs/object-hierarchy#key_version)
143
+ and
144
+ [API](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions).
145
+
146
+ ## Example Usage
147
+
148
+ ```python
149
+ import pulumi
150
+ import pulumi_gcp as gcp
151
+
152
+ my_key_ring = gcp.kms.get_kms_key_ring(name="my-key-ring",
153
+ location="us-central1")
154
+ my_crypto_key = gcp.kms.get_kms_crypto_key(name="my-crypto-key",
155
+ key_ring=my_key_ring.id)
156
+ my_crypto_key_latest_version = gcp.kms.get_crypto_key_latest_version(crypto_key=my_key["id"])
157
+ ```
158
+
159
+
160
+ :param str crypto_key: The `id` of the Google Cloud Platform CryptoKey to which the key version belongs. This is also the `id` field of the
161
+ `kms.CryptoKey` resource/datasource.
162
+ :param str filter: The filter argument is used to add a filter query parameter that limits which type of cryptoKeyVersion is retrieved as the latest by the data source: ?filter={{filter}}. When no value is provided there is no filtering.
163
+
164
+ Example filter values if filtering on state.
165
+
166
+ * `"state:ENABLED"` will retrieve the latest cryptoKeyVersion that has the state "ENABLED".
167
+
168
+ [See the documentation about using filters](https://cloud.google.com/kms/docs/sorting-and-filtering)
169
+ """
170
+ __args__ = dict()
171
+ __args__['cryptoKey'] = crypto_key
172
+ __args__['filter'] = filter
173
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
174
+ __ret__ = pulumi.runtime.invoke('gcp:kms/getCryptoKeyLatestVersion:getCryptoKeyLatestVersion', __args__, opts=opts, typ=GetCryptoKeyLatestVersionResult).value
175
+
176
+ return AwaitableGetCryptoKeyLatestVersionResult(
177
+ algorithm=pulumi.get(__ret__, 'algorithm'),
178
+ crypto_key=pulumi.get(__ret__, 'crypto_key'),
179
+ filter=pulumi.get(__ret__, 'filter'),
180
+ id=pulumi.get(__ret__, 'id'),
181
+ name=pulumi.get(__ret__, 'name'),
182
+ protection_level=pulumi.get(__ret__, 'protection_level'),
183
+ public_keys=pulumi.get(__ret__, 'public_keys'),
184
+ state=pulumi.get(__ret__, 'state'),
185
+ version=pulumi.get(__ret__, 'version'))
186
+
187
+
188
+ @_utilities.lift_output_func(get_crypto_key_latest_version)
189
+ def get_crypto_key_latest_version_output(crypto_key: Optional[pulumi.Input[str]] = None,
190
+ filter: Optional[pulumi.Input[Optional[str]]] = None,
191
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCryptoKeyLatestVersionResult]:
192
+ """
193
+ Provides access to the latest Google Cloud Platform KMS CryptoKeyVersion in a CryptoKey. For more information see
194
+ [the official documentation](https://cloud.google.com/kms/docs/object-hierarchy#key_version)
195
+ and
196
+ [API](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions).
197
+
198
+ ## Example Usage
199
+
200
+ ```python
201
+ import pulumi
202
+ import pulumi_gcp as gcp
203
+
204
+ my_key_ring = gcp.kms.get_kms_key_ring(name="my-key-ring",
205
+ location="us-central1")
206
+ my_crypto_key = gcp.kms.get_kms_crypto_key(name="my-crypto-key",
207
+ key_ring=my_key_ring.id)
208
+ my_crypto_key_latest_version = gcp.kms.get_crypto_key_latest_version(crypto_key=my_key["id"])
209
+ ```
210
+
211
+
212
+ :param str crypto_key: The `id` of the Google Cloud Platform CryptoKey to which the key version belongs. This is also the `id` field of the
213
+ `kms.CryptoKey` resource/datasource.
214
+ :param str filter: The filter argument is used to add a filter query parameter that limits which type of cryptoKeyVersion is retrieved as the latest by the data source: ?filter={{filter}}. When no value is provided there is no filtering.
215
+
216
+ Example filter values if filtering on state.
217
+
218
+ * `"state:ENABLED"` will retrieve the latest cryptoKeyVersion that has the state "ENABLED".
219
+
220
+ [See the documentation about using filters](https://cloud.google.com/kms/docs/sorting-and-filtering)
221
+ """
222
+ ...
@@ -0,0 +1,175 @@
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 sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetCryptoKeyVersionsResult',
20
+ 'AwaitableGetCryptoKeyVersionsResult',
21
+ 'get_crypto_key_versions',
22
+ 'get_crypto_key_versions_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetCryptoKeyVersionsResult:
27
+ """
28
+ A collection of values returned by getCryptoKeyVersions.
29
+ """
30
+ def __init__(__self__, crypto_key=None, filter=None, id=None, public_keys=None, versions=None):
31
+ if crypto_key and not isinstance(crypto_key, str):
32
+ raise TypeError("Expected argument 'crypto_key' to be a str")
33
+ pulumi.set(__self__, "crypto_key", crypto_key)
34
+ if filter and not isinstance(filter, str):
35
+ raise TypeError("Expected argument 'filter' to be a str")
36
+ pulumi.set(__self__, "filter", filter)
37
+ if id and not isinstance(id, str):
38
+ raise TypeError("Expected argument 'id' to be a str")
39
+ pulumi.set(__self__, "id", id)
40
+ if public_keys and not isinstance(public_keys, list):
41
+ raise TypeError("Expected argument 'public_keys' to be a list")
42
+ pulumi.set(__self__, "public_keys", public_keys)
43
+ if versions and not isinstance(versions, list):
44
+ raise TypeError("Expected argument 'versions' to be a list")
45
+ pulumi.set(__self__, "versions", versions)
46
+
47
+ @property
48
+ @pulumi.getter(name="cryptoKey")
49
+ def crypto_key(self) -> str:
50
+ return pulumi.get(self, "crypto_key")
51
+
52
+ @property
53
+ @pulumi.getter
54
+ def filter(self) -> Optional[str]:
55
+ return pulumi.get(self, "filter")
56
+
57
+ @property
58
+ @pulumi.getter
59
+ def id(self) -> str:
60
+ """
61
+ The provider-assigned unique ID for this managed resource.
62
+ """
63
+ return pulumi.get(self, "id")
64
+
65
+ @property
66
+ @pulumi.getter(name="publicKeys")
67
+ def public_keys(self) -> Sequence['outputs.GetCryptoKeyVersionsPublicKeyResult']:
68
+ return pulumi.get(self, "public_keys")
69
+
70
+ @property
71
+ @pulumi.getter
72
+ def versions(self) -> Sequence['outputs.GetCryptoKeyVersionsVersionResult']:
73
+ """
74
+ A list of all the retrieved crypto key versions from the provided crypto key. This list is influenced by the provided filter argument.
75
+ """
76
+ return pulumi.get(self, "versions")
77
+
78
+
79
+ class AwaitableGetCryptoKeyVersionsResult(GetCryptoKeyVersionsResult):
80
+ # pylint: disable=using-constant-test
81
+ def __await__(self):
82
+ if False:
83
+ yield self
84
+ return GetCryptoKeyVersionsResult(
85
+ crypto_key=self.crypto_key,
86
+ filter=self.filter,
87
+ id=self.id,
88
+ public_keys=self.public_keys,
89
+ versions=self.versions)
90
+
91
+
92
+ def get_crypto_key_versions(crypto_key: Optional[str] = None,
93
+ filter: Optional[str] = None,
94
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCryptoKeyVersionsResult:
95
+ """
96
+ Provides access to Google Cloud Platform KMS CryptoKeyVersions. For more information see
97
+ [the official documentation](https://cloud.google.com/kms/docs/object-hierarchy#key_version)
98
+ and
99
+ [API](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions).
100
+
101
+ ## Example Usage
102
+
103
+ ```python
104
+ import pulumi
105
+ import pulumi_gcp as gcp
106
+
107
+ my_key_ring = gcp.kms.get_kms_key_ring(name="my-key-ring",
108
+ location="us-central1")
109
+ my_crypto_key = gcp.kms.get_kms_crypto_key(name="my-crypto-key",
110
+ key_ring=my_key_ring.id)
111
+ my_crypto_key_versions = gcp.kms.get_crypto_key_versions(crypto_key=my_key["id"])
112
+ ```
113
+
114
+
115
+ :param str crypto_key: The `id` of the Google Cloud Platform CryptoKey to which the key version belongs. This is also the `id` field of the
116
+ `kms.CryptoKey` resource/datasource.
117
+ :param str filter: The filter argument is used to add a filter query parameter that limits which versions are retrieved by the data source: ?filter={{filter}}. When no value is provided there is no filtering.
118
+
119
+ Example filter values if filtering on name. Note: names take the form projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}/cryptoKeys/{{cryptoKey}}/cryptoKeyVersions.
120
+
121
+ * `"name:my-key-"` will retrieve cryptoKeyVersions that contain "my-key-" anywhere in their name.
122
+ * `"name=projects/my-project/locations/global/keyRings/my-key-ring/cryptoKeys/my-key-1/cryptoKeyVersions/my-version-1"` will only retrieve a key with that exact name.
123
+
124
+ [See the documentation about using filters](https://cloud.google.com/kms/docs/sorting-and-filtering)
125
+ """
126
+ __args__ = dict()
127
+ __args__['cryptoKey'] = crypto_key
128
+ __args__['filter'] = filter
129
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
130
+ __ret__ = pulumi.runtime.invoke('gcp:kms/getCryptoKeyVersions:getCryptoKeyVersions', __args__, opts=opts, typ=GetCryptoKeyVersionsResult).value
131
+
132
+ return AwaitableGetCryptoKeyVersionsResult(
133
+ crypto_key=pulumi.get(__ret__, 'crypto_key'),
134
+ filter=pulumi.get(__ret__, 'filter'),
135
+ id=pulumi.get(__ret__, 'id'),
136
+ public_keys=pulumi.get(__ret__, 'public_keys'),
137
+ versions=pulumi.get(__ret__, 'versions'))
138
+
139
+
140
+ @_utilities.lift_output_func(get_crypto_key_versions)
141
+ def get_crypto_key_versions_output(crypto_key: Optional[pulumi.Input[str]] = None,
142
+ filter: Optional[pulumi.Input[Optional[str]]] = None,
143
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCryptoKeyVersionsResult]:
144
+ """
145
+ Provides access to Google Cloud Platform KMS CryptoKeyVersions. For more information see
146
+ [the official documentation](https://cloud.google.com/kms/docs/object-hierarchy#key_version)
147
+ and
148
+ [API](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions).
149
+
150
+ ## Example Usage
151
+
152
+ ```python
153
+ import pulumi
154
+ import pulumi_gcp as gcp
155
+
156
+ my_key_ring = gcp.kms.get_kms_key_ring(name="my-key-ring",
157
+ location="us-central1")
158
+ my_crypto_key = gcp.kms.get_kms_crypto_key(name="my-crypto-key",
159
+ key_ring=my_key_ring.id)
160
+ my_crypto_key_versions = gcp.kms.get_crypto_key_versions(crypto_key=my_key["id"])
161
+ ```
162
+
163
+
164
+ :param str crypto_key: The `id` of the Google Cloud Platform CryptoKey to which the key version belongs. This is also the `id` field of the
165
+ `kms.CryptoKey` resource/datasource.
166
+ :param str filter: The filter argument is used to add a filter query parameter that limits which versions are retrieved by the data source: ?filter={{filter}}. When no value is provided there is no filtering.
167
+
168
+ Example filter values if filtering on name. Note: names take the form projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}/cryptoKeys/{{cryptoKey}}/cryptoKeyVersions.
169
+
170
+ * `"name:my-key-"` will retrieve cryptoKeyVersions that contain "my-key-" anywhere in their name.
171
+ * `"name=projects/my-project/locations/global/keyRings/my-key-ring/cryptoKeys/my-key-1/cryptoKeyVersions/my-version-1"` will only retrieve a key with that exact name.
172
+
173
+ [See the documentation about using filters](https://cloud.google.com/kms/docs/sorting-and-filtering)
174
+ """
175
+ ...
pulumi_gcp/kms/outputs.py CHANGED
@@ -33,6 +33,10 @@ __all__ = [
33
33
  'KeyRingIAMMemberCondition',
34
34
  'KeyRingImportJobAttestation',
35
35
  'KeyRingImportJobPublicKey',
36
+ 'GetCryptoKeyLatestVersionPublicKeyResult',
37
+ 'GetCryptoKeyVersionsPublicKeyResult',
38
+ 'GetCryptoKeyVersionsVersionResult',
39
+ 'GetCryptoKeyVersionsVersionPublicKeyResult',
36
40
  'GetCryptoKeysKeyResult',
37
41
  'GetCryptoKeysKeyKeyAccessJustificationsPolicyResult',
38
42
  'GetCryptoKeysKeyPrimaryResult',
@@ -983,6 +987,166 @@ class KeyRingImportJobPublicKey(dict):
983
987
  return pulumi.get(self, "pem")
984
988
 
985
989
 
990
+ @pulumi.output_type
991
+ class GetCryptoKeyLatestVersionPublicKeyResult(dict):
992
+ def __init__(__self__, *,
993
+ algorithm: str,
994
+ pem: str):
995
+ """
996
+ :param str algorithm: The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
997
+ :param str pem: The public key, encoded in PEM format. For more information, see the RFC 7468 sections for General Considerations and Textual Encoding of Subject Public Key Info.
998
+ """
999
+ pulumi.set(__self__, "algorithm", algorithm)
1000
+ pulumi.set(__self__, "pem", pem)
1001
+
1002
+ @property
1003
+ @pulumi.getter
1004
+ def algorithm(self) -> str:
1005
+ """
1006
+ The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
1007
+ """
1008
+ return pulumi.get(self, "algorithm")
1009
+
1010
+ @property
1011
+ @pulumi.getter
1012
+ def pem(self) -> str:
1013
+ """
1014
+ The public key, encoded in PEM format. For more information, see the RFC 7468 sections for General Considerations and Textual Encoding of Subject Public Key Info.
1015
+ """
1016
+ return pulumi.get(self, "pem")
1017
+
1018
+
1019
+ @pulumi.output_type
1020
+ class GetCryptoKeyVersionsPublicKeyResult(dict):
1021
+ def __init__(__self__, *,
1022
+ algorithm: str,
1023
+ pem: str):
1024
+ """
1025
+ :param str algorithm: The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
1026
+ :param str pem: The public key, encoded in PEM format. For more information, see the RFC 7468 sections for General Considerations and Textual Encoding of Subject Public Key Info.
1027
+ """
1028
+ pulumi.set(__self__, "algorithm", algorithm)
1029
+ pulumi.set(__self__, "pem", pem)
1030
+
1031
+ @property
1032
+ @pulumi.getter
1033
+ def algorithm(self) -> str:
1034
+ """
1035
+ The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
1036
+ """
1037
+ return pulumi.get(self, "algorithm")
1038
+
1039
+ @property
1040
+ @pulumi.getter
1041
+ def pem(self) -> str:
1042
+ """
1043
+ The public key, encoded in PEM format. For more information, see the RFC 7468 sections for General Considerations and Textual Encoding of Subject Public Key Info.
1044
+ """
1045
+ return pulumi.get(self, "pem")
1046
+
1047
+
1048
+ @pulumi.output_type
1049
+ class GetCryptoKeyVersionsVersionResult(dict):
1050
+ def __init__(__self__, *,
1051
+ algorithm: str,
1052
+ crypto_key: str,
1053
+ id: str,
1054
+ name: str,
1055
+ protection_level: str,
1056
+ public_keys: Sequence['outputs.GetCryptoKeyVersionsVersionPublicKeyResult'],
1057
+ state: str,
1058
+ version: int):
1059
+ """
1060
+ :param str algorithm: The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
1061
+ :param str crypto_key: The `id` of the Google Cloud Platform CryptoKey to which the key version belongs. This is also the `id` field of the
1062
+ `kms.CryptoKey` resource/datasource.
1063
+ """
1064
+ pulumi.set(__self__, "algorithm", algorithm)
1065
+ pulumi.set(__self__, "crypto_key", crypto_key)
1066
+ pulumi.set(__self__, "id", id)
1067
+ pulumi.set(__self__, "name", name)
1068
+ pulumi.set(__self__, "protection_level", protection_level)
1069
+ pulumi.set(__self__, "public_keys", public_keys)
1070
+ pulumi.set(__self__, "state", state)
1071
+ pulumi.set(__self__, "version", version)
1072
+
1073
+ @property
1074
+ @pulumi.getter
1075
+ def algorithm(self) -> str:
1076
+ """
1077
+ The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
1078
+ """
1079
+ return pulumi.get(self, "algorithm")
1080
+
1081
+ @property
1082
+ @pulumi.getter(name="cryptoKey")
1083
+ def crypto_key(self) -> str:
1084
+ """
1085
+ The `id` of the Google Cloud Platform CryptoKey to which the key version belongs. This is also the `id` field of the
1086
+ `kms.CryptoKey` resource/datasource.
1087
+ """
1088
+ return pulumi.get(self, "crypto_key")
1089
+
1090
+ @property
1091
+ @pulumi.getter
1092
+ def id(self) -> str:
1093
+ return pulumi.get(self, "id")
1094
+
1095
+ @property
1096
+ @pulumi.getter
1097
+ def name(self) -> str:
1098
+ return pulumi.get(self, "name")
1099
+
1100
+ @property
1101
+ @pulumi.getter(name="protectionLevel")
1102
+ def protection_level(self) -> str:
1103
+ return pulumi.get(self, "protection_level")
1104
+
1105
+ @property
1106
+ @pulumi.getter(name="publicKeys")
1107
+ def public_keys(self) -> Sequence['outputs.GetCryptoKeyVersionsVersionPublicKeyResult']:
1108
+ return pulumi.get(self, "public_keys")
1109
+
1110
+ @property
1111
+ @pulumi.getter
1112
+ def state(self) -> str:
1113
+ return pulumi.get(self, "state")
1114
+
1115
+ @property
1116
+ @pulumi.getter
1117
+ def version(self) -> int:
1118
+ return pulumi.get(self, "version")
1119
+
1120
+
1121
+ @pulumi.output_type
1122
+ class GetCryptoKeyVersionsVersionPublicKeyResult(dict):
1123
+ def __init__(__self__, *,
1124
+ algorithm: str,
1125
+ pem: str):
1126
+ """
1127
+ :param str algorithm: The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
1128
+ :param str pem: The public key, encoded in PEM format. For more information, see the RFC 7468 sections for General Considerations and Textual Encoding of Subject Public Key Info.
1129
+ """
1130
+ pulumi.set(__self__, "algorithm", algorithm)
1131
+ pulumi.set(__self__, "pem", pem)
1132
+
1133
+ @property
1134
+ @pulumi.getter
1135
+ def algorithm(self) -> str:
1136
+ """
1137
+ The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.
1138
+ """
1139
+ return pulumi.get(self, "algorithm")
1140
+
1141
+ @property
1142
+ @pulumi.getter
1143
+ def pem(self) -> str:
1144
+ """
1145
+ The public key, encoded in PEM format. For more information, see the RFC 7468 sections for General Considerations and Textual Encoding of Subject Public Key Info.
1146
+ """
1147
+ return pulumi.get(self, "pem")
1148
+
1149
+
986
1150
  @pulumi.output_type
987
1151
  class GetCryptoKeysKeyResult(dict):
988
1152
  def __init__(__self__, *,
@@ -0,0 +1,10 @@
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
+ from .. import _utilities
6
+ import typing
7
+ # Export this package's modules as members:
8
+ from .instance import *
9
+ from ._inputs import *
10
+ from . import outputs