github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/kms/externalKey.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package kms 5 6 import ( 7 "context" 8 "reflect" 9 10 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Manages a single-Region or multi-Region primary KMS key that uses external key material. 15 // To instead manage a single-Region or multi-Region primary KMS key where AWS automatically generates and potentially rotates key material, see the `kms.Key` resource. 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // _, err := kms.NewExternalKey(ctx, "example", &kms.ExternalKeyArgs{ 33 // Description: pulumi.String("KMS EXTERNAL for AMI encryption"), 34 // }) 35 // if err != nil { 36 // return err 37 // } 38 // return nil 39 // }) 40 // } 41 // 42 // ``` 43 // <!--End PulumiCodeChooser --> 44 // 45 // ## Import 46 // 47 // Using `pulumi import`, import KMS External Keys using the `id`. For example: 48 // 49 // ```sh 50 // $ pulumi import aws:kms/externalKey:ExternalKey a arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab 51 // ``` 52 type ExternalKey struct { 53 pulumi.CustomResourceState 54 55 // The Amazon Resource Name (ARN) of the key. 56 Arn pulumi.StringOutput `pulumi:"arn"` 57 // Specifies whether to disable the policy lockout check performed when creating or updating the key's policy. Setting this value to `true` increases the risk that the key becomes unmanageable. For more information, refer to the scenario in the [Default Key Policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) section in the AWS Key Management Service Developer Guide. Defaults to `false`. 58 BypassPolicyLockoutSafetyCheck pulumi.BoolPtrOutput `pulumi:"bypassPolicyLockoutSafetyCheck"` 59 // Duration in days after which the key is deleted after destruction of the resource. Must be between `7` and `30` days. Defaults to `30`. 60 DeletionWindowInDays pulumi.IntPtrOutput `pulumi:"deletionWindowInDays"` 61 // Description of the key. 62 Description pulumi.StringPtrOutput `pulumi:"description"` 63 // Specifies whether the key is enabled. Keys pending import can only be `false`. Imported keys default to `true` unless expired. 64 Enabled pulumi.BoolOutput `pulumi:"enabled"` 65 // Whether the key material expires. Empty when pending key material import, otherwise `KEY_MATERIAL_EXPIRES` or `KEY_MATERIAL_DOES_NOT_EXPIRE`. 66 ExpirationModel pulumi.StringOutput `pulumi:"expirationModel"` 67 // Base64 encoded 256-bit symmetric encryption key material to import. The CMK is permanently associated with this key material. The same key material can be reimported, but you cannot import different key material. 68 KeyMaterialBase64 pulumi.StringPtrOutput `pulumi:"keyMaterialBase64"` 69 // The state of the CMK. 70 KeyState pulumi.StringOutput `pulumi:"keyState"` 71 // The cryptographic operations for which you can use the CMK. 72 KeyUsage pulumi.StringOutput `pulumi:"keyUsage"` 73 // Indicates whether the KMS key is a multi-Region (`true`) or regional (`false`) key. Defaults to `false`. 74 MultiRegion pulumi.BoolOutput `pulumi:"multiRegion"` 75 // A key policy JSON document. If you do not provide a key policy, AWS KMS attaches a default key policy to the CMK. 76 Policy pulumi.StringOutput `pulumi:"policy"` 77 // A key-value map of tags to assign to the key. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 78 Tags pulumi.StringMapOutput `pulumi:"tags"` 79 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 80 // 81 // Deprecated: Please use `tags` instead. 82 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 83 // Time at which the imported key material expires. When the key material expires, AWS KMS deletes the key material and the CMK becomes unusable. If not specified, key material does not expire. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) 84 ValidTo pulumi.StringPtrOutput `pulumi:"validTo"` 85 } 86 87 // NewExternalKey registers a new resource with the given unique name, arguments, and options. 88 func NewExternalKey(ctx *pulumi.Context, 89 name string, args *ExternalKeyArgs, opts ...pulumi.ResourceOption) (*ExternalKey, error) { 90 if args == nil { 91 args = &ExternalKeyArgs{} 92 } 93 94 if args.KeyMaterialBase64 != nil { 95 args.KeyMaterialBase64 = pulumi.ToSecret(args.KeyMaterialBase64).(pulumi.StringPtrInput) 96 } 97 secrets := pulumi.AdditionalSecretOutputs([]string{ 98 "keyMaterialBase64", 99 }) 100 opts = append(opts, secrets) 101 opts = internal.PkgResourceDefaultOpts(opts) 102 var resource ExternalKey 103 err := ctx.RegisterResource("aws:kms/externalKey:ExternalKey", name, args, &resource, opts...) 104 if err != nil { 105 return nil, err 106 } 107 return &resource, nil 108 } 109 110 // GetExternalKey gets an existing ExternalKey resource's state with the given name, ID, and optional 111 // state properties that are used to uniquely qualify the lookup (nil if not required). 112 func GetExternalKey(ctx *pulumi.Context, 113 name string, id pulumi.IDInput, state *ExternalKeyState, opts ...pulumi.ResourceOption) (*ExternalKey, error) { 114 var resource ExternalKey 115 err := ctx.ReadResource("aws:kms/externalKey:ExternalKey", name, id, state, &resource, opts...) 116 if err != nil { 117 return nil, err 118 } 119 return &resource, nil 120 } 121 122 // Input properties used for looking up and filtering ExternalKey resources. 123 type externalKeyState struct { 124 // The Amazon Resource Name (ARN) of the key. 125 Arn *string `pulumi:"arn"` 126 // Specifies whether to disable the policy lockout check performed when creating or updating the key's policy. Setting this value to `true` increases the risk that the key becomes unmanageable. For more information, refer to the scenario in the [Default Key Policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) section in the AWS Key Management Service Developer Guide. Defaults to `false`. 127 BypassPolicyLockoutSafetyCheck *bool `pulumi:"bypassPolicyLockoutSafetyCheck"` 128 // Duration in days after which the key is deleted after destruction of the resource. Must be between `7` and `30` days. Defaults to `30`. 129 DeletionWindowInDays *int `pulumi:"deletionWindowInDays"` 130 // Description of the key. 131 Description *string `pulumi:"description"` 132 // Specifies whether the key is enabled. Keys pending import can only be `false`. Imported keys default to `true` unless expired. 133 Enabled *bool `pulumi:"enabled"` 134 // Whether the key material expires. Empty when pending key material import, otherwise `KEY_MATERIAL_EXPIRES` or `KEY_MATERIAL_DOES_NOT_EXPIRE`. 135 ExpirationModel *string `pulumi:"expirationModel"` 136 // Base64 encoded 256-bit symmetric encryption key material to import. The CMK is permanently associated with this key material. The same key material can be reimported, but you cannot import different key material. 137 KeyMaterialBase64 *string `pulumi:"keyMaterialBase64"` 138 // The state of the CMK. 139 KeyState *string `pulumi:"keyState"` 140 // The cryptographic operations for which you can use the CMK. 141 KeyUsage *string `pulumi:"keyUsage"` 142 // Indicates whether the KMS key is a multi-Region (`true`) or regional (`false`) key. Defaults to `false`. 143 MultiRegion *bool `pulumi:"multiRegion"` 144 // A key policy JSON document. If you do not provide a key policy, AWS KMS attaches a default key policy to the CMK. 145 Policy *string `pulumi:"policy"` 146 // A key-value map of tags to assign to the key. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 147 Tags map[string]string `pulumi:"tags"` 148 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 149 // 150 // Deprecated: Please use `tags` instead. 151 TagsAll map[string]string `pulumi:"tagsAll"` 152 // Time at which the imported key material expires. When the key material expires, AWS KMS deletes the key material and the CMK becomes unusable. If not specified, key material does not expire. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) 153 ValidTo *string `pulumi:"validTo"` 154 } 155 156 type ExternalKeyState struct { 157 // The Amazon Resource Name (ARN) of the key. 158 Arn pulumi.StringPtrInput 159 // Specifies whether to disable the policy lockout check performed when creating or updating the key's policy. Setting this value to `true` increases the risk that the key becomes unmanageable. For more information, refer to the scenario in the [Default Key Policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) section in the AWS Key Management Service Developer Guide. Defaults to `false`. 160 BypassPolicyLockoutSafetyCheck pulumi.BoolPtrInput 161 // Duration in days after which the key is deleted after destruction of the resource. Must be between `7` and `30` days. Defaults to `30`. 162 DeletionWindowInDays pulumi.IntPtrInput 163 // Description of the key. 164 Description pulumi.StringPtrInput 165 // Specifies whether the key is enabled. Keys pending import can only be `false`. Imported keys default to `true` unless expired. 166 Enabled pulumi.BoolPtrInput 167 // Whether the key material expires. Empty when pending key material import, otherwise `KEY_MATERIAL_EXPIRES` or `KEY_MATERIAL_DOES_NOT_EXPIRE`. 168 ExpirationModel pulumi.StringPtrInput 169 // Base64 encoded 256-bit symmetric encryption key material to import. The CMK is permanently associated with this key material. The same key material can be reimported, but you cannot import different key material. 170 KeyMaterialBase64 pulumi.StringPtrInput 171 // The state of the CMK. 172 KeyState pulumi.StringPtrInput 173 // The cryptographic operations for which you can use the CMK. 174 KeyUsage pulumi.StringPtrInput 175 // Indicates whether the KMS key is a multi-Region (`true`) or regional (`false`) key. Defaults to `false`. 176 MultiRegion pulumi.BoolPtrInput 177 // A key policy JSON document. If you do not provide a key policy, AWS KMS attaches a default key policy to the CMK. 178 Policy pulumi.StringPtrInput 179 // A key-value map of tags to assign to the key. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 180 Tags pulumi.StringMapInput 181 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 182 // 183 // Deprecated: Please use `tags` instead. 184 TagsAll pulumi.StringMapInput 185 // Time at which the imported key material expires. When the key material expires, AWS KMS deletes the key material and the CMK becomes unusable. If not specified, key material does not expire. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) 186 ValidTo pulumi.StringPtrInput 187 } 188 189 func (ExternalKeyState) ElementType() reflect.Type { 190 return reflect.TypeOf((*externalKeyState)(nil)).Elem() 191 } 192 193 type externalKeyArgs struct { 194 // Specifies whether to disable the policy lockout check performed when creating or updating the key's policy. Setting this value to `true` increases the risk that the key becomes unmanageable. For more information, refer to the scenario in the [Default Key Policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) section in the AWS Key Management Service Developer Guide. Defaults to `false`. 195 BypassPolicyLockoutSafetyCheck *bool `pulumi:"bypassPolicyLockoutSafetyCheck"` 196 // Duration in days after which the key is deleted after destruction of the resource. Must be between `7` and `30` days. Defaults to `30`. 197 DeletionWindowInDays *int `pulumi:"deletionWindowInDays"` 198 // Description of the key. 199 Description *string `pulumi:"description"` 200 // Specifies whether the key is enabled. Keys pending import can only be `false`. Imported keys default to `true` unless expired. 201 Enabled *bool `pulumi:"enabled"` 202 // Base64 encoded 256-bit symmetric encryption key material to import. The CMK is permanently associated with this key material. The same key material can be reimported, but you cannot import different key material. 203 KeyMaterialBase64 *string `pulumi:"keyMaterialBase64"` 204 // Indicates whether the KMS key is a multi-Region (`true`) or regional (`false`) key. Defaults to `false`. 205 MultiRegion *bool `pulumi:"multiRegion"` 206 // A key policy JSON document. If you do not provide a key policy, AWS KMS attaches a default key policy to the CMK. 207 Policy *string `pulumi:"policy"` 208 // A key-value map of tags to assign to the key. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 209 Tags map[string]string `pulumi:"tags"` 210 // Time at which the imported key material expires. When the key material expires, AWS KMS deletes the key material and the CMK becomes unusable. If not specified, key material does not expire. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) 211 ValidTo *string `pulumi:"validTo"` 212 } 213 214 // The set of arguments for constructing a ExternalKey resource. 215 type ExternalKeyArgs struct { 216 // Specifies whether to disable the policy lockout check performed when creating or updating the key's policy. Setting this value to `true` increases the risk that the key becomes unmanageable. For more information, refer to the scenario in the [Default Key Policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) section in the AWS Key Management Service Developer Guide. Defaults to `false`. 217 BypassPolicyLockoutSafetyCheck pulumi.BoolPtrInput 218 // Duration in days after which the key is deleted after destruction of the resource. Must be between `7` and `30` days. Defaults to `30`. 219 DeletionWindowInDays pulumi.IntPtrInput 220 // Description of the key. 221 Description pulumi.StringPtrInput 222 // Specifies whether the key is enabled. Keys pending import can only be `false`. Imported keys default to `true` unless expired. 223 Enabled pulumi.BoolPtrInput 224 // Base64 encoded 256-bit symmetric encryption key material to import. The CMK is permanently associated with this key material. The same key material can be reimported, but you cannot import different key material. 225 KeyMaterialBase64 pulumi.StringPtrInput 226 // Indicates whether the KMS key is a multi-Region (`true`) or regional (`false`) key. Defaults to `false`. 227 MultiRegion pulumi.BoolPtrInput 228 // A key policy JSON document. If you do not provide a key policy, AWS KMS attaches a default key policy to the CMK. 229 Policy pulumi.StringPtrInput 230 // A key-value map of tags to assign to the key. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 231 Tags pulumi.StringMapInput 232 // Time at which the imported key material expires. When the key material expires, AWS KMS deletes the key material and the CMK becomes unusable. If not specified, key material does not expire. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) 233 ValidTo pulumi.StringPtrInput 234 } 235 236 func (ExternalKeyArgs) ElementType() reflect.Type { 237 return reflect.TypeOf((*externalKeyArgs)(nil)).Elem() 238 } 239 240 type ExternalKeyInput interface { 241 pulumi.Input 242 243 ToExternalKeyOutput() ExternalKeyOutput 244 ToExternalKeyOutputWithContext(ctx context.Context) ExternalKeyOutput 245 } 246 247 func (*ExternalKey) ElementType() reflect.Type { 248 return reflect.TypeOf((**ExternalKey)(nil)).Elem() 249 } 250 251 func (i *ExternalKey) ToExternalKeyOutput() ExternalKeyOutput { 252 return i.ToExternalKeyOutputWithContext(context.Background()) 253 } 254 255 func (i *ExternalKey) ToExternalKeyOutputWithContext(ctx context.Context) ExternalKeyOutput { 256 return pulumi.ToOutputWithContext(ctx, i).(ExternalKeyOutput) 257 } 258 259 // ExternalKeyArrayInput is an input type that accepts ExternalKeyArray and ExternalKeyArrayOutput values. 260 // You can construct a concrete instance of `ExternalKeyArrayInput` via: 261 // 262 // ExternalKeyArray{ ExternalKeyArgs{...} } 263 type ExternalKeyArrayInput interface { 264 pulumi.Input 265 266 ToExternalKeyArrayOutput() ExternalKeyArrayOutput 267 ToExternalKeyArrayOutputWithContext(context.Context) ExternalKeyArrayOutput 268 } 269 270 type ExternalKeyArray []ExternalKeyInput 271 272 func (ExternalKeyArray) ElementType() reflect.Type { 273 return reflect.TypeOf((*[]*ExternalKey)(nil)).Elem() 274 } 275 276 func (i ExternalKeyArray) ToExternalKeyArrayOutput() ExternalKeyArrayOutput { 277 return i.ToExternalKeyArrayOutputWithContext(context.Background()) 278 } 279 280 func (i ExternalKeyArray) ToExternalKeyArrayOutputWithContext(ctx context.Context) ExternalKeyArrayOutput { 281 return pulumi.ToOutputWithContext(ctx, i).(ExternalKeyArrayOutput) 282 } 283 284 // ExternalKeyMapInput is an input type that accepts ExternalKeyMap and ExternalKeyMapOutput values. 285 // You can construct a concrete instance of `ExternalKeyMapInput` via: 286 // 287 // ExternalKeyMap{ "key": ExternalKeyArgs{...} } 288 type ExternalKeyMapInput interface { 289 pulumi.Input 290 291 ToExternalKeyMapOutput() ExternalKeyMapOutput 292 ToExternalKeyMapOutputWithContext(context.Context) ExternalKeyMapOutput 293 } 294 295 type ExternalKeyMap map[string]ExternalKeyInput 296 297 func (ExternalKeyMap) ElementType() reflect.Type { 298 return reflect.TypeOf((*map[string]*ExternalKey)(nil)).Elem() 299 } 300 301 func (i ExternalKeyMap) ToExternalKeyMapOutput() ExternalKeyMapOutput { 302 return i.ToExternalKeyMapOutputWithContext(context.Background()) 303 } 304 305 func (i ExternalKeyMap) ToExternalKeyMapOutputWithContext(ctx context.Context) ExternalKeyMapOutput { 306 return pulumi.ToOutputWithContext(ctx, i).(ExternalKeyMapOutput) 307 } 308 309 type ExternalKeyOutput struct{ *pulumi.OutputState } 310 311 func (ExternalKeyOutput) ElementType() reflect.Type { 312 return reflect.TypeOf((**ExternalKey)(nil)).Elem() 313 } 314 315 func (o ExternalKeyOutput) ToExternalKeyOutput() ExternalKeyOutput { 316 return o 317 } 318 319 func (o ExternalKeyOutput) ToExternalKeyOutputWithContext(ctx context.Context) ExternalKeyOutput { 320 return o 321 } 322 323 // The Amazon Resource Name (ARN) of the key. 324 func (o ExternalKeyOutput) Arn() pulumi.StringOutput { 325 return o.ApplyT(func(v *ExternalKey) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 326 } 327 328 // Specifies whether to disable the policy lockout check performed when creating or updating the key's policy. Setting this value to `true` increases the risk that the key becomes unmanageable. For more information, refer to the scenario in the [Default Key Policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) section in the AWS Key Management Service Developer Guide. Defaults to `false`. 329 func (o ExternalKeyOutput) BypassPolicyLockoutSafetyCheck() pulumi.BoolPtrOutput { 330 return o.ApplyT(func(v *ExternalKey) pulumi.BoolPtrOutput { return v.BypassPolicyLockoutSafetyCheck }).(pulumi.BoolPtrOutput) 331 } 332 333 // Duration in days after which the key is deleted after destruction of the resource. Must be between `7` and `30` days. Defaults to `30`. 334 func (o ExternalKeyOutput) DeletionWindowInDays() pulumi.IntPtrOutput { 335 return o.ApplyT(func(v *ExternalKey) pulumi.IntPtrOutput { return v.DeletionWindowInDays }).(pulumi.IntPtrOutput) 336 } 337 338 // Description of the key. 339 func (o ExternalKeyOutput) Description() pulumi.StringPtrOutput { 340 return o.ApplyT(func(v *ExternalKey) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 341 } 342 343 // Specifies whether the key is enabled. Keys pending import can only be `false`. Imported keys default to `true` unless expired. 344 func (o ExternalKeyOutput) Enabled() pulumi.BoolOutput { 345 return o.ApplyT(func(v *ExternalKey) pulumi.BoolOutput { return v.Enabled }).(pulumi.BoolOutput) 346 } 347 348 // Whether the key material expires. Empty when pending key material import, otherwise `KEY_MATERIAL_EXPIRES` or `KEY_MATERIAL_DOES_NOT_EXPIRE`. 349 func (o ExternalKeyOutput) ExpirationModel() pulumi.StringOutput { 350 return o.ApplyT(func(v *ExternalKey) pulumi.StringOutput { return v.ExpirationModel }).(pulumi.StringOutput) 351 } 352 353 // Base64 encoded 256-bit symmetric encryption key material to import. The CMK is permanently associated with this key material. The same key material can be reimported, but you cannot import different key material. 354 func (o ExternalKeyOutput) KeyMaterialBase64() pulumi.StringPtrOutput { 355 return o.ApplyT(func(v *ExternalKey) pulumi.StringPtrOutput { return v.KeyMaterialBase64 }).(pulumi.StringPtrOutput) 356 } 357 358 // The state of the CMK. 359 func (o ExternalKeyOutput) KeyState() pulumi.StringOutput { 360 return o.ApplyT(func(v *ExternalKey) pulumi.StringOutput { return v.KeyState }).(pulumi.StringOutput) 361 } 362 363 // The cryptographic operations for which you can use the CMK. 364 func (o ExternalKeyOutput) KeyUsage() pulumi.StringOutput { 365 return o.ApplyT(func(v *ExternalKey) pulumi.StringOutput { return v.KeyUsage }).(pulumi.StringOutput) 366 } 367 368 // Indicates whether the KMS key is a multi-Region (`true`) or regional (`false`) key. Defaults to `false`. 369 func (o ExternalKeyOutput) MultiRegion() pulumi.BoolOutput { 370 return o.ApplyT(func(v *ExternalKey) pulumi.BoolOutput { return v.MultiRegion }).(pulumi.BoolOutput) 371 } 372 373 // A key policy JSON document. If you do not provide a key policy, AWS KMS attaches a default key policy to the CMK. 374 func (o ExternalKeyOutput) Policy() pulumi.StringOutput { 375 return o.ApplyT(func(v *ExternalKey) pulumi.StringOutput { return v.Policy }).(pulumi.StringOutput) 376 } 377 378 // A key-value map of tags to assign to the key. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 379 func (o ExternalKeyOutput) Tags() pulumi.StringMapOutput { 380 return o.ApplyT(func(v *ExternalKey) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 381 } 382 383 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 384 // 385 // Deprecated: Please use `tags` instead. 386 func (o ExternalKeyOutput) TagsAll() pulumi.StringMapOutput { 387 return o.ApplyT(func(v *ExternalKey) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 388 } 389 390 // Time at which the imported key material expires. When the key material expires, AWS KMS deletes the key material and the CMK becomes unusable. If not specified, key material does not expire. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) 391 func (o ExternalKeyOutput) ValidTo() pulumi.StringPtrOutput { 392 return o.ApplyT(func(v *ExternalKey) pulumi.StringPtrOutput { return v.ValidTo }).(pulumi.StringPtrOutput) 393 } 394 395 type ExternalKeyArrayOutput struct{ *pulumi.OutputState } 396 397 func (ExternalKeyArrayOutput) ElementType() reflect.Type { 398 return reflect.TypeOf((*[]*ExternalKey)(nil)).Elem() 399 } 400 401 func (o ExternalKeyArrayOutput) ToExternalKeyArrayOutput() ExternalKeyArrayOutput { 402 return o 403 } 404 405 func (o ExternalKeyArrayOutput) ToExternalKeyArrayOutputWithContext(ctx context.Context) ExternalKeyArrayOutput { 406 return o 407 } 408 409 func (o ExternalKeyArrayOutput) Index(i pulumi.IntInput) ExternalKeyOutput { 410 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ExternalKey { 411 return vs[0].([]*ExternalKey)[vs[1].(int)] 412 }).(ExternalKeyOutput) 413 } 414 415 type ExternalKeyMapOutput struct{ *pulumi.OutputState } 416 417 func (ExternalKeyMapOutput) ElementType() reflect.Type { 418 return reflect.TypeOf((*map[string]*ExternalKey)(nil)).Elem() 419 } 420 421 func (o ExternalKeyMapOutput) ToExternalKeyMapOutput() ExternalKeyMapOutput { 422 return o 423 } 424 425 func (o ExternalKeyMapOutput) ToExternalKeyMapOutputWithContext(ctx context.Context) ExternalKeyMapOutput { 426 return o 427 } 428 429 func (o ExternalKeyMapOutput) MapIndex(k pulumi.StringInput) ExternalKeyOutput { 430 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ExternalKey { 431 return vs[0].(map[string]*ExternalKey)[vs[1].(string)] 432 }).(ExternalKeyOutput) 433 } 434 435 func init() { 436 pulumi.RegisterInputType(reflect.TypeOf((*ExternalKeyInput)(nil)).Elem(), &ExternalKey{}) 437 pulumi.RegisterInputType(reflect.TypeOf((*ExternalKeyArrayInput)(nil)).Elem(), ExternalKeyArray{}) 438 pulumi.RegisterInputType(reflect.TypeOf((*ExternalKeyMapInput)(nil)).Elem(), ExternalKeyMap{}) 439 pulumi.RegisterOutputType(ExternalKeyOutput{}) 440 pulumi.RegisterOutputType(ExternalKeyArrayOutput{}) 441 pulumi.RegisterOutputType(ExternalKeyMapOutput{}) 442 }