github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ebs/getDefaultKmsKey.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 ebs
     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  // Use this data source to get the default EBS encryption KMS key in the current region.
    15  //
    16  // ## Example Usage
    17  //
    18  // <!--Start PulumiCodeChooser -->
    19  // ```go
    20  // package main
    21  //
    22  // import (
    23  //
    24  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs"
    25  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    26  //
    27  // )
    28  //
    29  //	func main() {
    30  //		pulumi.Run(func(ctx *pulumi.Context) error {
    31  //			current, err := ebs.LookupDefaultKmsKey(ctx, nil, nil)
    32  //			if err != nil {
    33  //				return err
    34  //			}
    35  //			_, err = ebs.NewVolume(ctx, "example", &ebs.VolumeArgs{
    36  //				AvailabilityZone: pulumi.String("us-west-2a"),
    37  //				Encrypted:        pulumi.Bool(true),
    38  //				KmsKeyId:         pulumi.String(current.KeyArn),
    39  //			})
    40  //			if err != nil {
    41  //				return err
    42  //			}
    43  //			return nil
    44  //		})
    45  //	}
    46  //
    47  // ```
    48  // <!--End PulumiCodeChooser -->
    49  func LookupDefaultKmsKey(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*LookupDefaultKmsKeyResult, error) {
    50  	opts = internal.PkgInvokeDefaultOpts(opts)
    51  	var rv LookupDefaultKmsKeyResult
    52  	err := ctx.Invoke("aws:ebs/getDefaultKmsKey:getDefaultKmsKey", nil, &rv, opts...)
    53  	if err != nil {
    54  		return nil, err
    55  	}
    56  	return &rv, nil
    57  }
    58  
    59  // A collection of values returned by getDefaultKmsKey.
    60  type LookupDefaultKmsKeyResult struct {
    61  	// The provider-assigned unique ID for this managed resource.
    62  	Id string `pulumi:"id"`
    63  	// ARN of the default KMS key uses to encrypt an EBS volume in this region when no key is specified in an API call that creates the volume and encryption by default is enabled.
    64  	KeyArn string `pulumi:"keyArn"`
    65  }
    66  
    67  func LookupDefaultKmsKeyOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) LookupDefaultKmsKeyResultOutput {
    68  	return pulumi.ToOutput(0).ApplyT(func(int) (LookupDefaultKmsKeyResult, error) {
    69  		r, err := LookupDefaultKmsKey(ctx, opts...)
    70  		var s LookupDefaultKmsKeyResult
    71  		if r != nil {
    72  			s = *r
    73  		}
    74  		return s, err
    75  	}).(LookupDefaultKmsKeyResultOutput)
    76  }
    77  
    78  // A collection of values returned by getDefaultKmsKey.
    79  type LookupDefaultKmsKeyResultOutput struct{ *pulumi.OutputState }
    80  
    81  func (LookupDefaultKmsKeyResultOutput) ElementType() reflect.Type {
    82  	return reflect.TypeOf((*LookupDefaultKmsKeyResult)(nil)).Elem()
    83  }
    84  
    85  func (o LookupDefaultKmsKeyResultOutput) ToLookupDefaultKmsKeyResultOutput() LookupDefaultKmsKeyResultOutput {
    86  	return o
    87  }
    88  
    89  func (o LookupDefaultKmsKeyResultOutput) ToLookupDefaultKmsKeyResultOutputWithContext(ctx context.Context) LookupDefaultKmsKeyResultOutput {
    90  	return o
    91  }
    92  
    93  // The provider-assigned unique ID for this managed resource.
    94  func (o LookupDefaultKmsKeyResultOutput) Id() pulumi.StringOutput {
    95  	return o.ApplyT(func(v LookupDefaultKmsKeyResult) string { return v.Id }).(pulumi.StringOutput)
    96  }
    97  
    98  // ARN of the default KMS key uses to encrypt an EBS volume in this region when no key is specified in an API call that creates the volume and encryption by default is enabled.
    99  func (o LookupDefaultKmsKeyResultOutput) KeyArn() pulumi.StringOutput {
   100  	return o.ApplyT(func(v LookupDefaultKmsKeyResult) string { return v.KeyArn }).(pulumi.StringOutput)
   101  }
   102  
   103  func init() {
   104  	pulumi.RegisterOutputType(LookupDefaultKmsKeyResultOutput{})
   105  }