pulumi-gcp 7.30.2__py3-none-any.whl → 7.31.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 (86) hide show
  1. pulumi_gcp/__init__.py +40 -0
  2. pulumi_gcp/applicationintegration/auth_config.py +2 -2
  3. pulumi_gcp/bigquery/reservation_assignment.py +48 -30
  4. pulumi_gcp/certificateauthority/certificate_template.py +2 -2
  5. pulumi_gcp/certificatemanager/_inputs.py +33 -0
  6. pulumi_gcp/certificatemanager/outputs.py +36 -0
  7. pulumi_gcp/certificatemanager/trust_config.py +107 -0
  8. pulumi_gcp/compute/_inputs.py +3 -6
  9. pulumi_gcp/compute/ca_external_account_key.py +2 -2
  10. pulumi_gcp/compute/get_health_check.py +11 -1
  11. pulumi_gcp/compute/global_forwarding_rule.py +2 -4
  12. pulumi_gcp/compute/health_check.py +124 -0
  13. pulumi_gcp/compute/instance.py +14 -14
  14. pulumi_gcp/compute/instance_group_membership.py +2 -2
  15. pulumi_gcp/compute/outputs.py +4 -8
  16. pulumi_gcp/compute/region_network_endpoint.py +2 -2
  17. pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
  18. pulumi_gcp/compute/subnetwork.py +2 -2
  19. pulumi_gcp/config/__init__.pyi +2 -0
  20. pulumi_gcp/config/vars.py +4 -0
  21. pulumi_gcp/container/_inputs.py +3 -3
  22. pulumi_gcp/container/outputs.py +4 -4
  23. pulumi_gcp/containeranalysis/note.py +2 -2
  24. pulumi_gcp/dataloss/_inputs.py +3 -0
  25. pulumi_gcp/dataloss/outputs.py +2 -0
  26. pulumi_gcp/dataloss/prevention_job_trigger.py +90 -0
  27. pulumi_gcp/dataplex/_inputs.py +56 -0
  28. pulumi_gcp/dataplex/datascan.py +12 -0
  29. pulumi_gcp/dataplex/outputs.py +52 -0
  30. pulumi_gcp/filestore/backup.py +2 -2
  31. pulumi_gcp/filestore/instance.py +2 -2
  32. pulumi_gcp/filestore/snapshot.py +2 -2
  33. pulumi_gcp/gkehub/_inputs.py +20 -0
  34. pulumi_gcp/gkehub/outputs.py +12 -0
  35. pulumi_gcp/kms/__init__.py +2 -0
  36. pulumi_gcp/kms/crypto_key.py +7 -7
  37. pulumi_gcp/kms/get_crypto_keys.py +143 -0
  38. pulumi_gcp/kms/get_key_rings.py +119 -0
  39. pulumi_gcp/kms/outputs.py +270 -0
  40. pulumi_gcp/logging/_inputs.py +12 -12
  41. pulumi_gcp/logging/folder_bucket_config.py +6 -6
  42. pulumi_gcp/logging/organization_bucket_config.py +6 -6
  43. pulumi_gcp/logging/outputs.py +8 -8
  44. pulumi_gcp/logging/project_bucket_config.py +6 -6
  45. pulumi_gcp/looker/instance.py +2 -2
  46. pulumi_gcp/monitoring/custom_service.py +2 -2
  47. pulumi_gcp/monitoring/generic_service.py +2 -2
  48. pulumi_gcp/monitoring/notification_channel.py +2 -2
  49. pulumi_gcp/monitoring/slo.py +2 -2
  50. pulumi_gcp/netapp/storage_pool.py +132 -53
  51. pulumi_gcp/netapp/volume.py +60 -4
  52. pulumi_gcp/networksecurity/address_group.py +85 -1
  53. pulumi_gcp/networksecurity/firewall_endpoint.py +2 -2
  54. pulumi_gcp/networksecurity/firewall_endpoint_association.py +2 -2
  55. pulumi_gcp/networksecurity/security_profile_group.py +2 -2
  56. pulumi_gcp/orgpolicy/_inputs.py +40 -10
  57. pulumi_gcp/orgpolicy/outputs.py +28 -8
  58. pulumi_gcp/orgpolicy/policy.py +52 -35
  59. pulumi_gcp/provider.py +20 -0
  60. pulumi_gcp/pubsub/_inputs.py +3 -3
  61. pulumi_gcp/pubsub/outputs.py +4 -4
  62. pulumi_gcp/pulumi-plugin.json +1 -1
  63. pulumi_gcp/securesourcemanager/__init__.py +5 -0
  64. pulumi_gcp/securesourcemanager/_inputs.py +284 -0
  65. pulumi_gcp/securesourcemanager/get_repository_iam_policy.py +177 -0
  66. pulumi_gcp/securesourcemanager/outputs.py +202 -0
  67. pulumi_gcp/securesourcemanager/repository.py +715 -0
  68. pulumi_gcp/securesourcemanager/repository_iam_binding.py +804 -0
  69. pulumi_gcp/securesourcemanager/repository_iam_member.py +804 -0
  70. pulumi_gcp/securesourcemanager/repository_iam_policy.py +643 -0
  71. pulumi_gcp/securitycenter/__init__.py +1 -0
  72. pulumi_gcp/securitycenter/_inputs.py +93 -0
  73. pulumi_gcp/securitycenter/outputs.py +59 -0
  74. pulumi_gcp/securitycenter/v2_organization_notification_config.py +576 -0
  75. pulumi_gcp/securityposture/posture_deployment.py +0 -78
  76. pulumi_gcp/servicenetworking/vpc_service_controls.py +2 -2
  77. pulumi_gcp/vertex/_inputs.py +21 -1
  78. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +222 -0
  79. pulumi_gcp/vertex/outputs.py +15 -1
  80. pulumi_gcp/workstations/_inputs.py +33 -1
  81. pulumi_gcp/workstations/outputs.py +23 -1
  82. pulumi_gcp/workstations/workstation_config.py +18 -0
  83. {pulumi_gcp-7.30.2.dist-info → pulumi_gcp-7.31.0.dist-info}/METADATA +1 -1
  84. {pulumi_gcp-7.30.2.dist-info → pulumi_gcp-7.31.0.dist-info}/RECORD +86 -78
  85. {pulumi_gcp-7.30.2.dist-info → pulumi_gcp-7.31.0.dist-info}/WHEEL +0 -0
  86. {pulumi_gcp-7.30.2.dist-info → pulumi_gcp-7.31.0.dist-info}/top_level.txt +0 -0
