github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/kms/replicaKey.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 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Manages a KMS multi-Region replica key. 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 // primary, err := kms.NewKey(ctx, "primary", &kms.KeyArgs{ 33 // Description: pulumi.String("Multi-Region primary key"), 34 // DeletionWindowInDays: pulumi.Int(30), 35 // MultiRegion: pulumi.Bool(true), 36 // }) 37 // if err != nil { 38 // return err 39 // } 40 // _, err = kms.NewReplicaKey(ctx, "replica", &kms.ReplicaKeyArgs{ 41 // Description: pulumi.String("Multi-Region replica key"), 42 // DeletionWindowInDays: pulumi.Int(7), 43 // PrimaryKeyArn: primary.Arn, 44 // }) 45 // if err != nil { 46 // return err 47 // } 48 // return nil 49 // }) 50 // } 51 // 52 // ``` 53 // <!--End PulumiCodeChooser --> 54 // 55 // ## Import 56 // 57 // Using `pulumi import`, import KMS multi-Region replica keys using the `id`. For example: 58 // 59 // ```sh 60 // $ pulumi import aws:kms/replicaKey:ReplicaKey example 1234abcd-12ab-34cd-56ef-1234567890ab 61 // ``` 62 type ReplicaKey struct { 63 pulumi.CustomResourceState 64 65 // The Amazon Resource Name (ARN) of the replica key. The key ARNs of related multi-Region keys differ only in the Region value. 66 Arn pulumi.StringOutput `pulumi:"arn"` 67 // A flag to indicate whether to bypass the key policy lockout safety check. 68 // Setting this value to true increases the risk that the KMS key becomes unmanageable. Do not set this value to true indiscriminately. 69 // 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_. 70 // The default value is `false`. 71 BypassPolicyLockoutSafetyCheck pulumi.BoolPtrOutput `pulumi:"bypassPolicyLockoutSafetyCheck"` 72 // The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the KMS key. 73 // If you specify a value, it must be between `7` and `30`, inclusive. If you do not specify a value, it defaults to `30`. 74 DeletionWindowInDays pulumi.IntPtrOutput `pulumi:"deletionWindowInDays"` 75 // A description of the KMS key. 76 Description pulumi.StringPtrOutput `pulumi:"description"` 77 // Specifies whether the replica key is enabled. Disabled KMS keys cannot be used in cryptographic operations. The default value is `true`. 78 Enabled pulumi.BoolPtrOutput `pulumi:"enabled"` 79 // The key ID of the replica key. Related multi-Region keys have the same key ID. 80 KeyId pulumi.StringOutput `pulumi:"keyId"` 81 // A Boolean value that specifies whether key rotation is enabled. This is a shared property of multi-Region keys. 82 KeyRotationEnabled pulumi.BoolOutput `pulumi:"keyRotationEnabled"` 83 // The type of key material in the KMS key. This is a shared property of multi-Region keys. 84 KeySpec pulumi.StringOutput `pulumi:"keySpec"` 85 // The [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) for which you can use the KMS key. This is a shared property of multi-Region keys. 86 KeyUsage pulumi.StringOutput `pulumi:"keyUsage"` 87 // The key policy to attach to the KMS key. If you do not specify a key policy, AWS KMS attaches the [default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default) to the KMS key. 88 Policy pulumi.StringOutput `pulumi:"policy"` 89 // The ARN of the multi-Region primary key to replicate. The primary key must be in a different AWS Region of the same AWS Partition. You can create only one replica of a given primary key in each AWS Region. 90 PrimaryKeyArn pulumi.StringOutput `pulumi:"primaryKeyArn"` 91 // A map of tags to assign to the replica key. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 92 Tags pulumi.StringMapOutput `pulumi:"tags"` 93 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 94 // 95 // Deprecated: Please use `tags` instead. 96 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 97 } 98 99 // NewReplicaKey registers a new resource with the given unique name, arguments, and options. 100 func NewReplicaKey(ctx *pulumi.Context, 101 name string, args *ReplicaKeyArgs, opts ...pulumi.ResourceOption) (*ReplicaKey, error) { 102 if args == nil { 103 return nil, errors.New("missing one or more required arguments") 104 } 105 106 if args.PrimaryKeyArn == nil { 107 return nil, errors.New("invalid value for required argument 'PrimaryKeyArn'") 108 } 109 opts = internal.PkgResourceDefaultOpts(opts) 110 var resource ReplicaKey 111 err := ctx.RegisterResource("aws:kms/replicaKey:ReplicaKey", name, args, &resource, opts...) 112 if err != nil { 113 return nil, err 114 } 115 return &resource, nil 116 } 117 118 // GetReplicaKey gets an existing ReplicaKey resource's state with the given name, ID, and optional 119 // state properties that are used to uniquely qualify the lookup (nil if not required). 120 func GetReplicaKey(ctx *pulumi.Context, 121 name string, id pulumi.IDInput, state *ReplicaKeyState, opts ...pulumi.ResourceOption) (*ReplicaKey, error) { 122 var resource ReplicaKey 123 err := ctx.ReadResource("aws:kms/replicaKey:ReplicaKey", name, id, state, &resource, opts...) 124 if err != nil { 125 return nil, err 126 } 127 return &resource, nil 128 } 129 130 // Input properties used for looking up and filtering ReplicaKey resources. 131 type replicaKeyState struct { 132 // The Amazon Resource Name (ARN) of the replica key. The key ARNs of related multi-Region keys differ only in the Region value. 133 Arn *string `pulumi:"arn"` 134 // A flag to indicate whether to bypass the key policy lockout safety check. 135 // Setting this value to true increases the risk that the KMS key becomes unmanageable. Do not set this value to true indiscriminately. 136 // 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_. 137 // The default value is `false`. 138 BypassPolicyLockoutSafetyCheck *bool `pulumi:"bypassPolicyLockoutSafetyCheck"` 139 // The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the KMS key. 140 // If you specify a value, it must be between `7` and `30`, inclusive. If you do not specify a value, it defaults to `30`. 141 DeletionWindowInDays *int `pulumi:"deletionWindowInDays"` 142 // A description of the KMS key. 143 Description *string `pulumi:"description"` 144 // Specifies whether the replica key is enabled. Disabled KMS keys cannot be used in cryptographic operations. The default value is `true`. 145 Enabled *bool `pulumi:"enabled"` 146 // The key ID of the replica key. Related multi-Region keys have the same key ID. 147 KeyId *string `pulumi:"keyId"` 148 // A Boolean value that specifies whether key rotation is enabled. This is a shared property of multi-Region keys. 149 KeyRotationEnabled *bool `pulumi:"keyRotationEnabled"` 150 // The type of key material in the KMS key. This is a shared property of multi-Region keys. 151 KeySpec *string `pulumi:"keySpec"` 152 // The [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) for which you can use the KMS key. This is a shared property of multi-Region keys. 153 KeyUsage *string `pulumi:"keyUsage"` 154 // The key policy to attach to the KMS key. If you do not specify a key policy, AWS KMS attaches the [default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default) to the KMS key. 155 Policy *string `pulumi:"policy"` 156 // The ARN of the multi-Region primary key to replicate. The primary key must be in a different AWS Region of the same AWS Partition. You can create only one replica of a given primary key in each AWS Region. 157 PrimaryKeyArn *string `pulumi:"primaryKeyArn"` 158 // A map of tags to assign to the replica key. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 159 Tags map[string]string `pulumi:"tags"` 160 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 161 // 162 // Deprecated: Please use `tags` instead. 163 TagsAll map[string]string `pulumi:"tagsAll"` 164 } 165 166 type ReplicaKeyState struct { 167 // The Amazon Resource Name (ARN) of the replica key. The key ARNs of related multi-Region keys differ only in the Region value. 168 Arn pulumi.StringPtrInput 169 // A flag to indicate whether to bypass the key policy lockout safety check. 170 // Setting this value to true increases the risk that the KMS key becomes unmanageable. Do not set this value to true indiscriminately. 171 // 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_. 172 // The default value is `false`. 173 BypassPolicyLockoutSafetyCheck pulumi.BoolPtrInput 174 // The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the KMS key. 175 // If you specify a value, it must be between `7` and `30`, inclusive. If you do not specify a value, it defaults to `30`. 176 DeletionWindowInDays pulumi.IntPtrInput 177 // A description of the KMS key. 178 Description pulumi.StringPtrInput 179 // Specifies whether the replica key is enabled. Disabled KMS keys cannot be used in cryptographic operations. The default value is `true`. 180 Enabled pulumi.BoolPtrInput 181 // The key ID of the replica key. Related multi-Region keys have the same key ID. 182 KeyId pulumi.StringPtrInput 183 // A Boolean value that specifies whether key rotation is enabled. This is a shared property of multi-Region keys. 184 KeyRotationEnabled pulumi.BoolPtrInput 185 // The type of key material in the KMS key. This is a shared property of multi-Region keys. 186 KeySpec pulumi.StringPtrInput 187 // The [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) for which you can use the KMS key. This is a shared property of multi-Region keys. 188 KeyUsage pulumi.StringPtrInput 189 // The key policy to attach to the KMS key. If you do not specify a key policy, AWS KMS attaches the [default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default) to the KMS key. 190 Policy pulumi.StringPtrInput 191 // The ARN of the multi-Region primary key to replicate. The primary key must be in a different AWS Region of the same AWS Partition. You can create only one replica of a given primary key in each AWS Region. 192 PrimaryKeyArn pulumi.StringPtrInput 193 // A map of tags to assign to the replica key. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 194 Tags pulumi.StringMapInput 195 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 196 // 197 // Deprecated: Please use `tags` instead. 198 TagsAll pulumi.StringMapInput 199 } 200 201 func (ReplicaKeyState) ElementType() reflect.Type { 202 return reflect.TypeOf((*replicaKeyState)(nil)).Elem() 203 } 204 205 type replicaKeyArgs struct { 206 // A flag to indicate whether to bypass the key policy lockout safety check. 207 // Setting this value to true increases the risk that the KMS key becomes unmanageable. Do not set this value to true indiscriminately. 208 // 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_. 209 // The default value is `false`. 210 BypassPolicyLockoutSafetyCheck *bool `pulumi:"bypassPolicyLockoutSafetyCheck"` 211 // The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the KMS key. 212 // If you specify a value, it must be between `7` and `30`, inclusive. If you do not specify a value, it defaults to `30`. 213 DeletionWindowInDays *int `pulumi:"deletionWindowInDays"` 214 // A description of the KMS key. 215 Description *string `pulumi:"description"` 216 // Specifies whether the replica key is enabled. Disabled KMS keys cannot be used in cryptographic operations. The default value is `true`. 217 Enabled *bool `pulumi:"enabled"` 218 // The key policy to attach to the KMS key. If you do not specify a key policy, AWS KMS attaches the [default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default) to the KMS key. 219 Policy *string `pulumi:"policy"` 220 // The ARN of the multi-Region primary key to replicate. The primary key must be in a different AWS Region of the same AWS Partition. You can create only one replica of a given primary key in each AWS Region. 221 PrimaryKeyArn string `pulumi:"primaryKeyArn"` 222 // A map of tags to assign to the replica key. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 223 Tags map[string]string `pulumi:"tags"` 224 } 225 226 // The set of arguments for constructing a ReplicaKey resource. 227 type ReplicaKeyArgs struct { 228 // A flag to indicate whether to bypass the key policy lockout safety check. 229 // Setting this value to true increases the risk that the KMS key becomes unmanageable. Do not set this value to true indiscriminately. 230 // 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_. 231 // The default value is `false`. 232 BypassPolicyLockoutSafetyCheck pulumi.BoolPtrInput 233 // The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the KMS key. 234 // If you specify a value, it must be between `7` and `30`, inclusive. If you do not specify a value, it defaults to `30`. 235 DeletionWindowInDays pulumi.IntPtrInput 236 // A description of the KMS key. 237 Description pulumi.StringPtrInput 238 // Specifies whether the replica key is enabled. Disabled KMS keys cannot be used in cryptographic operations. The default value is `true`. 239 Enabled pulumi.BoolPtrInput 240 // The key policy to attach to the KMS key. If you do not specify a key policy, AWS KMS attaches the [default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default) to the KMS key. 241 Policy pulumi.StringPtrInput 242 // The ARN of the multi-Region primary key to replicate. The primary key must be in a different AWS Region of the same AWS Partition. You can create only one replica of a given primary key in each AWS Region. 243 PrimaryKeyArn pulumi.StringInput 244 // A map of tags to assign to the replica key. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 245 Tags pulumi.StringMapInput 246 } 247 248 func (ReplicaKeyArgs) ElementType() reflect.Type { 249 return reflect.TypeOf((*replicaKeyArgs)(nil)).Elem() 250 } 251 252 type ReplicaKeyInput interface { 253 pulumi.Input 254 255 ToReplicaKeyOutput() ReplicaKeyOutput 256 ToReplicaKeyOutputWithContext(ctx context.Context) ReplicaKeyOutput 257 } 258 259 func (*ReplicaKey) ElementType() reflect.Type { 260 return reflect.TypeOf((**ReplicaKey)(nil)).Elem() 261 } 262 263 func (i *ReplicaKey) ToReplicaKeyOutput() ReplicaKeyOutput { 264 return i.ToReplicaKeyOutputWithContext(context.Background()) 265 } 266 267 func (i *ReplicaKey) ToReplicaKeyOutputWithContext(ctx context.Context) ReplicaKeyOutput { 268 return pulumi.ToOutputWithContext(ctx, i).(ReplicaKeyOutput) 269 } 270 271 // ReplicaKeyArrayInput is an input type that accepts ReplicaKeyArray and ReplicaKeyArrayOutput values. 272 // You can construct a concrete instance of `ReplicaKeyArrayInput` via: 273 // 274 // ReplicaKeyArray{ ReplicaKeyArgs{...} } 275 type ReplicaKeyArrayInput interface { 276 pulumi.Input 277 278 ToReplicaKeyArrayOutput() ReplicaKeyArrayOutput 279 ToReplicaKeyArrayOutputWithContext(context.Context) ReplicaKeyArrayOutput 280 } 281 282 type ReplicaKeyArray []ReplicaKeyInput 283 284 func (ReplicaKeyArray) ElementType() reflect.Type { 285 return reflect.TypeOf((*[]*ReplicaKey)(nil)).Elem() 286 } 287 288 func (i ReplicaKeyArray) ToReplicaKeyArrayOutput() ReplicaKeyArrayOutput { 289 return i.ToReplicaKeyArrayOutputWithContext(context.Background()) 290 } 291 292 func (i ReplicaKeyArray) ToReplicaKeyArrayOutputWithContext(ctx context.Context) ReplicaKeyArrayOutput { 293 return pulumi.ToOutputWithContext(ctx, i).(ReplicaKeyArrayOutput) 294 } 295 296 // ReplicaKeyMapInput is an input type that accepts ReplicaKeyMap and ReplicaKeyMapOutput values. 297 // You can construct a concrete instance of `ReplicaKeyMapInput` via: 298 // 299 // ReplicaKeyMap{ "key": ReplicaKeyArgs{...} } 300 type ReplicaKeyMapInput interface { 301 pulumi.Input 302 303 ToReplicaKeyMapOutput() ReplicaKeyMapOutput 304 ToReplicaKeyMapOutputWithContext(context.Context) ReplicaKeyMapOutput 305 } 306 307 type ReplicaKeyMap map[string]ReplicaKeyInput 308 309 func (ReplicaKeyMap) ElementType() reflect.Type { 310 return reflect.TypeOf((*map[string]*ReplicaKey)(nil)).Elem() 311 } 312 313 func (i ReplicaKeyMap) ToReplicaKeyMapOutput() ReplicaKeyMapOutput { 314 return i.ToReplicaKeyMapOutputWithContext(context.Background()) 315 } 316 317 func (i ReplicaKeyMap) ToReplicaKeyMapOutputWithContext(ctx context.Context) ReplicaKeyMapOutput { 318 return pulumi.ToOutputWithContext(ctx, i).(ReplicaKeyMapOutput) 319 } 320 321 type ReplicaKeyOutput struct{ *pulumi.OutputState } 322 323 func (ReplicaKeyOutput) ElementType() reflect.Type { 324 return reflect.TypeOf((**ReplicaKey)(nil)).Elem() 325 } 326 327 func (o ReplicaKeyOutput) ToReplicaKeyOutput() ReplicaKeyOutput { 328 return o 329 } 330 331 func (o ReplicaKeyOutput) ToReplicaKeyOutputWithContext(ctx context.Context) ReplicaKeyOutput { 332 return o 333 } 334 335 // The Amazon Resource Name (ARN) of the replica key. The key ARNs of related multi-Region keys differ only in the Region value. 336 func (o ReplicaKeyOutput) Arn() pulumi.StringOutput { 337 return o.ApplyT(func(v *ReplicaKey) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 338 } 339 340 // A flag to indicate whether to bypass the key policy lockout safety check. 341 // Setting this value to true increases the risk that the KMS key becomes unmanageable. Do not set this value to true indiscriminately. 342 // 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_. 343 // The default value is `false`. 344 func (o ReplicaKeyOutput) BypassPolicyLockoutSafetyCheck() pulumi.BoolPtrOutput { 345 return o.ApplyT(func(v *ReplicaKey) pulumi.BoolPtrOutput { return v.BypassPolicyLockoutSafetyCheck }).(pulumi.BoolPtrOutput) 346 } 347 348 // The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the KMS key. 349 // If you specify a value, it must be between `7` and `30`, inclusive. If you do not specify a value, it defaults to `30`. 350 func (o ReplicaKeyOutput) DeletionWindowInDays() pulumi.IntPtrOutput { 351 return o.ApplyT(func(v *ReplicaKey) pulumi.IntPtrOutput { return v.DeletionWindowInDays }).(pulumi.IntPtrOutput) 352 } 353 354 // A description of the KMS key. 355 func (o ReplicaKeyOutput) Description() pulumi.StringPtrOutput { 356 return o.ApplyT(func(v *ReplicaKey) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 357 } 358 359 // Specifies whether the replica key is enabled. Disabled KMS keys cannot be used in cryptographic operations. The default value is `true`. 360 func (o ReplicaKeyOutput) Enabled() pulumi.BoolPtrOutput { 361 return o.ApplyT(func(v *ReplicaKey) pulumi.BoolPtrOutput { return v.Enabled }).(pulumi.BoolPtrOutput) 362 } 363 364 // The key ID of the replica key. Related multi-Region keys have the same key ID. 365 func (o ReplicaKeyOutput) KeyId() pulumi.StringOutput { 366 return o.ApplyT(func(v *ReplicaKey) pulumi.StringOutput { return v.KeyId }).(pulumi.StringOutput) 367 } 368 369 // A Boolean value that specifies whether key rotation is enabled. This is a shared property of multi-Region keys. 370 func (o ReplicaKeyOutput) KeyRotationEnabled() pulumi.BoolOutput { 371 return o.ApplyT(func(v *ReplicaKey) pulumi.BoolOutput { return v.KeyRotationEnabled }).(pulumi.BoolOutput) 372 } 373 374 // The type of key material in the KMS key. This is a shared property of multi-Region keys. 375 func (o ReplicaKeyOutput) KeySpec() pulumi.StringOutput { 376 return o.ApplyT(func(v *ReplicaKey) pulumi.StringOutput { return v.KeySpec }).(pulumi.StringOutput) 377 } 378 379 // The [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) for which you can use the KMS key. This is a shared property of multi-Region keys. 380 func (o ReplicaKeyOutput) KeyUsage() pulumi.StringOutput { 381 return o.ApplyT(func(v *ReplicaKey) pulumi.StringOutput { return v.KeyUsage }).(pulumi.StringOutput) 382 } 383 384 // The key policy to attach to the KMS key. If you do not specify a key policy, AWS KMS attaches the [default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default) to the KMS key. 385 func (o ReplicaKeyOutput) Policy() pulumi.StringOutput { 386 return o.ApplyT(func(v *ReplicaKey) pulumi.StringOutput { return v.Policy }).(pulumi.StringOutput) 387 } 388 389 // The ARN of the multi-Region primary key to replicate. The primary key must be in a different AWS Region of the same AWS Partition. You can create only one replica of a given primary key in each AWS Region. 390 func (o ReplicaKeyOutput) PrimaryKeyArn() pulumi.StringOutput { 391 return o.ApplyT(func(v *ReplicaKey) pulumi.StringOutput { return v.PrimaryKeyArn }).(pulumi.StringOutput) 392 } 393 394 // A map of tags to assign to the replica key. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 395 func (o ReplicaKeyOutput) Tags() pulumi.StringMapOutput { 396 return o.ApplyT(func(v *ReplicaKey) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 397 } 398 399 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 400 // 401 // Deprecated: Please use `tags` instead. 402 func (o ReplicaKeyOutput) TagsAll() pulumi.StringMapOutput { 403 return o.ApplyT(func(v *ReplicaKey) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 404 } 405 406 type ReplicaKeyArrayOutput struct{ *pulumi.OutputState } 407 408 func (ReplicaKeyArrayOutput) ElementType() reflect.Type { 409 return reflect.TypeOf((*[]*ReplicaKey)(nil)).Elem() 410 } 411 412 func (o ReplicaKeyArrayOutput) ToReplicaKeyArrayOutput() ReplicaKeyArrayOutput { 413 return o 414 } 415 416 func (o ReplicaKeyArrayOutput) ToReplicaKeyArrayOutputWithContext(ctx context.Context) ReplicaKeyArrayOutput { 417 return o 418 } 419 420 func (o ReplicaKeyArrayOutput) Index(i pulumi.IntInput) ReplicaKeyOutput { 421 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ReplicaKey { 422 return vs[0].([]*ReplicaKey)[vs[1].(int)] 423 }).(ReplicaKeyOutput) 424 } 425 426 type ReplicaKeyMapOutput struct{ *pulumi.OutputState } 427 428 func (ReplicaKeyMapOutput) ElementType() reflect.Type { 429 return reflect.TypeOf((*map[string]*ReplicaKey)(nil)).Elem() 430 } 431 432 func (o ReplicaKeyMapOutput) ToReplicaKeyMapOutput() ReplicaKeyMapOutput { 433 return o 434 } 435 436 func (o ReplicaKeyMapOutput) ToReplicaKeyMapOutputWithContext(ctx context.Context) ReplicaKeyMapOutput { 437 return o 438 } 439 440 func (o ReplicaKeyMapOutput) MapIndex(k pulumi.StringInput) ReplicaKeyOutput { 441 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ReplicaKey { 442 return vs[0].(map[string]*ReplicaKey)[vs[1].(string)] 443 }).(ReplicaKeyOutput) 444 } 445 446 func init() { 447 pulumi.RegisterInputType(reflect.TypeOf((*ReplicaKeyInput)(nil)).Elem(), &ReplicaKey{}) 448 pulumi.RegisterInputType(reflect.TypeOf((*ReplicaKeyArrayInput)(nil)).Elem(), ReplicaKeyArray{}) 449 pulumi.RegisterInputType(reflect.TypeOf((*ReplicaKeyMapInput)(nil)).Elem(), ReplicaKeyMap{}) 450 pulumi.RegisterOutputType(ReplicaKeyOutput{}) 451 pulumi.RegisterOutputType(ReplicaKeyArrayOutput{}) 452 pulumi.RegisterOutputType(ReplicaKeyMapOutput{}) 453 }