pulumi-gcp 7.31.0a1720850808__py3-none-any.whl → 7.32.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 (103) hide show
  1. pulumi_gcp/__init__.py +51 -0
  2. pulumi_gcp/alloydb/cluster.py +0 -24
  3. pulumi_gcp/applicationintegration/auth_config.py +2 -2
  4. pulumi_gcp/bigquery/_inputs.py +0 -12
  5. pulumi_gcp/bigquery/dataset.py +0 -28
  6. pulumi_gcp/bigquery/dataset_access.py +0 -28
  7. pulumi_gcp/bigquery/outputs.py +0 -24
  8. pulumi_gcp/bigquery/reservation_assignment.py +48 -30
  9. pulumi_gcp/bigtable/authorized_view.py +104 -0
  10. pulumi_gcp/certificateauthority/certificate_template.py +2 -2
  11. pulumi_gcp/certificatemanager/_inputs.py +33 -0
  12. pulumi_gcp/certificatemanager/outputs.py +36 -0
  13. pulumi_gcp/certificatemanager/trust_config.py +107 -0
  14. pulumi_gcp/compute/_inputs.py +3 -6
  15. pulumi_gcp/compute/ca_external_account_key.py +2 -2
  16. pulumi_gcp/compute/get_health_check.py +11 -1
  17. pulumi_gcp/compute/global_address.py +16 -4
  18. pulumi_gcp/compute/global_forwarding_rule.py +2 -4
  19. pulumi_gcp/compute/health_check.py +124 -0
  20. pulumi_gcp/compute/instance.py +14 -14
  21. pulumi_gcp/compute/instance_group_membership.py +2 -2
  22. pulumi_gcp/compute/outputs.py +4 -8
  23. pulumi_gcp/compute/region_network_endpoint.py +2 -2
  24. pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
  25. pulumi_gcp/compute/subnetwork.py +2 -2
  26. pulumi_gcp/compute/target_instance.py +2 -2
  27. pulumi_gcp/config/__init__.pyi +4 -0
  28. pulumi_gcp/config/vars.py +8 -0
  29. pulumi_gcp/container/_inputs.py +3 -3
  30. pulumi_gcp/container/outputs.py +4 -4
  31. pulumi_gcp/containeranalysis/note.py +2 -2
  32. pulumi_gcp/dataloss/_inputs.py +3 -0
  33. pulumi_gcp/dataloss/outputs.py +2 -0
  34. pulumi_gcp/dataloss/prevention_job_trigger.py +90 -0
  35. pulumi_gcp/dataplex/_inputs.py +56 -0
  36. pulumi_gcp/dataplex/datascan.py +12 -0
  37. pulumi_gcp/dataplex/outputs.py +52 -0
  38. pulumi_gcp/filestore/backup.py +2 -2
  39. pulumi_gcp/filestore/instance.py +2 -2
  40. pulumi_gcp/filestore/snapshot.py +2 -2
  41. pulumi_gcp/gkehub/__init__.py +1 -0
  42. pulumi_gcp/gkehub/_inputs.py +20 -0
  43. pulumi_gcp/gkehub/get_membership_binding.py +222 -0
  44. pulumi_gcp/gkehub/outputs.py +31 -0
  45. pulumi_gcp/iap/client.py +7 -7
  46. pulumi_gcp/kms/__init__.py +2 -0
  47. pulumi_gcp/kms/_inputs.py +40 -0
  48. pulumi_gcp/kms/crypto_key.py +110 -7
  49. pulumi_gcp/kms/get_crypto_keys.py +143 -0
  50. pulumi_gcp/kms/get_key_rings.py +119 -0
  51. pulumi_gcp/kms/get_kms_crypto_key.py +11 -1
  52. pulumi_gcp/kms/outputs.py +382 -0
  53. pulumi_gcp/logging/_inputs.py +12 -12
  54. pulumi_gcp/logging/folder_bucket_config.py +6 -6
  55. pulumi_gcp/logging/organization_bucket_config.py +6 -6
  56. pulumi_gcp/logging/outputs.py +8 -8
  57. pulumi_gcp/logging/project_bucket_config.py +6 -6
  58. pulumi_gcp/looker/instance.py +2 -2
  59. pulumi_gcp/monitoring/custom_service.py +2 -2
  60. pulumi_gcp/monitoring/generic_service.py +2 -2
  61. pulumi_gcp/monitoring/notification_channel.py +2 -2
  62. pulumi_gcp/monitoring/slo.py +2 -2
  63. pulumi_gcp/netapp/storage_pool.py +132 -53
  64. pulumi_gcp/netapp/volume.py +60 -4
  65. pulumi_gcp/networksecurity/address_group.py +85 -1
  66. pulumi_gcp/networksecurity/firewall_endpoint.py +2 -2
  67. pulumi_gcp/networksecurity/firewall_endpoint_association.py +2 -2
  68. pulumi_gcp/networksecurity/security_profile_group.py +2 -2
  69. pulumi_gcp/orgpolicy/_inputs.py +40 -10
  70. pulumi_gcp/orgpolicy/outputs.py +28 -8
  71. pulumi_gcp/orgpolicy/policy.py +52 -35
  72. pulumi_gcp/privilegedaccessmanager/entitlement.py +4 -0
  73. pulumi_gcp/provider.py +40 -0
  74. pulumi_gcp/pubsub/_inputs.py +3 -3
  75. pulumi_gcp/pubsub/outputs.py +4 -4
  76. pulumi_gcp/pulumi-plugin.json +1 -1
  77. pulumi_gcp/securesourcemanager/__init__.py +5 -0
  78. pulumi_gcp/securesourcemanager/_inputs.py +284 -0
  79. pulumi_gcp/securesourcemanager/get_repository_iam_policy.py +177 -0
  80. pulumi_gcp/securesourcemanager/outputs.py +202 -0
  81. pulumi_gcp/securesourcemanager/repository.py +715 -0
  82. pulumi_gcp/securesourcemanager/repository_iam_binding.py +804 -0
  83. pulumi_gcp/securesourcemanager/repository_iam_member.py +804 -0
  84. pulumi_gcp/securesourcemanager/repository_iam_policy.py +643 -0
  85. pulumi_gcp/securitycenter/__init__.py +2 -0
  86. pulumi_gcp/securitycenter/_inputs.py +186 -0
  87. pulumi_gcp/securitycenter/outputs.py +118 -0
  88. pulumi_gcp/securitycenter/project_notification_config.py +518 -0
  89. pulumi_gcp/securitycenter/v2_organization_notification_config.py +576 -0
  90. pulumi_gcp/securityposture/posture_deployment.py +0 -78
  91. pulumi_gcp/servicenetworking/vpc_service_controls.py +2 -2
  92. pulumi_gcp/siteverification/__init__.py +8 -0
  93. pulumi_gcp/siteverification/get_token.py +221 -0
  94. pulumi_gcp/vertex/_inputs.py +21 -1
  95. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +222 -0
  96. pulumi_gcp/vertex/outputs.py +15 -1
  97. pulumi_gcp/workstations/_inputs.py +33 -1
  98. pulumi_gcp/workstations/outputs.py +23 -1
  99. pulumi_gcp/workstations/workstation_config.py +18 -0
  100. {pulumi_gcp-7.31.0a1720850808.dist-info → pulumi_gcp-7.32.0.dist-info}/METADATA +1 -1
  101. {pulumi_gcp-7.31.0a1720850808.dist-info → pulumi_gcp-7.32.0.dist-info}/RECORD +103 -91
  102. {pulumi_gcp-7.31.0a1720850808.dist-info → pulumi_gcp-7.32.0.dist-info}/WHEEL +0 -0
  103. {pulumi_gcp-7.31.0a1720850808.dist-info → pulumi_gcp-7.32.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/kms/outputs.py CHANGED
@@ -18,6 +18,7 @@ from . import outputs
18
18
  __all__ = [
19
19
  'CryptoKeyIAMBindingCondition',
20
20
  'CryptoKeyIAMMemberCondition',
21
+ 'CryptoKeyKeyAccessJustificationsPolicy',
21
22
  'CryptoKeyPrimary',
22
23
  'CryptoKeyVersionAttestation',
23
24
  'CryptoKeyVersionAttestationCertChains',
@@ -30,9 +31,15 @@ __all__ = [
30
31
  'KeyRingIAMMemberCondition',
31
32
  'KeyRingImportJobAttestation',
32
33
  'KeyRingImportJobPublicKey',
34
+ 'GetCryptoKeysKeyResult',
35
+ 'GetCryptoKeysKeyKeyAccessJustificationsPolicyResult',
36
+ 'GetCryptoKeysKeyPrimaryResult',
37
+ 'GetCryptoKeysKeyVersionTemplateResult',
38
+ 'GetKMSCryptoKeyKeyAccessJustificationsPolicyResult',
33
39
  'GetKMSCryptoKeyPrimaryResult',
34
40
  'GetKMSCryptoKeyVersionPublicKeyResult',
35
41
  'GetKMSCryptoKeyVersionTemplateResult',
42
+ 'GetKeyRingsKeyRingResult',
36
43
  ]
37
44
 
38
45
  @pulumi.output_type
@@ -133,6 +140,46 @@ class CryptoKeyIAMMemberCondition(dict):
133
140
  return pulumi.get(self, "description")
134
141
 
135
142
 
143
+ @pulumi.output_type
144
+ class CryptoKeyKeyAccessJustificationsPolicy(dict):
145
+ @staticmethod
146
+ def __key_warning(key: str):
147
+ suggest = None
148
+ if key == "allowedAccessReasons":
149
+ suggest = "allowed_access_reasons"
150
+
151
+ if suggest:
152
+ pulumi.log.warn(f"Key '{key}' not found in CryptoKeyKeyAccessJustificationsPolicy. Access the value via the '{suggest}' property getter instead.")
153
+
154
+ def __getitem__(self, key: str) -> Any:
155
+ CryptoKeyKeyAccessJustificationsPolicy.__key_warning(key)
156
+ return super().__getitem__(key)
157
+
158
+ def get(self, key: str, default = None) -> Any:
159
+ CryptoKeyKeyAccessJustificationsPolicy.__key_warning(key)
160
+ return super().get(key, default)
161
+
162
+ def __init__(__self__, *,
163
+ allowed_access_reasons: Optional[Sequence[str]] = None):
164
+ """
165
+ :param Sequence[str] allowed_access_reasons: The list of allowed reasons for access to this CryptoKey. Zero allowed
166
+ access reasons means all encrypt, decrypt, and sign operations for
167
+ this CryptoKey will fail.
168
+ """
169
+ if allowed_access_reasons is not None:
170
+ pulumi.set(__self__, "allowed_access_reasons", allowed_access_reasons)
171
+
172
+ @property
173
+ @pulumi.getter(name="allowedAccessReasons")
174
+ def allowed_access_reasons(self) -> Optional[Sequence[str]]:
175
+ """
176
+ The list of allowed reasons for access to this CryptoKey. Zero allowed
177
+ access reasons means all encrypt, decrypt, and sign operations for
178
+ this CryptoKey will fail.
179
+ """
180
+ return pulumi.get(self, "allowed_access_reasons")
181
+
182
+
136
183
  @pulumi.output_type
137
184
  class CryptoKeyPrimary(dict):
138
185
  def __init__(__self__, *,
@@ -860,6 +907,322 @@ class KeyRingImportJobPublicKey(dict):
860
907
  return pulumi.get(self, "pem")
861
908
 
862
909
 
910
+ @pulumi.output_type
911
+ class GetCryptoKeysKeyResult(dict):
912
+ def __init__(__self__, *,
913
+ crypto_key_backend: str,
914
+ destroy_scheduled_duration: str,
915
+ effective_labels: Mapping[str, str],
916
+ id: str,
917
+ import_only: bool,
918
+ key_access_justifications_policies: Sequence['outputs.GetCryptoKeysKeyKeyAccessJustificationsPolicyResult'],
919
+ labels: Mapping[str, str],
920
+ primaries: Sequence['outputs.GetCryptoKeysKeyPrimaryResult'],
921
+ pulumi_labels: Mapping[str, str],
922
+ purpose: str,
923
+ rotation_period: str,
924
+ skip_initial_version_creation: bool,
925
+ version_templates: Sequence['outputs.GetCryptoKeysKeyVersionTemplateResult'],
926
+ key_ring: Optional[str] = None,
927
+ name: Optional[str] = None):
928
+ """
929
+ :param str crypto_key_backend: The resource name of the backend environment associated with all CryptoKeyVersions within this CryptoKey.
930
+ The resource name is in the format "projects/*/locations/*/ekmConnections/*" and only applies to "EXTERNAL_VPC" keys.
931
+ :param str destroy_scheduled_duration: The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
932
+ If not specified at creation time, the default duration is 30 days.
933
+ :param bool import_only: Whether this key may contain imported versions only.
934
+ :param Sequence['GetCryptoKeysKeyKeyAccessJustificationsPolicyArgs'] key_access_justifications_policies: The policy used for Key Access Justifications Policy Enforcement. If this
935
+ field is present and this key is enrolled in Key Access Justifications
936
+ Policy Enforcement, the policy will be evaluated in encrypt, decrypt, and
937
+ sign operations, and the operation will fail if rejected by the policy. The
938
+ policy is defined by specifying zero or more allowed justification codes.
939
+ https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes
940
+ By default, this field is absent, and all justification codes are allowed.
941
+ This field is currently in beta and is subject to change.
942
+ :param Mapping[str, str] labels: Labels with user-defined metadata to apply to this resource.
943
+
944
+
945
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
946
+ Please refer to the field 'effective_labels' for all of the labels present on the resource.
947
+ :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.
948
+ Keys with purpose ENCRYPT_DECRYPT may have a primary. For other keys, this field will be unset.
949
+ :param Mapping[str, str] pulumi_labels: The combination of labels configured directly on the resource
950
+ and default labels configured on the provider.
951
+ :param str purpose: The immutable purpose of this CryptoKey. See the
952
+ [purpose reference](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys#CryptoKeyPurpose)
953
+ for possible inputs.
954
+ Default value is "ENCRYPT_DECRYPT".
955
+ :param str rotation_period: Every time this period passes, generate a new CryptoKeyVersion and set it as the primary.
956
+ The first rotation will take place after the specified period. The rotation period has
957
+ the format of a decimal number with up to 9 fractional digits, followed by the
958
+ letter 's' (seconds). It must be greater than a day (ie, 86400).
959
+ :param bool skip_initial_version_creation: If set to true, the request will create a CryptoKey without any CryptoKeyVersions.
960
+ You must use the 'google_kms_crypto_key_version' resource to create a new CryptoKeyVersion
961
+ or 'google_kms_key_ring_import_job' resource to import the CryptoKeyVersion.
962
+ :param Sequence['GetCryptoKeysKeyVersionTemplateArgs'] version_templates: A template describing settings for new crypto key versions.
963
+ :param str key_ring: The key ring that the keys belongs to. Format: 'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'.,
964
+ :param str name: The resource name for the CryptoKey.
965
+ """
966
+ pulumi.set(__self__, "crypto_key_backend", crypto_key_backend)
967
+ pulumi.set(__self__, "destroy_scheduled_duration", destroy_scheduled_duration)
968
+ pulumi.set(__self__, "effective_labels", effective_labels)
969
+ pulumi.set(__self__, "id", id)
970
+ pulumi.set(__self__, "import_only", import_only)
971
+ pulumi.set(__self__, "key_access_justifications_policies", key_access_justifications_policies)
972
+ pulumi.set(__self__, "labels", labels)
973
+ pulumi.set(__self__, "primaries", primaries)
974
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
975
+ pulumi.set(__self__, "purpose", purpose)
976
+ pulumi.set(__self__, "rotation_period", rotation_period)
977
+ pulumi.set(__self__, "skip_initial_version_creation", skip_initial_version_creation)
978
+ pulumi.set(__self__, "version_templates", version_templates)
979
+ if key_ring is not None:
980
+ pulumi.set(__self__, "key_ring", key_ring)
981
+ if name is not None:
982
+ pulumi.set(__self__, "name", name)
983
+
984
+ @property
985
+ @pulumi.getter(name="cryptoKeyBackend")
986
+ def crypto_key_backend(self) -> str:
987
+ """
988
+ The resource name of the backend environment associated with all CryptoKeyVersions within this CryptoKey.
989
+ The resource name is in the format "projects/*/locations/*/ekmConnections/*" and only applies to "EXTERNAL_VPC" keys.
990
+ """
991
+ return pulumi.get(self, "crypto_key_backend")
992
+
993
+ @property
994
+ @pulumi.getter(name="destroyScheduledDuration")
995
+ def destroy_scheduled_duration(self) -> str:
996
+ """
997
+ The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
998
+ If not specified at creation time, the default duration is 30 days.
999
+ """
1000
+ return pulumi.get(self, "destroy_scheduled_duration")
1001
+
1002
+ @property
1003
+ @pulumi.getter(name="effectiveLabels")
1004
+ def effective_labels(self) -> Mapping[str, str]:
1005
+ return pulumi.get(self, "effective_labels")
1006
+
1007
+ @property
1008
+ @pulumi.getter
1009
+ def id(self) -> str:
1010
+ return pulumi.get(self, "id")
1011
+
1012
+ @property
1013
+ @pulumi.getter(name="importOnly")
1014
+ def import_only(self) -> bool:
1015
+ """
1016
+ Whether this key may contain imported versions only.
1017
+ """
1018
+ return pulumi.get(self, "import_only")
1019
+
1020
+ @property
1021
+ @pulumi.getter(name="keyAccessJustificationsPolicies")
1022
+ def key_access_justifications_policies(self) -> Sequence['outputs.GetCryptoKeysKeyKeyAccessJustificationsPolicyResult']:
1023
+ """
1024
+ The policy used for Key Access Justifications Policy Enforcement. If this
1025
+ field is present and this key is enrolled in Key Access Justifications
1026
+ Policy Enforcement, the policy will be evaluated in encrypt, decrypt, and
1027
+ sign operations, and the operation will fail if rejected by the policy. The
1028
+ policy is defined by specifying zero or more allowed justification codes.
1029
+ https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes
1030
+ By default, this field is absent, and all justification codes are allowed.
1031
+ This field is currently in beta and is subject to change.
1032
+ """
1033
+ return pulumi.get(self, "key_access_justifications_policies")
1034
+
1035
+ @property
1036
+ @pulumi.getter
1037
+ def labels(self) -> Mapping[str, str]:
1038
+ """
1039
+ Labels with user-defined metadata to apply to this resource.
1040
+
1041
+
1042
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
1043
+ Please refer to the field 'effective_labels' for all of the labels present on the resource.
1044
+ """
1045
+ return pulumi.get(self, "labels")
1046
+
1047
+ @property
1048
+ @pulumi.getter
1049
+ def primaries(self) -> Sequence['outputs.GetCryptoKeysKeyPrimaryResult']:
1050
+ """
1051
+ A copy of the primary CryptoKeyVersion that will be used by cryptoKeys.encrypt when this CryptoKey is given in EncryptRequest.name.
1052
+ Keys with purpose ENCRYPT_DECRYPT may have a primary. For other keys, this field will be unset.
1053
+ """
1054
+ return pulumi.get(self, "primaries")
1055
+
1056
+ @property
1057
+ @pulumi.getter(name="pulumiLabels")
1058
+ def pulumi_labels(self) -> Mapping[str, str]:
1059
+ """
1060
+ The combination of labels configured directly on the resource
1061
+ and default labels configured on the provider.
1062
+ """
1063
+ return pulumi.get(self, "pulumi_labels")
1064
+
1065
+ @property
1066
+ @pulumi.getter
1067
+ def purpose(self) -> str:
1068
+ """
1069
+ The immutable purpose of this CryptoKey. See the
1070
+ [purpose reference](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys#CryptoKeyPurpose)
1071
+ for possible inputs.
1072
+ Default value is "ENCRYPT_DECRYPT".
1073
+ """
1074
+ return pulumi.get(self, "purpose")
1075
+
1076
+ @property
1077
+ @pulumi.getter(name="rotationPeriod")
1078
+ def rotation_period(self) -> str:
1079
+ """
1080
+ Every time this period passes, generate a new CryptoKeyVersion and set it as the primary.
1081
+ The first rotation will take place after the specified period. The rotation period has
1082
+ the format of a decimal number with up to 9 fractional digits, followed by the
1083
+ letter 's' (seconds). It must be greater than a day (ie, 86400).
1084
+ """
1085
+ return pulumi.get(self, "rotation_period")
1086
+
1087
+ @property
1088
+ @pulumi.getter(name="skipInitialVersionCreation")
1089
+ def skip_initial_version_creation(self) -> bool:
1090
+ """
1091
+ If set to true, the request will create a CryptoKey without any CryptoKeyVersions.
1092
+ You must use the 'google_kms_crypto_key_version' resource to create a new CryptoKeyVersion
1093
+ or 'google_kms_key_ring_import_job' resource to import the CryptoKeyVersion.
1094
+ """
1095
+ return pulumi.get(self, "skip_initial_version_creation")
1096
+
1097
+ @property
1098
+ @pulumi.getter(name="versionTemplates")
1099
+ def version_templates(self) -> Sequence['outputs.GetCryptoKeysKeyVersionTemplateResult']:
1100
+ """
1101
+ A template describing settings for new crypto key versions.
1102
+ """
1103
+ return pulumi.get(self, "version_templates")
1104
+
1105
+ @property
1106
+ @pulumi.getter(name="keyRing")
1107
+ def key_ring(self) -> Optional[str]:
1108
+ """
1109
+ The key ring that the keys belongs to. Format: 'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'.,
1110
+ """
1111
+ return pulumi.get(self, "key_ring")
1112
+
1113
+ @property
1114
+ @pulumi.getter
1115
+ def name(self) -> Optional[str]:
1116
+ """
1117
+ The resource name for the CryptoKey.
1118
+ """
1119
+ return pulumi.get(self, "name")
1120
+
1121
+
1122
+ @pulumi.output_type
1123
+ class GetCryptoKeysKeyKeyAccessJustificationsPolicyResult(dict):
1124
+ def __init__(__self__, *,
1125
+ allowed_access_reasons: Sequence[str]):
1126
+ """
1127
+ :param Sequence[str] allowed_access_reasons: The list of allowed reasons for access to this CryptoKey. Zero allowed
1128
+ access reasons means all encrypt, decrypt, and sign operations for
1129
+ this CryptoKey will fail.
1130
+ """
1131
+ pulumi.set(__self__, "allowed_access_reasons", allowed_access_reasons)
1132
+
1133
+ @property
1134
+ @pulumi.getter(name="allowedAccessReasons")
1135
+ def allowed_access_reasons(self) -> Sequence[str]:
1136
+ """
1137
+ The list of allowed reasons for access to this CryptoKey. Zero allowed
1138
+ access reasons means all encrypt, decrypt, and sign operations for
1139
+ this CryptoKey will fail.
1140
+ """
1141
+ return pulumi.get(self, "allowed_access_reasons")
1142
+
1143
+
1144
+ @pulumi.output_type
1145
+ class GetCryptoKeysKeyPrimaryResult(dict):
1146
+ def __init__(__self__, *,
1147
+ name: str,
1148
+ state: str):
1149
+ """
1150
+ :param str name: The resource name for this CryptoKeyVersion.
1151
+ :param str state: The current state of the CryptoKeyVersion.
1152
+ """
1153
+ pulumi.set(__self__, "name", name)
1154
+ pulumi.set(__self__, "state", state)
1155
+
1156
+ @property
1157
+ @pulumi.getter
1158
+ def name(self) -> str:
1159
+ """
1160
+ The resource name for this CryptoKeyVersion.
1161
+ """
1162
+ return pulumi.get(self, "name")
1163
+
1164
+ @property
1165
+ @pulumi.getter
1166
+ def state(self) -> str:
1167
+ """
1168
+ The current state of the CryptoKeyVersion.
1169
+ """
1170
+ return pulumi.get(self, "state")
1171
+
1172
+
1173
+ @pulumi.output_type
1174
+ class GetCryptoKeysKeyVersionTemplateResult(dict):
1175
+ def __init__(__self__, *,
1176
+ algorithm: str,
1177
+ protection_level: str):
1178
+ """
1179
+ :param str algorithm: The algorithm to use when creating a version based on this template.
1180
+ See the [algorithm reference](https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm) for possible inputs.
1181
+ :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".
1182
+ """
1183
+ pulumi.set(__self__, "algorithm", algorithm)
1184
+ pulumi.set(__self__, "protection_level", protection_level)
1185
+
1186
+ @property
1187
+ @pulumi.getter
1188
+ def algorithm(self) -> str:
1189
+ """
1190
+ The algorithm to use when creating a version based on this template.
1191
+ See the [algorithm reference](https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm) for possible inputs.
1192
+ """
1193
+ return pulumi.get(self, "algorithm")
1194
+
1195
+ @property
1196
+ @pulumi.getter(name="protectionLevel")
1197
+ def protection_level(self) -> str:
1198
+ """
1199
+ The protection level to use when creating a version based on this template. Possible values include "SOFTWARE", "HSM", "EXTERNAL", "EXTERNAL_VPC". Defaults to "SOFTWARE".
1200
+ """
1201
+ return pulumi.get(self, "protection_level")
1202
+
1203
+
1204
+ @pulumi.output_type
1205
+ class GetKMSCryptoKeyKeyAccessJustificationsPolicyResult(dict):
1206
+ def __init__(__self__, *,
1207
+ allowed_access_reasons: Sequence[str]):
1208
+ """
1209
+ :param Sequence[str] allowed_access_reasons: The list of allowed reasons for access to this CryptoKey. Zero allowed
1210
+ access reasons means all encrypt, decrypt, and sign operations for
1211
+ this CryptoKey will fail.
1212
+ """
1213
+ pulumi.set(__self__, "allowed_access_reasons", allowed_access_reasons)
1214
+
1215
+ @property
1216
+ @pulumi.getter(name="allowedAccessReasons")
1217
+ def allowed_access_reasons(self) -> Sequence[str]:
1218
+ """
1219
+ The list of allowed reasons for access to this CryptoKey. Zero allowed
1220
+ access reasons means all encrypt, decrypt, and sign operations for
1221
+ this CryptoKey will fail.
1222
+ """
1223
+ return pulumi.get(self, "allowed_access_reasons")
1224
+
1225
+
863
1226
  @pulumi.output_type
864
1227
  class GetKMSCryptoKeyPrimaryResult(dict):
865
1228
  def __init__(__self__, *,
@@ -951,3 +1314,22 @@ class GetKMSCryptoKeyVersionTemplateResult(dict):
951
1314
  return pulumi.get(self, "protection_level")
952
1315
 
953
1316
 
1317
+ @pulumi.output_type
1318
+ class GetKeyRingsKeyRingResult(dict):
1319
+ def __init__(__self__, *,
1320
+ id: str,
1321
+ name: str):
1322
+ pulumi.set(__self__, "id", id)
1323
+ pulumi.set(__self__, "name", name)
1324
+
1325
+ @property
1326
+ @pulumi.getter
1327
+ def id(self) -> str:
1328
+ return pulumi.get(self, "id")
1329
+
1330
+ @property
1331
+ @pulumi.getter
1332
+ def name(self) -> str:
1333
+ return pulumi.get(self, "name")
1334
+
1335
+
@@ -201,7 +201,7 @@ if not MYPY:
201
201
  field_path: pulumi.Input[str]
202
202
  """
203
203
  The LogEntry field path to index.
204
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
204
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
205
205
  """
206
206
  type: pulumi.Input[str]
207
207
  """
@@ -217,7 +217,7 @@ class BillingAccountBucketConfigIndexConfigArgs:
217
217
  type: pulumi.Input[str]):
218
218
  """
219
219
  :param pulumi.Input[str] field_path: The LogEntry field path to index.
220
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
220
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
221
221
  :param pulumi.Input[str] type: The type of data in this index. Allowed types include `INDEX_TYPE_UNSPECIFIED`, `INDEX_TYPE_STRING` and `INDEX_TYPE_INTEGER`.
222
222
  """
223
223
  pulumi.set(__self__, "field_path", field_path)
@@ -228,7 +228,7 @@ class BillingAccountBucketConfigIndexConfigArgs:
228
228
  def field_path(self) -> pulumi.Input[str]:
229
229
  """
230
230
  The LogEntry field path to index.
231
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
231
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
232
232
  """
233
233
  return pulumi.get(self, "field_path")
234
234
 
@@ -514,7 +514,7 @@ if not MYPY:
514
514
  field_path: pulumi.Input[str]
515
515
  """
516
516
  The LogEntry field path to index.
517
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
517
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
518
518
  """
519
519
  type: pulumi.Input[str]
520
520
  """
@@ -530,7 +530,7 @@ class FolderBucketConfigIndexConfigArgs:
530
530
  type: pulumi.Input[str]):
531
531
  """
532
532
  :param pulumi.Input[str] field_path: The LogEntry field path to index.
533
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
533
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
534
534
  :param pulumi.Input[str] type: The type of data in this index. Allowed types include `INDEX_TYPE_UNSPECIFIED`, `INDEX_TYPE_STRING` and `INDEX_TYPE_INTEGER`.
535
535
  """
536
536
  pulumi.set(__self__, "field_path", field_path)
@@ -541,7 +541,7 @@ class FolderBucketConfigIndexConfigArgs:
541
541
  def field_path(self) -> pulumi.Input[str]:
542
542
  """
543
543
  The LogEntry field path to index.
544
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
544
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
545
545
  """
546
546
  return pulumi.get(self, "field_path")
547
547
 
@@ -1482,7 +1482,7 @@ if not MYPY:
1482
1482
  field_path: pulumi.Input[str]
1483
1483
  """
1484
1484
  The LogEntry field path to index.
1485
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
1485
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
1486
1486
  """
1487
1487
  type: pulumi.Input[str]
1488
1488
  """
@@ -1498,7 +1498,7 @@ class OrganizationBucketConfigIndexConfigArgs:
1498
1498
  type: pulumi.Input[str]):
1499
1499
  """
1500
1500
  :param pulumi.Input[str] field_path: The LogEntry field path to index.
1501
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
1501
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
1502
1502
  :param pulumi.Input[str] type: The type of data in this index. Allowed types include `INDEX_TYPE_UNSPECIFIED`, `INDEX_TYPE_STRING` and `INDEX_TYPE_INTEGER`.
1503
1503
  """
1504
1504
  pulumi.set(__self__, "field_path", field_path)
@@ -1509,7 +1509,7 @@ class OrganizationBucketConfigIndexConfigArgs:
1509
1509
  def field_path(self) -> pulumi.Input[str]:
1510
1510
  """
1511
1511
  The LogEntry field path to index.
1512
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
1512
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
1513
1513
  """
1514
1514
  return pulumi.get(self, "field_path")
1515
1515
 
@@ -1795,7 +1795,7 @@ if not MYPY:
1795
1795
  field_path: pulumi.Input[str]
1796
1796
  """
1797
1797
  The LogEntry field path to index.
1798
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
1798
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
1799
1799
  """
1800
1800
  type: pulumi.Input[str]
1801
1801
  """
@@ -1811,7 +1811,7 @@ class ProjectBucketConfigIndexConfigArgs:
1811
1811
  type: pulumi.Input[str]):
1812
1812
  """
1813
1813
  :param pulumi.Input[str] field_path: The LogEntry field path to index.
1814
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
1814
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
1815
1815
  :param pulumi.Input[str] type: The type of data in this index. Allowed types include `INDEX_TYPE_UNSPECIFIED`, `INDEX_TYPE_STRING` and `INDEX_TYPE_INTEGER`.
1816
1816
  """
1817
1817
  pulumi.set(__self__, "field_path", field_path)
@@ -1822,7 +1822,7 @@ class ProjectBucketConfigIndexConfigArgs:
1822
1822
  def field_path(self) -> pulumi.Input[str]:
1823
1823
  """
1824
1824
  The LogEntry field path to index.
1825
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
1825
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
1826
1826
  """
1827
1827
  return pulumi.get(self, "field_path")
1828
1828
 
@@ -329,10 +329,10 @@ class FolderBucketConfig(pulumi.CustomResource):
329
329
  location="global",
330
330
  retention_days=30,
331
331
  bucket_id="_Default",
332
- index_configs={
333
- "filePath": "jsonPayload.request.status",
332
+ index_configs=[{
333
+ "fieldPath": "jsonPayload.request.status",
334
334
  "type": "INDEX_TYPE_STRING",
335
- })
335
+ }])
336
336
  ```
337
337
 
338
338
  ## Import
@@ -386,10 +386,10 @@ class FolderBucketConfig(pulumi.CustomResource):
386
386
  location="global",
387
387
  retention_days=30,
388
388
  bucket_id="_Default",
389
- index_configs={
390
- "filePath": "jsonPayload.request.status",
389
+ index_configs=[{
390
+ "fieldPath": "jsonPayload.request.status",
391
391
  "type": "INDEX_TYPE_STRING",
392
- })
392
+ }])
393
393
  ```