@@ -41,7 +41,7 @@ class CryptoKeyArgs:
41
41
  :param pulumi.Input[str] crypto_key_backend: The resource name of the backend environment associated with all CryptoKeyVersions within this CryptoKey.
42
42
  The resource name is in the format "projects/*/locations/*/ekmConnections/*" and only applies to "EXTERNAL_VPC" keys.
43
43
  :param pulumi.Input[str] destroy_scheduled_duration: The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
44
- If not specified at creation time, the default duration is 24 hours.
44
+ If not specified at creation time, the default duration is 30 days.
45
45
  :param pulumi.Input[bool] import_only: Whether this key may contain imported versions only.
46
46
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels with user-defined metadata to apply to this resource.
47
47
 
@@ -116,7 +116,7 @@ class CryptoKeyArgs:
116
116
  def destroy_scheduled_duration(self) -> Optional[pulumi.Input[str]]:
117
117
  """
118
118
  The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
119
- If not specified at creation time, the default duration is 24 hours.
119
+ If not specified at creation time, the default duration is 30 days.
120
120
  """
121
121
  return pulumi.get(self, "destroy_scheduled_duration")
122
122
 
@@ -242,7 +242,7 @@ class _CryptoKeyState:
242
242
  :param pulumi.Input[str] crypto_key_backend: The resource name of the backend environment associated with all CryptoKeyVersions within this CryptoKey.
243
243
  The resource name is in the format "projects/*/locations/*/ekmConnections/*" and only applies to "EXTERNAL_VPC" keys.
244
244
  :param pulumi.Input[str] destroy_scheduled_duration: The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
245
- If not specified at creation time, the default duration is 24 hours.
245
+ If not specified at creation time, the default duration is 30 days.
246
246
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
247
247
  :param pulumi.Input[bool] import_only: Whether this key may contain imported versions only.
248
248
  :param pulumi.Input[str] key_ring: The KeyRing that this key belongs to.
@@ -319,7 +319,7 @@ class _CryptoKeyState:
319
319
  def destroy_scheduled_duration(self) -> Optional[pulumi.Input[str]]:
