github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/backup/regionSettings.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 backup 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 an AWS Backup Region Settings 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/backup" 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 := backup.NewRegionSettings(ctx, "test", &backup.RegionSettingsArgs{ 33 // ResourceTypeOptInPreference: pulumi.BoolMap{ 34 // "Aurora": pulumi.Bool(true), 35 // "DocumentDB": pulumi.Bool(true), 36 // "DynamoDB": pulumi.Bool(true), 37 // "EBS": pulumi.Bool(true), 38 // "EC2": pulumi.Bool(true), 39 // "EFS": pulumi.Bool(true), 40 // "FSx": pulumi.Bool(true), 41 // "Neptune": pulumi.Bool(true), 42 // "RDS": pulumi.Bool(true), 43 // "Storage Gateway": pulumi.Bool(true), 44 // "VirtualMachine": pulumi.Bool(true), 45 // }, 46 // ResourceTypeManagementPreference: pulumi.BoolMap{ 47 // "DynamoDB": pulumi.Bool(true), 48 // "EFS": pulumi.Bool(true), 49 // }, 50 // }) 51 // if err != nil { 52 // return err 53 // } 54 // return nil 55 // }) 56 // } 57 // 58 // ``` 59 // <!--End PulumiCodeChooser --> 60 // 61 // ## Import 62 // 63 // Using `pulumi import`, import Backup Region Settings using the `region`. For example: 64 // 65 // ```sh 66 // $ pulumi import aws:backup/regionSettings:RegionSettings test us-west-2 67 // ``` 68 type RegionSettings struct { 69 pulumi.CustomResourceState 70 71 // A map of services along with the management preferences for the Region. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/aws-backup/latest/devguide/API_UpdateRegionSettings.html#API_UpdateRegionSettings_RequestSyntax). 72 ResourceTypeManagementPreference pulumi.BoolMapOutput `pulumi:"resourceTypeManagementPreference"` 73 // A map of services along with the opt-in preferences for the Region. 74 ResourceTypeOptInPreference pulumi.BoolMapOutput `pulumi:"resourceTypeOptInPreference"` 75 } 76 77 // NewRegionSettings registers a new resource with the given unique name, arguments, and options. 78 func NewRegionSettings(ctx *pulumi.Context, 79 name string, args *RegionSettingsArgs, opts ...pulumi.ResourceOption) (*RegionSettings, error) { 80 if args == nil { 81 return nil, errors.New("missing one or more required arguments") 82 } 83 84 if args.ResourceTypeOptInPreference == nil { 85 return nil, errors.New("invalid value for required argument 'ResourceTypeOptInPreference'") 86 } 87 opts = internal.PkgResourceDefaultOpts(opts) 88 var resource RegionSettings 89 err := ctx.RegisterResource("aws:backup/regionSettings:RegionSettings", name, args, &resource, opts...) 90 if err != nil { 91 return nil, err 92 } 93 return &resource, nil 94 } 95 96 // GetRegionSettings gets an existing RegionSettings resource's state with the given name, ID, and optional 97 // state properties that are used to uniquely qualify the lookup (nil if not required). 98 func GetRegionSettings(ctx *pulumi.Context, 99 name string, id pulumi.IDInput, state *RegionSettingsState, opts ...pulumi.ResourceOption) (*RegionSettings, error) { 100 var resource RegionSettings 101 err := ctx.ReadResource("aws:backup/regionSettings:RegionSettings", name, id, state, &resource, opts...) 102 if err != nil { 103 return nil, err 104 } 105 return &resource, nil 106 } 107 108 // Input properties used for looking up and filtering RegionSettings resources. 109 type regionSettingsState struct { 110 // A map of services along with the management preferences for the Region. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/aws-backup/latest/devguide/API_UpdateRegionSettings.html#API_UpdateRegionSettings_RequestSyntax). 111 ResourceTypeManagementPreference map[string]bool `pulumi:"resourceTypeManagementPreference"` 112 // A map of services along with the opt-in preferences for the Region. 113 ResourceTypeOptInPreference map[string]bool `pulumi:"resourceTypeOptInPreference"` 114 } 115 116 type RegionSettingsState struct { 117 // A map of services along with the management preferences for the Region. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/aws-backup/latest/devguide/API_UpdateRegionSettings.html#API_UpdateRegionSettings_RequestSyntax). 118 ResourceTypeManagementPreference pulumi.BoolMapInput 119 // A map of services along with the opt-in preferences for the Region. 120 ResourceTypeOptInPreference pulumi.BoolMapInput 121 } 122 123 func (RegionSettingsState) ElementType() reflect.Type { 124 return reflect.TypeOf((*regionSettingsState)(nil)).Elem() 125 } 126 127 type regionSettingsArgs struct { 128 // A map of services along with the management preferences for the Region. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/aws-backup/latest/devguide/API_UpdateRegionSettings.html#API_UpdateRegionSettings_RequestSyntax). 129 ResourceTypeManagementPreference map[string]bool `pulumi:"resourceTypeManagementPreference"` 130 // A map of services along with the opt-in preferences for the Region. 131 ResourceTypeOptInPreference map[string]bool `pulumi:"resourceTypeOptInPreference"` 132 } 133 134 // The set of arguments for constructing a RegionSettings resource. 135 type RegionSettingsArgs struct { 136 // A map of services along with the management preferences for the Region. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/aws-backup/latest/devguide/API_UpdateRegionSettings.html#API_UpdateRegionSettings_RequestSyntax). 137 ResourceTypeManagementPreference pulumi.BoolMapInput 138 // A map of services along with the opt-in preferences for the Region. 139 ResourceTypeOptInPreference pulumi.BoolMapInput 140 } 141 142 func (RegionSettingsArgs) ElementType() reflect.Type { 143 return reflect.TypeOf((*regionSettingsArgs)(nil)).Elem() 144 } 145 146 type RegionSettingsInput interface { 147 pulumi.Input 148 149 ToRegionSettingsOutput() RegionSettingsOutput 150 ToRegionSettingsOutputWithContext(ctx context.Context) RegionSettingsOutput 151 } 152 153 func (*RegionSettings) ElementType() reflect.Type { 154 return reflect.TypeOf((**RegionSettings)(nil)).Elem() 155 } 156 157 func (i *RegionSettings) ToRegionSettingsOutput() RegionSettingsOutput { 158 return i.ToRegionSettingsOutputWithContext(context.Background()) 159 } 160 161 func (i *RegionSettings) ToRegionSettingsOutputWithContext(ctx context.Context) RegionSettingsOutput { 162 return pulumi.ToOutputWithContext(ctx, i).(RegionSettingsOutput) 163 } 164 165 // RegionSettingsArrayInput is an input type that accepts RegionSettingsArray and RegionSettingsArrayOutput values. 166 // You can construct a concrete instance of `RegionSettingsArrayInput` via: 167 // 168 // RegionSettingsArray{ RegionSettingsArgs{...} } 169 type RegionSettingsArrayInput interface { 170 pulumi.Input 171 172 ToRegionSettingsArrayOutput() RegionSettingsArrayOutput 173 ToRegionSettingsArrayOutputWithContext(context.Context) RegionSettingsArrayOutput 174 } 175 176 type RegionSettingsArray []RegionSettingsInput 177 178 func (RegionSettingsArray) ElementType() reflect.Type { 179 return reflect.TypeOf((*[]*RegionSettings)(nil)).Elem() 180 } 181 182 func (i RegionSettingsArray) ToRegionSettingsArrayOutput() RegionSettingsArrayOutput { 183 return i.ToRegionSettingsArrayOutputWithContext(context.Background()) 184 } 185 186 func (i RegionSettingsArray) ToRegionSettingsArrayOutputWithContext(ctx context.Context) RegionSettingsArrayOutput { 187 return pulumi.ToOutputWithContext(ctx, i).(RegionSettingsArrayOutput) 188 } 189 190 // RegionSettingsMapInput is an input type that accepts RegionSettingsMap and RegionSettingsMapOutput values. 191 // You can construct a concrete instance of `RegionSettingsMapInput` via: 192 // 193 // RegionSettingsMap{ "key": RegionSettingsArgs{...} } 194 type RegionSettingsMapInput interface { 195 pulumi.Input 196 197 ToRegionSettingsMapOutput() RegionSettingsMapOutput 198 ToRegionSettingsMapOutputWithContext(context.Context) RegionSettingsMapOutput 199 } 200 201 type RegionSettingsMap map[string]RegionSettingsInput 202 203 func (RegionSettingsMap) ElementType() reflect.Type { 204 return reflect.TypeOf((*map[string]*RegionSettings)(nil)).Elem() 205 } 206 207 func (i RegionSettingsMap) ToRegionSettingsMapOutput() RegionSettingsMapOutput { 208 return i.ToRegionSettingsMapOutputWithContext(context.Background()) 209 } 210 211 func (i RegionSettingsMap) ToRegionSettingsMapOutputWithContext(ctx context.Context) RegionSettingsMapOutput { 212 return pulumi.ToOutputWithContext(ctx, i).(RegionSettingsMapOutput) 213 } 214 215 type RegionSettingsOutput struct{ *pulumi.OutputState } 216 217 func (RegionSettingsOutput) ElementType() reflect.Type { 218 return reflect.TypeOf((**RegionSettings)(nil)).Elem() 219 } 220 221 func (o RegionSettingsOutput) ToRegionSettingsOutput() RegionSettingsOutput { 222 return o 223 } 224 225 func (o RegionSettingsOutput) ToRegionSettingsOutputWithContext(ctx context.Context) RegionSettingsOutput { 226 return o 227 } 228 229 // A map of services along with the management preferences for the Region. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/aws-backup/latest/devguide/API_UpdateRegionSettings.html#API_UpdateRegionSettings_RequestSyntax). 230 func (o RegionSettingsOutput) ResourceTypeManagementPreference() pulumi.BoolMapOutput { 231 return o.ApplyT(func(v *RegionSettings) pulumi.BoolMapOutput { return v.ResourceTypeManagementPreference }).(pulumi.BoolMapOutput) 232 } 233 234 // A map of services along with the opt-in preferences for the Region. 235 func (o RegionSettingsOutput) ResourceTypeOptInPreference() pulumi.BoolMapOutput { 236 return o.ApplyT(func(v *RegionSettings) pulumi.BoolMapOutput { return v.ResourceTypeOptInPreference }).(pulumi.BoolMapOutput) 237 } 238 239 type RegionSettingsArrayOutput struct{ *pulumi.OutputState } 240 241 func (RegionSettingsArrayOutput) ElementType() reflect.Type { 242 return reflect.TypeOf((*[]*RegionSettings)(nil)).Elem() 243 } 244 245 func (o RegionSettingsArrayOutput) ToRegionSettingsArrayOutput() RegionSettingsArrayOutput { 246 return o 247 } 248 249 func (o RegionSettingsArrayOutput) ToRegionSettingsArrayOutputWithContext(ctx context.Context) RegionSettingsArrayOutput { 250 return o 251 } 252 253 func (o RegionSettingsArrayOutput) Index(i pulumi.IntInput) RegionSettingsOutput { 254 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RegionSettings { 255 return vs[0].([]*RegionSettings)[vs[1].(int)] 256 }).(RegionSettingsOutput) 257 } 258 259 type RegionSettingsMapOutput struct{ *pulumi.OutputState } 260 261 func (RegionSettingsMapOutput) ElementType() reflect.Type { 262 return reflect.TypeOf((*map[string]*RegionSettings)(nil)).Elem() 263 } 264 265 func (o RegionSettingsMapOutput) ToRegionSettingsMapOutput() RegionSettingsMapOutput { 266 return o 267 } 268 269 func (o RegionSettingsMapOutput) ToRegionSettingsMapOutputWithContext(ctx context.Context) RegionSettingsMapOutput { 270 return o 271 } 272 273 func (o RegionSettingsMapOutput) MapIndex(k pulumi.StringInput) RegionSettingsOutput { 274 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RegionSettings { 275 return vs[0].(map[string]*RegionSettings)[vs[1].(string)] 276 }).(RegionSettingsOutput) 277 } 278 279 func init() { 280 pulumi.RegisterInputType(reflect.TypeOf((*RegionSettingsInput)(nil)).Elem(), &RegionSettings{}) 281 pulumi.RegisterInputType(reflect.TypeOf((*RegionSettingsArrayInput)(nil)).Elem(), RegionSettingsArray{}) 282 pulumi.RegisterInputType(reflect.TypeOf((*RegionSettingsMapInput)(nil)).Elem(), RegionSettingsMap{}) 283 pulumi.RegisterOutputType(RegionSettingsOutput{}) 284 pulumi.RegisterOutputType(RegionSettingsArrayOutput{}) 285 pulumi.RegisterOutputType(RegionSettingsMapOutput{}) 286 }