394
394
 
395
395
  ## Import
@@ -327,10 +327,10 @@ class OrganizationBucketConfig(pulumi.CustomResource):
327
327
  location="global",
328
328
  retention_days=30,
329
329
  bucket_id="_Default",
330
- index_configs={
331
- "filePath": "jsonPayload.request.status",
330
+ index_configs=[{
331
+ "fieldPath": "jsonPayload.request.status",
332
332
  "type": "INDEX_TYPE_STRING",
333
- })
333
+ }])
334
334
  ```
335
335
 
336
336
  ## Import
@@ -382,10 +382,10 @@ class OrganizationBucketConfig(pulumi.CustomResource):
382
382
  location="global",
383
383
  retention_days=30,
384
384
  bucket_id="_Default",
385
- index_configs={
386
- "filePath": "jsonPayload.request.status",
385
+ index_configs=[{
386
+ "fieldPath": "jsonPayload.request.status",
387
387
  "type": "INDEX_TYPE_STRING",
388
- })
388
+ }])
389
389
  ```
390
390
 
391
391
  ## Import
@@ -168,7 +168,7 @@ class BillingAccountBucketConfigIndexConfig(dict):
168
168
  type: str):
169
169
  """
170
170
  :param str field_path: The LogEntry field path to index.
171
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
171
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
172
172
  :param str type: The type of data in this index. Allowed types include `INDEX_TYPE_UNSPECIFIED`, `INDEX_TYPE_STRING` and `INDEX_TYPE_INTEGER`.
173
173
  """
