github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/cfg/retentionConfiguration.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 cfg 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 // Provides a resource to manage the AWS Config retention configuration. 16 // The retention configuration defines the number of days that AWS Config stores historical information. 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/cfg" 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 := cfg.NewRetentionConfiguration(ctx, "example", &cfg.RetentionConfigurationArgs{ 34 // RetentionPeriodInDays: pulumi.Int(90), 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 AWS Config retention configuration using the `name`. For example: 49 // 50 // ```sh 51 // $ pulumi import aws:cfg/retentionConfiguration:RetentionConfiguration example default 52 // ``` 53 type RetentionConfiguration struct { 54 pulumi.CustomResourceState 55 56 // The name of the retention configuration object. The object is always named **default**. 57 Name pulumi.StringOutput `pulumi:"name"` 58 // The number of days AWS Config stores historical information. 59 RetentionPeriodInDays pulumi.IntOutput `pulumi:"retentionPeriodInDays"` 60 } 61 62 // NewRetentionConfiguration registers a new resource with the given unique name, arguments, and options. 63 func NewRetentionConfiguration(ctx *pulumi.Context, 64 name string, args *RetentionConfigurationArgs, opts ...pulumi.ResourceOption) (*RetentionConfiguration, error) { 65 if args == nil { 66 return nil, errors.New("missing one or more required arguments") 67 } 68 69 if args.RetentionPeriodInDays == nil { 70 return nil, errors.New("invalid value for required argument 'RetentionPeriodInDays'") 71 } 72 opts = internal.PkgResourceDefaultOpts(opts) 73 var resource RetentionConfiguration 74 err := ctx.RegisterResource("aws:cfg/retentionConfiguration:RetentionConfiguration", name, args, &resource, opts...) 75 if err != nil { 76 return nil, err 77 } 78 return &resource, nil 79 } 80 81 // GetRetentionConfiguration gets an existing RetentionConfiguration resource's state with the given name, ID, and optional 82 // state properties that are used to uniquely qualify the lookup (nil if not required). 83 func GetRetentionConfiguration(ctx *pulumi.Context, 84 name string, id pulumi.IDInput, state *RetentionConfigurationState, opts ...pulumi.ResourceOption) (*RetentionConfiguration, error) { 85 var resource RetentionConfiguration 86 err := ctx.ReadResource("aws:cfg/retentionConfiguration:RetentionConfiguration", name, id, state, &resource, opts...) 87 if err != nil { 88 return nil, err 89 } 90 return &resource, nil 91 } 92 93 // Input properties used for looking up and filtering RetentionConfiguration resources. 94 type retentionConfigurationState struct { 95 // The name of the retention configuration object. The object is always named **default**. 96 Name *string `pulumi:"name"` 97 // The number of days AWS Config stores historical information. 98 RetentionPeriodInDays *int `pulumi:"retentionPeriodInDays"` 99 } 100 101 type RetentionConfigurationState struct { 102 // The name of the retention configuration object. The object is always named **default**. 103 Name pulumi.StringPtrInput 104 // The number of days AWS Config stores historical information. 105 RetentionPeriodInDays pulumi.IntPtrInput 106 } 107 108 func (RetentionConfigurationState) ElementType() reflect.Type { 109 return reflect.TypeOf((*retentionConfigurationState)(nil)).Elem() 110 } 111 112 type retentionConfigurationArgs struct { 113 // The number of days AWS Config stores historical information. 114 RetentionPeriodInDays int `pulumi:"retentionPeriodInDays"` 115 } 116 117 // The set of arguments for constructing a RetentionConfiguration resource. 118 type RetentionConfigurationArgs struct { 119 // The number of days AWS Config stores historical information. 120 RetentionPeriodInDays pulumi.IntInput 121 } 122 123 func (RetentionConfigurationArgs) ElementType() reflect.Type { 124 return reflect.TypeOf((*retentionConfigurationArgs)(nil)).Elem() 125 } 126 127 type RetentionConfigurationInput interface { 128 pulumi.Input 129 130 ToRetentionConfigurationOutput() RetentionConfigurationOutput 131 ToRetentionConfigurationOutputWithContext(ctx context.Context) RetentionConfigurationOutput 132 } 133 134 func (*RetentionConfiguration) ElementType() reflect.Type { 135 return reflect.TypeOf((**RetentionConfiguration)(nil)).Elem() 136 } 137 138 func (i *RetentionConfiguration) ToRetentionConfigurationOutput() RetentionConfigurationOutput { 139 return i.ToRetentionConfigurationOutputWithContext(context.Background()) 140 } 141 142 func (i *RetentionConfiguration) ToRetentionConfigurationOutputWithContext(ctx context.Context) RetentionConfigurationOutput { 143 return pulumi.ToOutputWithContext(ctx, i).(RetentionConfigurationOutput) 144 } 145 146 // RetentionConfigurationArrayInput is an input type that accepts RetentionConfigurationArray and RetentionConfigurationArrayOutput values. 147 // You can construct a concrete instance of `RetentionConfigurationArrayInput` via: 148 // 149 // RetentionConfigurationArray{ RetentionConfigurationArgs{...} } 150 type RetentionConfigurationArrayInput interface { 151 pulumi.Input 152 153 ToRetentionConfigurationArrayOutput() RetentionConfigurationArrayOutput 154 ToRetentionConfigurationArrayOutputWithContext(context.Context) RetentionConfigurationArrayOutput 155 } 156 157 type RetentionConfigurationArray []RetentionConfigurationInput 158 159 func (RetentionConfigurationArray) ElementType() reflect.Type { 160 return reflect.TypeOf((*[]*RetentionConfiguration)(nil)).Elem() 161 } 162 163 func (i RetentionConfigurationArray) ToRetentionConfigurationArrayOutput() RetentionConfigurationArrayOutput { 164 return i.ToRetentionConfigurationArrayOutputWithContext(context.Background()) 165 } 166 167 func (i RetentionConfigurationArray) ToRetentionConfigurationArrayOutputWithContext(ctx context.Context) RetentionConfigurationArrayOutput { 168 return pulumi.ToOutputWithContext(ctx, i).(RetentionConfigurationArrayOutput) 169 } 170 171 // RetentionConfigurationMapInput is an input type that accepts RetentionConfigurationMap and RetentionConfigurationMapOutput values. 172 // You can construct a concrete instance of `RetentionConfigurationMapInput` via: 173 // 174 // RetentionConfigurationMap{ "key": RetentionConfigurationArgs{...} } 175 type RetentionConfigurationMapInput interface { 176 pulumi.Input 177 178 ToRetentionConfigurationMapOutput() RetentionConfigurationMapOutput 179 ToRetentionConfigurationMapOutputWithContext(context.Context) RetentionConfigurationMapOutput 180 } 181 182 type RetentionConfigurationMap map[string]RetentionConfigurationInput 183 184 func (RetentionConfigurationMap) ElementType() reflect.Type { 185 return reflect.TypeOf((*map[string]*RetentionConfiguration)(nil)).Elem() 186 } 187 188 func (i RetentionConfigurationMap) ToRetentionConfigurationMapOutput() RetentionConfigurationMapOutput { 189 return i.ToRetentionConfigurationMapOutputWithContext(context.Background()) 190 } 191 192 func (i RetentionConfigurationMap) ToRetentionConfigurationMapOutputWithContext(ctx context.Context) RetentionConfigurationMapOutput { 193 return pulumi.ToOutputWithContext(ctx, i).(RetentionConfigurationMapOutput) 194 } 195 196 type RetentionConfigurationOutput struct{ *pulumi.OutputState } 197 198 func (RetentionConfigurationOutput) ElementType() reflect.Type { 199 return reflect.TypeOf((**RetentionConfiguration)(nil)).Elem() 200 } 201 202 func (o RetentionConfigurationOutput) ToRetentionConfigurationOutput() RetentionConfigurationOutput { 203 return o 204 } 205 206 func (o RetentionConfigurationOutput) ToRetentionConfigurationOutputWithContext(ctx context.Context) RetentionConfigurationOutput { 207 return o 208 } 209 210 // The name of the retention configuration object. The object is always named **default**. 211 func (o RetentionConfigurationOutput) Name() pulumi.StringOutput { 212 return o.ApplyT(func(v *RetentionConfiguration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 213 } 214 215 // The number of days AWS Config stores historical information. 216 func (o RetentionConfigurationOutput) RetentionPeriodInDays() pulumi.IntOutput { 217 return o.ApplyT(func(v *RetentionConfiguration) pulumi.IntOutput { return v.RetentionPeriodInDays }).(pulumi.IntOutput) 218 } 219 220 type RetentionConfigurationArrayOutput struct{ *pulumi.OutputState } 221 222 func (RetentionConfigurationArrayOutput) ElementType() reflect.Type { 223 return reflect.TypeOf((*[]*RetentionConfiguration)(nil)).Elem() 224 } 225 226 func (o RetentionConfigurationArrayOutput) ToRetentionConfigurationArrayOutput() RetentionConfigurationArrayOutput { 227 return o 228 } 229 230 func (o RetentionConfigurationArrayOutput) ToRetentionConfigurationArrayOutputWithContext(ctx context.Context) RetentionConfigurationArrayOutput { 231 return o 232 } 233 234 func (o RetentionConfigurationArrayOutput) Index(i pulumi.IntInput) RetentionConfigurationOutput { 235 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RetentionConfiguration { 236 return vs[0].([]*RetentionConfiguration)[vs[1].(int)] 237 }).(RetentionConfigurationOutput) 238 } 239 240 type RetentionConfigurationMapOutput struct{ *pulumi.OutputState } 241 242 func (RetentionConfigurationMapOutput) ElementType() reflect.Type { 243 return reflect.TypeOf((*map[string]*RetentionConfiguration)(nil)).Elem() 244 } 245 246 func (o RetentionConfigurationMapOutput) ToRetentionConfigurationMapOutput() RetentionConfigurationMapOutput { 247 return o 248 } 249 250 func (o RetentionConfigurationMapOutput) ToRetentionConfigurationMapOutputWithContext(ctx context.Context) RetentionConfigurationMapOutput { 251 return o 252 } 253 254 func (o RetentionConfigurationMapOutput) MapIndex(k pulumi.StringInput) RetentionConfigurationOutput { 255 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RetentionConfiguration { 256 return vs[0].(map[string]*RetentionConfiguration)[vs[1].(string)] 257 }).(RetentionConfigurationOutput) 258 } 259 260 func init() { 261 pulumi.RegisterInputType(reflect.TypeOf((*RetentionConfigurationInput)(nil)).Elem(), &RetentionConfiguration{}) 262 pulumi.RegisterInputType(reflect.TypeOf((*RetentionConfigurationArrayInput)(nil)).Elem(), RetentionConfigurationArray{}) 263 pulumi.RegisterInputType(reflect.TypeOf((*RetentionConfigurationMapInput)(nil)).Elem(), RetentionConfigurationMap{}) 264 pulumi.RegisterOutputType(RetentionConfigurationOutput{}) 265 pulumi.RegisterOutputType(RetentionConfigurationArrayOutput{}) 266 pulumi.RegisterOutputType(RetentionConfigurationMapOutput{}) 267 }