github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ebs/encryptionByDefault.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  // Provides a resource to manage whether default EBS encryption is enabled for your AWS account in the current AWS region. To manage the default KMS key for the region, see the `ebs.DefaultKmsKey` resource.
    15  //
    16  // > **NOTE:** Removing this resource disables default EBS encryption.
    17  //
    18  // ## Example Usage
    19  //
    20  // <!--Start PulumiCodeChooser -->
    21  // ```go
    22  // package main
    23  //
    24  // import (
    25  //
    26  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs"
    27  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    28  //
    29  // )
    30  //
    31  //	func main() {
    32  //		pulumi.Run(func(ctx *pulumi.Context) error {
    33  //			_, err := ebs.NewEncryptionByDefault(ctx, "example", &ebs.EncryptionByDefaultArgs{
    34  //				Enabled: pulumi.Bool(true),
    35  //			})
    36  //			if err != nil {
    37  //				return err
    38  //			}
    39  //			return nil
    40  //		})
    41  //	}
    42  //
    43  // ```
    44  // <!--End PulumiCodeChooser -->
    45  //
    46  // ## Import
    47  //
    48  // Using `pulumi import`, import the default EBS encryption state. For example:
    49  //
    50  // ```sh
    51  // $ pulumi import aws:ebs/encryptionByDefault:EncryptionByDefault example default
    52  // ```
    53  type EncryptionByDefault struct {
    54  	pulumi.CustomResourceState
    55  
    56  	// Whether or not default EBS encryption is enabled. Valid values are `true` or `false`. Defaults to `true`.
    57  	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
    58  }
    59  
    60  // NewEncryptionByDefault registers a new resource with the given unique name, arguments, and options.
    61  func NewEncryptionByDefault(ctx *pulumi.Context,
    62  	name string, args *EncryptionByDefaultArgs, opts ...pulumi.ResourceOption) (*EncryptionByDefault, error) {
    63  	if args == nil {
    64  		args = &EncryptionByDefaultArgs{}
    65  	}
    66  
    67  	opts = internal.PkgResourceDefaultOpts(opts)
    68  	var resource EncryptionByDefault
    69  	err := ctx.RegisterResource("aws:ebs/encryptionByDefault:EncryptionByDefault", name, args, &resource, opts...)
    70  	if err != nil {
    71  		return nil, err
    72  	}
    73  	return &resource, nil
    74  }
    75  
    76  // GetEncryptionByDefault gets an existing EncryptionByDefault resource's state with the given name, ID, and optional
    77  // state properties that are used to uniquely qualify the lookup (nil if not required).
    78  func GetEncryptionByDefault(ctx *pulumi.Context,
    79  	name string, id pulumi.IDInput, state *EncryptionByDefaultState, opts ...pulumi.ResourceOption) (*EncryptionByDefault, error) {
    80  	var resource EncryptionByDefault
    81  	err := ctx.ReadResource("aws:ebs/encryptionByDefault:EncryptionByDefault", name, id, state, &resource, opts...)
    82  	if err != nil {
    83  		return nil, err
    84  	}
    85  	return &resource, nil
    86  }
    87  
    88  // Input properties used for looking up and filtering EncryptionByDefault resources.
    89  type encryptionByDefaultState struct {
    90  	// Whether or not default EBS encryption is enabled. Valid values are `true` or `false`. Defaults to `true`.
    91  	Enabled *bool `pulumi:"enabled"`
    92  }
    93  
    94  type EncryptionByDefaultState struct {
    95  	// Whether or not default EBS encryption is enabled. Valid values are `true` or `false`. Defaults to `true`.
    96  	Enabled pulumi.BoolPtrInput
    97  }
    98  
    99  func (EncryptionByDefaultState) ElementType() reflect.Type {
   100  	return reflect.TypeOf((*encryptionByDefaultState)(nil)).Elem()
   101  }
   102  
   103  type encryptionByDefaultArgs struct {
   104  	// Whether or not default EBS encryption is enabled. Valid values are `true` or `false`. Defaults to `true`.
   105  	Enabled *bool `pulumi:"enabled"`
   106  }
   107  
   108  // The set of arguments for constructing a EncryptionByDefault resource.
   109  type EncryptionByDefaultArgs struct {
   110  	// Whether or not default EBS encryption is enabled. Valid values are `true` or `false`. Defaults to `true`.
   111  	Enabled pulumi.BoolPtrInput
   112  }
   113  
   114  func (EncryptionByDefaultArgs) ElementType() reflect.Type {
   115  	return reflect.TypeOf((*encryptionByDefaultArgs)(nil)).Elem()
   116  }
   117  
   118  type EncryptionByDefaultInput interface {
   119  	pulumi.Input
   120  
   121  	ToEncryptionByDefaultOutput() EncryptionByDefaultOutput
   122  	ToEncryptionByDefaultOutputWithContext(ctx context.Context) EncryptionByDefaultOutput
   123  }
   124  
   125  func (*EncryptionByDefault) ElementType() reflect.Type {
   126  	return reflect.TypeOf((**EncryptionByDefault)(nil)).Elem()
   127  }
   128  
   129  func (i *EncryptionByDefault) ToEncryptionByDefaultOutput() EncryptionByDefaultOutput {
   130  	return i.ToEncryptionByDefaultOutputWithContext(context.Background())
   131  }
   132  
   133  func (i *EncryptionByDefault) ToEncryptionByDefaultOutputWithContext(ctx context.Context) EncryptionByDefaultOutput {
   134  	return pulumi.ToOutputWithContext(ctx, i).(EncryptionByDefaultOutput)
   135  }
   136  
   137  // EncryptionByDefaultArrayInput is an input type that accepts EncryptionByDefaultArray and EncryptionByDefaultArrayOutput values.
   138  // You can construct a concrete instance of `EncryptionByDefaultArrayInput` via:
   139  //
   140  //	EncryptionByDefaultArray{ EncryptionByDefaultArgs{...} }
   141  type EncryptionByDefaultArrayInput interface {
   142  	pulumi.Input
   143  
   144  	ToEncryptionByDefaultArrayOutput() EncryptionByDefaultArrayOutput
   145  	ToEncryptionByDefaultArrayOutputWithContext(context.Context) EncryptionByDefaultArrayOutput
   146  }
   147  
   148  type EncryptionByDefaultArray []EncryptionByDefaultInput
   149  
   150  func (EncryptionByDefaultArray) ElementType() reflect.Type {
   151  	return reflect.TypeOf((*[]*EncryptionByDefault)(nil)).Elem()
   152  }
   153  
   154  func (i EncryptionByDefaultArray) ToEncryptionByDefaultArrayOutput() EncryptionByDefaultArrayOutput {
   155  	return i.ToEncryptionByDefaultArrayOutputWithContext(context.Background())
   156  }
   157  
   158  func (i EncryptionByDefaultArray) ToEncryptionByDefaultArrayOutputWithContext(ctx context.Context) EncryptionByDefaultArrayOutput {
   159  	return pulumi.ToOutputWithContext(ctx, i).(EncryptionByDefaultArrayOutput)
   160  }
   161  
   162  // EncryptionByDefaultMapInput is an input type that accepts EncryptionByDefaultMap and EncryptionByDefaultMapOutput values.
   163  // You can construct a concrete instance of `EncryptionByDefaultMapInput` via:
   164  //
   165  //	EncryptionByDefaultMap{ "key": EncryptionByDefaultArgs{...} }
   166  type EncryptionByDefaultMapInput interface {
   167  	pulumi.Input
   168  
   169  	ToEncryptionByDefaultMapOutput() EncryptionByDefaultMapOutput
   170  	ToEncryptionByDefaultMapOutputWithContext(context.Context) EncryptionByDefaultMapOutput
   171  }
   172  
   173  type EncryptionByDefaultMap map[string]EncryptionByDefaultInput
   174  
   175  func (EncryptionByDefaultMap) ElementType() reflect.Type {
   176  	return reflect.TypeOf((*map[string]*EncryptionByDefault)(nil)).Elem()
   177  }
   178  
   179  func (i EncryptionByDefaultMap) ToEncryptionByDefaultMapOutput() EncryptionByDefaultMapOutput {
   180  	return i.ToEncryptionByDefaultMapOutputWithContext(context.Background())
   181  }
   182  
   183  func (i EncryptionByDefaultMap) ToEncryptionByDefaultMapOutputWithContext(ctx context.Context) EncryptionByDefaultMapOutput {
   184  	return pulumi.ToOutputWithContext(ctx, i).(EncryptionByDefaultMapOutput)
   185  }
   186  
   187  type EncryptionByDefaultOutput struct{ *pulumi.OutputState }
   188  
   189  func (EncryptionByDefaultOutput) ElementType() reflect.Type {
   190  	return reflect.TypeOf((**EncryptionByDefault)(nil)).Elem()
   191  }
   192  
   193  func (o EncryptionByDefaultOutput) ToEncryptionByDefaultOutput() EncryptionByDefaultOutput {
   194  	return o
   195  }
   196  
   197  func (o EncryptionByDefaultOutput) ToEncryptionByDefaultOutputWithContext(ctx context.Context) EncryptionByDefaultOutput {
   198  	return o
   199  }
   200  
   201  // Whether or not default EBS encryption is enabled. Valid values are `true` or `false`. Defaults to `true`.
   202  func (o EncryptionByDefaultOutput) Enabled() pulumi.BoolPtrOutput {
   203  	return o.ApplyT(func(v *EncryptionByDefault) pulumi.BoolPtrOutput { return v.Enabled }).(pulumi.BoolPtrOutput)
   204  }
   205  
   206  type EncryptionByDefaultArrayOutput struct{ *pulumi.OutputState }
   207  
   208  func (EncryptionByDefaultArrayOutput) ElementType() reflect.Type {
   209  	return reflect.TypeOf((*[]*EncryptionByDefault)(nil)).Elem()
   210  }
   211  
   212  func (o EncryptionByDefaultArrayOutput) ToEncryptionByDefaultArrayOutput() EncryptionByDefaultArrayOutput {
   213  	return o
   214  }
   215  
   216  func (o EncryptionByDefaultArrayOutput) ToEncryptionByDefaultArrayOutputWithContext(ctx context.Context) EncryptionByDefaultArrayOutput {
   217  	return o
   218  }
   219  
   220  func (o EncryptionByDefaultArrayOutput) Index(i pulumi.IntInput) EncryptionByDefaultOutput {
   221  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *EncryptionByDefault {
   222  		return vs[0].([]*EncryptionByDefault)[vs[1].(int)]
   223  	}).(EncryptionByDefaultOutput)
   224  }
   225  
   226  type EncryptionByDefaultMapOutput struct{ *pulumi.OutputState }
   227  
   228  func (EncryptionByDefaultMapOutput) ElementType() reflect.Type {
   229  	return reflect.TypeOf((*map[string]*EncryptionByDefault)(nil)).Elem()
   230  }
   231  
   232  func (o EncryptionByDefaultMapOutput) ToEncryptionByDefaultMapOutput() EncryptionByDefaultMapOutput {
   233  	return o
   234  }
   235  
   236  func (o EncryptionByDefaultMapOutput) ToEncryptionByDefaultMapOutputWithContext(ctx context.Context) EncryptionByDefaultMapOutput {
   237  	return o
   238  }
   239  
   240  func (o EncryptionByDefaultMapOutput) MapIndex(k pulumi.StringInput) EncryptionByDefaultOutput {
   241  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *EncryptionByDefault {
   242  		return vs[0].(map[string]*EncryptionByDefault)[vs[1].(string)]
   243  	}).(EncryptionByDefaultOutput)
   244  }
   245  
   246  func init() {
   247  	pulumi.RegisterInputType(reflect.TypeOf((*EncryptionByDefaultInput)(nil)).Elem(), &EncryptionByDefault{})
   248  	pulumi.RegisterInputType(reflect.TypeOf((*EncryptionByDefaultArrayInput)(nil)).Elem(), EncryptionByDefaultArray{})
   249  	pulumi.RegisterInputType(reflect.TypeOf((*EncryptionByDefaultMapInput)(nil)).Elem(), EncryptionByDefaultMap{})
   250  	pulumi.RegisterOutputType(EncryptionByDefaultOutput{})
   251  	pulumi.RegisterOutputType(EncryptionByDefaultArrayOutput{})
   252  	pulumi.RegisterOutputType(EncryptionByDefaultMapOutput{})
   253  }