174
174
  pulumi.set(__self__, "field_path", field_path)
@@ -179,7 +179,7 @@ class BillingAccountBucketConfigIndexConfig(dict):
179
179
  def field_path(self) -> str:
180
180
  """
181
181
  The LogEntry field path to index.
182
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
182
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
183
183
  """
184
184
  return pulumi.get(self, "field_path")
185
185
 
@@ -411,7 +411,7 @@ class FolderBucketConfigIndexConfig(dict):
411
411
  type: str):
412
412
  """
413
413
  :param str field_path: The LogEntry field path to index.
414
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
414
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
415
415
  :param str type: The type of data in this index. Allowed types include `INDEX_TYPE_UNSPECIFIED`, `INDEX_TYPE_STRING` and `INDEX_TYPE_INTEGER`.
416
416
  """
417
417
  pulumi.set(__self__, "field_path", field_path)
@@ -422,7 +422,7 @@ class FolderBucketConfigIndexConfig(dict):
422
422
  def field_path(self) -> str:
423
423
  """
424
424
  The LogEntry field path to index.
425
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
425
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
426
426
  """
427
427
  return pulumi.get(self, "field_path")
428
428
 
@@ -1157,7 +1157,7 @@ class OrganizationBucketConfigIndexConfig(dict):
1157
1157
  type: str):