320
320
  """
321
321
  The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
322
- If not specified at creation time, the default duration is 24 hours.
322
+ If not specified at creation time, the default duration is 30 days.
323
323
  """
324
324
  return pulumi.get(self, "destroy_scheduled_duration")
325
325
 
@@ -568,7 +568,7 @@ class CryptoKey(pulumi.CustomResource):
568
568
  :param pulumi.Input[str] crypto_key_backend: The resource name of the backend environment associated with all CryptoKeyVersions within this CryptoKey.
569
569
  The resource name is in the format "projects/*/locations/*/ekmConnections/*" and only applies to "EXTERNAL_VPC" keys.
570
570
  :param pulumi.Input[str] destroy_scheduled_duration: The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
571
- If not specified at creation time, the default duration is 24 hours.
571
+ If not specified at creation time, the default duration is 30 days.
572
572
  :param pulumi.Input[bool] import_only: Whether this key may contain imported versions only.
573
573
  :param pulumi.Input[str] key_ring: The KeyRing that this key belongs to.
574
574
  Format: `'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'`.
@@ -752,7 +752,7 @@ class CryptoKey(pulumi.CustomResource):
752
752
  :param pulumi.Input[str] crypto_key_backend: The resource name of the backend environment associated with all CryptoKeyVersions within this CryptoKey.
753
753
  The resource name is in the format "projects/*/locations/*/ekmConnections/*" and only applies to "EXTERNAL_VPC" keys.
754
754
  :param pulumi.Input[str] destroy_scheduled_duration: The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
755
- If not specified at creation time, the default duration is 24 hours.
755
+ If not specified at creation time, the default duration is 30 days.
756
756
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
757
757
  :param pulumi.Input[bool] import_only: Whether this key may contain imported versions only.
758
758
  :param pulumi.Input[str] key_ring: The KeyRing that this key belongs to.
@@ -817,7 +817,7 @@ class CryptoKey(pulumi.CustomResource):
817
817
  def destroy_scheduled_duration(self) -> pulumi.Output[str]:
818
818
  """
819
819
  The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
820
- If not specified at creation time, the default duration is 24 hours.
820
+ If not specified at creation time, the default duration is 30 days.
821
821
  """
822
822
  return pulumi.get(self, "destroy_scheduled_duration")
823
823
 