1158
1158
  """
1159
1159
  :param str field_path: The LogEntry field path to index.
1160
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
1160
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
1161
1161
  :param str type: The type of data in this index. Allowed types include `INDEX_TYPE_UNSPECIFIED`, `INDEX_TYPE_STRING` and `INDEX_TYPE_INTEGER`.
1162
1162
  """
1163
1163
  pulumi.set(__self__, "field_path", field_path)
@@ -1168,7 +1168,7 @@ class OrganizationBucketConfigIndexConfig(dict):
1168
1168
  def field_path(self) -> str:
1169
1169
  """
1170
1170
  The LogEntry field path to index.
1171
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
1171
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
1172
1172
  """
1173
1173
  return pulumi.get(self, "field_path")
1174
1174
 
@@ -1400,7 +1400,7 @@ class ProjectBucketConfigIndexConfig(dict):
1400
1400
  type: str):
1401
1401
  """
1402
1402
  :param str field_path: The LogEntry field path to index.
1403
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
1403
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
1404
1404
  :param str type: The type of data in this index. Allowed types include `INDEX_TYPE_UNSPECIFIED`, `INDEX_TYPE_STRING` and `INDEX_TYPE_INTEGER`.
1405
1405
  """
1406
1406
  pulumi.set(__self__, "field_path", field_path)
@@ -1411,7 +1411,7 @@ class ProjectBucketConfigIndexConfig(dict):
1411
1411
  def field_path(self) -> str:
1412
1412
  """
1413
1413
  The LogEntry field path to index.
1414
- Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
1414
+ Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation](https://cloud.google.com/logging/docs/analyze/custom-index) for details.
1415
1415
  """
1416
1416
  return pulumi.get(self, "field_path")
1417
1417