@@ -0,0 +1,143 @@
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
+ 'GetCryptoKeysResult',
20
+ 'AwaitableGetCryptoKeysResult',
21
+ 'get_crypto_keys',
22
+ 'get_crypto_keys_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetCryptoKeysResult:
27
+ """
28
+ A collection of values returned by getCryptoKeys.
29
+ """
30
+ def __init__(__self__, filter=None, id=None, key_ring=None, keys=None):
31
+ if filter and not isinstance(filter, str):
32
+ raise TypeError("Expected argument 'filter' to be a str")
33
+ pulumi.set(__self__, "filter", filter)
34
+ if id and not isinstance(id, str):
35
+ raise TypeError("Expected argument 'id' to be a str")
36
+ pulumi.set(__self__, "id", id)
37
+ if key_ring and not isinstance(key_ring, str):
38
+ raise TypeError("Expected argument 'key_ring' to be a str")
39
+ pulumi.set(__self__, "key_ring", key_ring)
40
+ if keys and not isinstance(keys, list):
41
+ raise TypeError("Expected argument 'keys' to be a list")
42
+ pulumi.set(__self__, "keys", keys)
43
+
44
+ @property
45
+ @pulumi.getter
46
+ def filter(self) -> Optional[str]:
47
+ return pulumi.get(self, "filter")
48
+
49
+ @property
50
+ @pulumi.getter
51
+ def id(self) -> str:
52
+ """
53
+ The provider-assigned unique ID for this managed resource.
54
+ """
55
+ return pulumi.get(self, "id")
56
+
57
+ @property
58
+ @pulumi.getter(name="keyRing")
59
+ def key_ring(self) -> str:
60
+ return pulumi.get(self, "key_ring")
61
+
62
+ @property
63
+ @pulumi.getter
64
+ def keys(self) -> Sequence['outputs.GetCryptoKeysKeyResult']:
65
+ """
66
+ A list of all the retrieved keys from the provided key ring. This list is influenced by the provided filter argument.
67
+ """
68
+ return pulumi.get(self, "keys")
69
+
70
+
71
+ class AwaitableGetCryptoKeysResult(GetCryptoKeysResult):
72
+ # pylint: disable=using-constant-test
73
+ def __await__(self):
74
+ if False:
75
+ yield self
76
+ return GetCryptoKeysResult(
77
+ filter=self.filter,
78
+ id=self.id,
79
+ key_ring=self.key_ring,
80
+ keys=self.keys)
81
+
82
+
83
+ def get_crypto_keys(filter: Optional[str] = None,
84
+ key_ring: Optional[str] = None,
85
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCryptoKeysResult:
86
+ """
87
+ Provides access to all Google Cloud Platform KMS CryptoKeys in a given KeyRing. For more information see
88
+ [the official documentation](https://cloud.google.com/kms/docs/object-hierarchy#key)
89
+ and
90
+ [API](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys).
91
+
92
+ A CryptoKey is an interface to key material which can be used to encrypt and decrypt data. A CryptoKey belongs to a
93
+ Google Cloud KMS KeyRing.
94
+
95
+
96
+ :param str filter: The filter argument is used to add a filter query parameter that limits which keys are retrieved by the data source: ?filter={{filter}}. When no value is provided there is no filtering.
97
+
98
+ Example filter values if filtering on name. Note: names take the form projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}/cryptoKeys/{{cryptoKey}}.
99
+
100
+ * `"name:my-key-"` will retrieve keys that contain "my-key-" anywhere in their name.
101
+ * `"name=projects/my-project/locations/global/keyRings/my-key-ring/cryptoKeys/my-key-1"` will only retrieve a key with that exact name.
102
+
103
+ [See the documentation about using filters](https://cloud.google.com/kms/docs/sorting-and-filtering)
104
+ :param str key_ring: The key ring that the keys belongs to. Format: 'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'.,
105
+ """
106
+ __args__ = dict()
107
+ __args__['filter'] = filter
108
+ __args__['keyRing'] = key_ring
109
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
110
+ __ret__ = pulumi.runtime.invoke('gcp:kms/getCryptoKeys:getCryptoKeys', __args__, opts=opts, typ=GetCryptoKeysResult).value
111
+
112
+ return AwaitableGetCryptoKeysResult(
113
+ filter=pulumi.get(__ret__, 'filter'),
114
+ id=pulumi.get(__ret__, 'id'),
115
+ key_ring=pulumi.get(__ret__, 'key_ring'),
116
+ keys=pulumi.get(__ret__, 'keys'))
117
+
118
+
119
+ @_utilities.lift_output_func(get_crypto_keys)
120
+ def get_crypto_keys_output(filter: Optional[pulumi.Input[Optional[str]]] = None,
121
+ key_ring: Optional[pulumi.Input[str]] = None,
122
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCryptoKeysResult]:
123
+ """
124
+ Provides access to all Google Cloud Platform KMS CryptoKeys in a given KeyRing. For more information see
125
+ [the official documentation](https://cloud.google.com/kms/docs/object-hierarchy#key)
126
+ and
127
+ [API](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys).
128
+
129
+ A CryptoKey is an interface to key material which can be used to encrypt and decrypt data. A CryptoKey belongs to a
130
+ Google Cloud KMS KeyRing.
131
+
132
+
133
+ :param str filter: The filter argument is used to add a filter query parameter that limits which keys are retrieved by the data source: ?filter={{filter}}. When no value is provided there is no filtering.
134
+
135
+ Example filter values if filtering on name. Note: names take the form projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}/cryptoKeys/{{cryptoKey}}.
136
+
137
+ * `"name:my-key-"` will retrieve keys that contain "my-key-" anywhere in their name.
138
+ * `"name=projects/my-project/locations/global/keyRings/my-key-ring/cryptoKeys/my-key-1"` will only retrieve a key with that exact name.
139
+
140
+ [See the documentation about using filters](https://cloud.google.com/kms/docs/sorting-and-filtering)
141
+ :param str key_ring: The key ring that the keys belongs to. Format: 'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'.,
142
+ """
143
+ ...
@@ -0,0 +1,119 @@
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
+ 'GetKeyRingsResult',
20
+ 'AwaitableGetKeyRingsResult',
21
+ 'get_key_rings',
22
+ 'get_key_rings_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetKeyRingsResult:
27
+ """
28
+ A collection of values returned by getKeyRings.
29
+ """
30
+ def __init__(__self__, filter=None, id=None, key_rings=None, location=None, project=None):
31
+ if filter and not isinstance(filter, str):
32
+ raise TypeError("Expected argument 'filter' to be a str")
33
+ pulumi.set(__self__, "filter", filter)
34
+ if id and not isinstance(id, str):
35
+ raise TypeError("Expected argument 'id' to be a str")
36
+ pulumi.set(__self__, "id", id)
37
+ if key_rings and not isinstance(key_rings, list):
38
+ raise TypeError("Expected argument 'key_rings' to be a list")
39
+ pulumi.set(__self__, "key_rings", key_rings)
40
+ if location and not isinstance(location, str):
41
+ raise TypeError("Expected argument 'location' to be a str")
42
+ pulumi.set(__self__, "location", location)
43
+ if project and not isinstance(project, str):
44
+ raise TypeError("Expected argument 'project' to be a str")
45
+ pulumi.set(__self__, "project", project)
46
+
47
+ @property
48
+ @pulumi.getter
49
+ def filter(self) -> Optional[str]:
50
+ return pulumi.get(self, "filter")
51
+
52
+ @property
53
+ @pulumi.getter
54
+ def id(self) -> str:
55
+ """
56
+ The provider-assigned unique ID for this managed resource.
57
+ """
58
+ return pulumi.get(self, "id")
59
+
60
+ @property
61
+ @pulumi.getter(name="keyRings")
62
+ def key_rings(self) -> Sequence['outputs.GetKeyRingsKeyRingResult']:
63
+ return pulumi.get(self, "key_rings")
64
+
65
+ @property
66
+ @pulumi.getter
67
+ def location(self) -> str:
68
+ return pulumi.get(self, "location")
69
+
70
+ @property
71
+ @pulumi.getter
72
+ def project(self) -> Optional[str]:
73
+ return pulumi.get(self, "project")
74
+
75
+
76
+ class AwaitableGetKeyRingsResult(GetKeyRingsResult):
77
+ # pylint: disable=using-constant-test
78
+ def __await__(self):
79
+ if False:
80
+ yield self
81
+ return GetKeyRingsResult(
82
+ filter=self.filter,
83
+ id=self.id,
84
+ key_rings=self.key_rings,
85
+ location=self.location,
86
+ project=self.project)
87
+
88
+
89
+ def get_key_rings(filter: Optional[str] = None,
90
+ location: Optional[str] = None,
91
+ project: Optional[str] = None,
92
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetKeyRingsResult:
93
+ """
94
+ Use this data source to access information about an existing resource.
95
+ """
96
+ __args__ = dict()
97
+ __args__['filter'] = filter
98
+ __args__['location'] = location
99
+ __args__['project'] = project
100
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
101
+ __ret__ = pulumi.runtime.invoke('gcp:kms/getKeyRings:getKeyRings', __args__, opts=opts, typ=GetKeyRingsResult).value
102
+
103
+ return AwaitableGetKeyRingsResult(
104
+ filter=pulumi.get(__ret__, 'filter'),
105
+ id=pulumi.get(__ret__, 'id'),
106
+ key_rings=pulumi.get(__ret__, 'key_rings'),
107
+ location=pulumi.get(__ret__, 'location'),
108
+ project=pulumi.get(__ret__, 'project'))
109
+
110
+
111
+ @_utilities.lift_output_func(get_key_rings)
112
+ def get_key_rings_output(filter: Optional[pulumi.Input[Optional[str]]] = None,
113
+ location: Optional[pulumi.Input[str]] = None,
114
+ project: Optional[pulumi.Input[Optional[str]]] = None,
115
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetKeyRingsResult]:
116
+ """
117
+ Use this data source to access information about an existing resource.
118
+ """
119
+ ...
pulumi_gcp/kms/outputs.py CHANGED
@@ -30,9 +30,13 @@ __all__ = [
30
30
  'KeyRingIAMMemberCondition',
31
31
  'KeyRingImportJobAttestation',
32
32
  'KeyRingImportJobPublicKey',
33
+ 'GetCryptoKeysKeyResult',
34
+ 'GetCryptoKeysKeyPrimaryResult',
35
+ 'GetCryptoKeysKeyVersionTemplateResult',
33
36
  'GetKMSCryptoKeyPrimaryResult',
34
37
  'GetKMSCryptoKeyVersionPublicKeyResult',
35
38
  'GetKMSCryptoKeyVersionTemplateResult',
39
+ 'GetKeyRingsKeyRingResult',
36
40
  ]
37
41
 
38
42
  @pulumi.output_type
@@ -860,6 +864,253 @@ class KeyRingImportJobPublicKey(dict):
860
864
  return pulumi.get(self, "pem")
861
865
 
862
866
 
867
+ @pulumi.output_type
868
+ class GetCryptoKeysKeyResult(dict):
869
+ def __init__(__self__, *,
870
+ crypto_key_backend: str,
871
+ destroy_scheduled_duration: str,
872
+ effective_labels: Mapping[str, str],
873
+ id: str,
874
+ import_only: bool,
875
+ labels: Mapping[str, str],
876
+ primaries: Sequence['outputs.GetCryptoKeysKeyPrimaryResult'],
877
+ pulumi_labels: Mapping[str, str],
878
+ purpose: str,
879
+ rotation_period: str,
880
+ skip_initial_version_creation: bool,
881
+ version_templates: Sequence['outputs.GetCryptoKeysKeyVersionTemplateResult'],
882
+ key_ring: Optional[str] = None,
883
+ name: Optional[str] = None):
884
+ """
885
+ :param str crypto_key_backend: The resource name of the backend environment associated with all CryptoKeyVersions within this CryptoKey.
886
+ The resource name is in the format "projects/*/locations/*/ekmConnections/*" and only applies to "EXTERNAL_VPC" keys.
887
+ :param str destroy_scheduled_duration: The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
888
+ If not specified at creation time, the default duration is 30 days.
889
+ :param bool import_only: Whether this key may contain imported versions only.
890
+ :param Mapping[str, str] labels: Labels with user-defined metadata to apply to this resource.
891
+
892
+
893
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
894
+ Please refer to the field 'effective_labels' for all of the labels present on the resource.
895
+ :param Sequence['GetCryptoKeysKeyPrimaryArgs'] primaries: A copy of the primary CryptoKeyVersion that will be used by cryptoKeys.encrypt when this CryptoKey is given in EncryptRequest.name.
896
+ Keys with purpose ENCRYPT_DECRYPT may have a primary. For other keys, this field will be unset.
897
+ :param Mapping[str, str] pulumi_labels: The combination of labels configured directly on the resource
898
+ and default labels configured on the provider.
899
+ :param str purpose: The immutable purpose of this CryptoKey. See the
900
+ [purpose reference](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys#CryptoKeyPurpose)
901
+ for possible inputs.
902
+ Default value is "ENCRYPT_DECRYPT".
903
+ :param str rotation_period: Every time this period passes, generate a new CryptoKeyVersion and set it as the primary.
904
+ The first rotation will take place after the specified period. The rotation period has
905
+ the format of a decimal number with up to 9 fractional digits, followed by the
906
+ letter 's' (seconds). It must be greater than a day (ie, 86400).
907
+ :param bool skip_initial_version_creation: If set to true, the request will create a CryptoKey without any CryptoKeyVersions.
908
+ You must use the 'google_kms_crypto_key_version' resource to create a new CryptoKeyVersion
909
+ or 'google_kms_key_ring_import_job' resource to import the CryptoKeyVersion.
910
+ :param Sequence['GetCryptoKeysKeyVersionTemplateArgs'] version_templates: A template describing settings for new crypto key versions.
911
+ :param str key_ring: The key ring that the keys belongs to. Format: 'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'.,
912
+ :param str name: The resource name for the CryptoKey.
913
+ """
914
+ pulumi.set(__self__, "crypto_key_backend", crypto_key_backend)
915
+ pulumi.set(__self__, "destroy_scheduled_duration", destroy_scheduled_duration)
916
+ pulumi.set(__self__, "effective_labels", effective_labels)
917
+ pulumi.set(__self__, "id", id)
918
+ pulumi.set(__self__, "import_only", import_only)
919
+ pulumi.set(__self__, "labels", labels)
920
+ pulumi.set(__self__, "primaries", primaries)
921
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
922
+ pulumi.set(__self__, "purpose", purpose)
923
+ pulumi.set(__self__, "rotation_period", rotation_period)
924
+ pulumi.set(__self__, "skip_initial_version_creation", skip_initial_version_creation)
925
+ pulumi.set(__self__, "version_templates", version_templates)
926
+ if key_ring is not None:
927
+ pulumi.set(__self__, "key_ring", key_ring)
928
+ if name is not None:
929
+ pulumi.set(__self__, "name", name)
930
+
931
+ @property
932
+ @pulumi.getter(name="cryptoKeyBackend")
933
+ def crypto_key_backend(self) -> str:
934
+ """
935
+ The resource name of the backend environment associated with all CryptoKeyVersions within this CryptoKey.
936
+ The resource name is in the format "projects/*/locations/*/ekmConnections/*" and only applies to "EXTERNAL_VPC" keys.
937
+ """
938
+ return pulumi.get(self, "crypto_key_backend")
939
+
940
+ @property
941
+ @pulumi.getter(name="destroyScheduledDuration")
942
+ def destroy_scheduled_duration(self) -> str:
943
+ """
944
+ The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
945
+ If not specified at creation time, the default duration is 30 days.
946
+ """
947
+ return pulumi.get(self, "destroy_scheduled_duration")
948
+
949
+ @property
950
+ @pulumi.getter(name="effectiveLabels")
951
+ def effective_labels(self) -> Mapping[str, str]:
952
+ return pulumi.get(self, "effective_labels")
953
+
954
+ @property
955
+ @pulumi.getter
956
+ def id(self) -> str:
957
+ return pulumi.get(self, "id")
958
+
959
+ @property
960
+ @pulumi.getter(name="importOnly")
961
+ def import_only(self) -> bool:
962
+ """
963
+ Whether this key may contain imported versions only.
964
+ """
965
+ return pulumi.get(self, "import_only")
966
+
967
+ @property
968
+ @pulumi.getter
969
+ def labels(self) -> Mapping[str, str]:
970
+ """
971
+ Labels with user-defined metadata to apply to this resource.
972
+
973
+
974
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
975
+ Please refer to the field 'effective_labels' for all of the labels present on the resource.
976
+ """
977
+ return pulumi.get(self, "labels")
978
+
979
+ @property
980
+ @pulumi.getter
981
+ def primaries(self) -> Sequence['outputs.GetCryptoKeysKeyPrimaryResult']:
982
+ """
983
+ A copy of the primary CryptoKeyVersion that will be used by cryptoKeys.encrypt when this CryptoKey is given in EncryptRequest.name.
984
+ Keys with purpose ENCRYPT_DECRYPT may have a primary. For other keys, this field will be unset.
985
+ """
986
+ return pulumi.get(self, "primaries")
987
+
988
+ @property
989
+ @pulumi.getter(name="pulumiLabels")
990
+ def pulumi_labels(self) -> Mapping[str, str]:
991
+ """
992
+ The combination of labels configured directly on the resource
993
+ and default labels configured on the provider.
994
+ """
995
+ return pulumi.get(self, "pulumi_labels")
996
+
997
+ @property
998
+ @pulumi.getter
999
+ def purpose(self) -> str:
1000
+ """
1001
+ The immutable purpose of this CryptoKey. See the
1002
+ [purpose reference](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys#CryptoKeyPurpose)
1003
+ for possible inputs.
1004
+ Default value is "ENCRYPT_DECRYPT".
1005
+ """
1006
+ return pulumi.get(self, "purpose")
1007
+
1008
+ @property
1009
+ @pulumi.getter(name="rotationPeriod")
1010
+ def rotation_period(self) -> str:
1011
+ """
1012
+ Every time this period passes, generate a new CryptoKeyVersion and set it as the primary.
1013
+ The first rotation will take place after the specified period. The rotation period has
1014
+ the format of a decimal number with up to 9 fractional digits, followed by the
1015
+ letter 's' (seconds). It must be greater than a day (ie, 86400).
1016
+ """
1017
+ return pulumi.get(self, "rotation_period")
1018
+
1019
+ @property
1020
+ @pulumi.getter(name="skipInitialVersionCreation")
1021
+ def skip_initial_version_creation(self) -> bool:
1022
+ """
1023
+ If set to true, the request will create a CryptoKey without any CryptoKeyVersions.
1024
+ You must use the 'google_kms_crypto_key_version' resource to create a new CryptoKeyVersion
1025
+ or 'google_kms_key_ring_import_job' resource to import the CryptoKeyVersion.
1026
+ """
1027
+ return pulumi.get(self, "skip_initial_version_creation")
1028
+
1029
+ @property
1030
+ @pulumi.getter(name="versionTemplates")
1031
+ def version_templates(self) -> Sequence['outputs.GetCryptoKeysKeyVersionTemplateResult']:
1032
+ """
1033
+ A template describing settings for new crypto key versions.
1034
+ """
1035
+ return pulumi.get(self, "version_templates")
1036
+
1037
+ @property
1038
+ @pulumi.getter(name="keyRing")
1039
+ def key_ring(self) -> Optional[str]:
1040
+ """
1041
+ The key ring that the keys belongs to. Format: 'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'.,
1042
+ """
1043
+ return pulumi.get(self, "key_ring")
1044
+
1045
+ @property
1046
+ @pulumi.getter
1047
+ def name(self) -> Optional[str]:
1048
+ """
1049
+ The resource name for the CryptoKey.
1050
+ """
1051
+ return pulumi.get(self, "name")
1052
+
1053
+
1054
+ @pulumi.output_type
1055
+ class GetCryptoKeysKeyPrimaryResult(dict):
1056
+ def __init__(__self__, *,
1057
+ name: str,
1058
+ state: str):
1059
+ """
1060
+ :param str name: The resource name for this CryptoKeyVersion.
1061
+ :param str state: The current state of the CryptoKeyVersion.
1062
+ """
1063
+ pulumi.set(__self__, "name", name)
1064
+ pulumi.set(__self__, "state", state)
1065
+
1066
+ @property
1067
+ @pulumi.getter
1068
+ def name(self) -> str:
1069
+ """
1070
+ The resource name for this CryptoKeyVersion.
1071
+ """
1072
+ return pulumi.get(self, "name")
1073
+
1074
+ @property
1075
+ @pulumi.getter
1076
+ def state(self) -> str:
1077
+ """
1078
+ The current state of the CryptoKeyVersion.
1079
+ """
1080
+ return pulumi.get(self, "state")
1081
+
1082
+
1083
+ @pulumi.output_type
1084
+ class GetCryptoKeysKeyVersionTemplateResult(dict):
1085
+ def __init__(__self__, *,
1086
+ algorithm: str,
1087
+ protection_level: str):
1088
+ """
1089
+ :param str algorithm: The algorithm to use when creating a version based on this template.
1090
+ See the [algorithm reference](https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm) for possible inputs.
1091
+ :param str protection_level: The protection level to use when creating a version based on this template. Possible values include "SOFTWARE", "HSM", "EXTERNAL", "EXTERNAL_VPC". Defaults to "SOFTWARE".
1092
+ """
1093
+ pulumi.set(__self__, "algorithm", algorithm)
1094
+ pulumi.set(__self__, "protection_level", protection_level)
1095
+
1096
+ @property
1097
+ @pulumi.getter
1098
+ def algorithm(self) -> str:
1099
+ """
1100
+ The algorithm to use when creating a version based on this template.
1101
+ See the [algorithm reference](https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm) for possible inputs.
1102
+ """
1103
+ return pulumi.get(self, "algorithm")
1104
+
1105
+ @property
1106
+ @pulumi.getter(name="protectionLevel")
1107
+ def protection_level(self) -> str:
1108
+ """
1109
+ The protection level to use when creating a version based on this template. Possible values include "SOFTWARE", "HSM", "EXTERNAL", "EXTERNAL_VPC". Defaults to "SOFTWARE".
1110
+ """
1111
+ return pulumi.get(self, "protection_level")
1112
+
1113
+
863
1114
  @pulumi.output_type
864
1115
  class GetKMSCryptoKeyPrimaryResult(dict):
865
1116
  def __init__(__self__, *,
@@ -951,3 +1202,22 @@ class GetKMSCryptoKeyVersionTemplateResult(dict):
951
1202
  return pulumi.get(self, "protection_level")
952
1203
 
953
1204
 
1205
+ @pulumi.output_type
1206
+ class GetKeyRingsKeyRingResult(dict):
1207
+ def __init__(__self__, *,
1208
+ id: str,
1209
+ name: str):
1210
+ pulumi.set(__self__, "id", id)
1211
+ pulumi.set(__self__, "name", name)
1212
+
1213
+ @property
1214
+ @pulumi.getter
1215
+ def id(self) -> str:
1216
+ return pulumi.get(self, "id")
1217
+
1218
+ @property
1219
+ @pulumi.getter
1220
+ def name(self) -> str:
1221
+ return pulumi.get(self, "name")
1222
+
1223
+