github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/sesv2/accountVdmAttributes.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 sesv2 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 // Resource for managing an AWS SESv2 (Simple Email V2) Account VDM Attributes. 16 // 17 // ## Example Usage 18 // 19 // ### Basic Usage 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2" 28 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 29 // 30 // ) 31 // 32 // func main() { 33 // pulumi.Run(func(ctx *pulumi.Context) error { 34 // _, err := sesv2.NewAccountVdmAttributes(ctx, "example", &sesv2.AccountVdmAttributesArgs{ 35 // VdmEnabled: pulumi.String("ENABLED"), 36 // DashboardAttributes: &sesv2.AccountVdmAttributesDashboardAttributesArgs{ 37 // EngagementMetrics: pulumi.String("ENABLED"), 38 // }, 39 // GuardianAttributes: &sesv2.AccountVdmAttributesGuardianAttributesArgs{ 40 // OptimizedSharedDelivery: pulumi.String("ENABLED"), 41 // }, 42 // }) 43 // if err != nil { 44 // return err 45 // } 46 // return nil 47 // }) 48 // } 49 // 50 // ``` 51 // <!--End PulumiCodeChooser --> 52 // 53 // ## Import 54 // 55 // Using `pulumi import`, import SESv2 (Simple Email V2) Account VDM Attributes using the word `ses-account-vdm-attributes`. For example: 56 // 57 // ```sh 58 // $ pulumi import aws:sesv2/accountVdmAttributes:AccountVdmAttributes example ses-account-vdm-attributes 59 // ``` 60 type AccountVdmAttributes struct { 61 pulumi.CustomResourceState 62 63 // Specifies additional settings for your VDM configuration as applicable to the Dashboard. 64 DashboardAttributes AccountVdmAttributesDashboardAttributesOutput `pulumi:"dashboardAttributes"` 65 // Specifies additional settings for your VDM configuration as applicable to the Guardian. 66 GuardianAttributes AccountVdmAttributesGuardianAttributesOutput `pulumi:"guardianAttributes"` 67 // Specifies the status of your VDM configuration. Valid values: `ENABLED`, `DISABLED`. 68 // 69 // The following arguments are optional: 70 VdmEnabled pulumi.StringOutput `pulumi:"vdmEnabled"` 71 } 72 73 // NewAccountVdmAttributes registers a new resource with the given unique name, arguments, and options. 74 func NewAccountVdmAttributes(ctx *pulumi.Context, 75 name string, args *AccountVdmAttributesArgs, opts ...pulumi.ResourceOption) (*AccountVdmAttributes, error) { 76 if args == nil { 77 return nil, errors.New("missing one or more required arguments") 78 } 79 80 if args.VdmEnabled == nil { 81 return nil, errors.New("invalid value for required argument 'VdmEnabled'") 82 } 83 opts = internal.PkgResourceDefaultOpts(opts) 84 var resource AccountVdmAttributes 85 err := ctx.RegisterResource("aws:sesv2/accountVdmAttributes:AccountVdmAttributes", name, args, &resource, opts...) 86 if err != nil { 87 return nil, err 88 } 89 return &resource, nil 90 } 91 92 // GetAccountVdmAttributes gets an existing AccountVdmAttributes resource's state with the given name, ID, and optional 93 // state properties that are used to uniquely qualify the lookup (nil if not required). 94 func GetAccountVdmAttributes(ctx *pulumi.Context, 95 name string, id pulumi.IDInput, state *AccountVdmAttributesState, opts ...pulumi.ResourceOption) (*AccountVdmAttributes, error) { 96 var resource AccountVdmAttributes 97 err := ctx.ReadResource("aws:sesv2/accountVdmAttributes:AccountVdmAttributes", name, id, state, &resource, opts...) 98 if err != nil { 99 return nil, err 100 } 101 return &resource, nil 102 } 103 104 // Input properties used for looking up and filtering AccountVdmAttributes resources. 105 type accountVdmAttributesState struct { 106 // Specifies additional settings for your VDM configuration as applicable to the Dashboard. 107 DashboardAttributes *AccountVdmAttributesDashboardAttributes `pulumi:"dashboardAttributes"` 108 // Specifies additional settings for your VDM configuration as applicable to the Guardian. 109 GuardianAttributes *AccountVdmAttributesGuardianAttributes `pulumi:"guardianAttributes"` 110 // Specifies the status of your VDM configuration. Valid values: `ENABLED`, `DISABLED`. 111 // 112 // The following arguments are optional: 113 VdmEnabled *string `pulumi:"vdmEnabled"` 114 } 115 116 type AccountVdmAttributesState struct { 117 // Specifies additional settings for your VDM configuration as applicable to the Dashboard. 118 DashboardAttributes AccountVdmAttributesDashboardAttributesPtrInput 119 // Specifies additional settings for your VDM configuration as applicable to the Guardian. 120 GuardianAttributes AccountVdmAttributesGuardianAttributesPtrInput 121 // Specifies the status of your VDM configuration. Valid values: `ENABLED`, `DISABLED`. 122 // 123 // The following arguments are optional: 124 VdmEnabled pulumi.StringPtrInput 125 } 126 127 func (AccountVdmAttributesState) ElementType() reflect.Type { 128 return reflect.TypeOf((*accountVdmAttributesState)(nil)).Elem() 129 } 130 131 type accountVdmAttributesArgs struct { 132 // Specifies additional settings for your VDM configuration as applicable to the Dashboard. 133 DashboardAttributes *AccountVdmAttributesDashboardAttributes `pulumi:"dashboardAttributes"` 134 // Specifies additional settings for your VDM configuration as applicable to the Guardian. 135 GuardianAttributes *AccountVdmAttributesGuardianAttributes `pulumi:"guardianAttributes"` 136 // Specifies the status of your VDM configuration. Valid values: `ENABLED`, `DISABLED`. 137 // 138 // The following arguments are optional: 139 VdmEnabled string `pulumi:"vdmEnabled"` 140 } 141 142 // The set of arguments for constructing a AccountVdmAttributes resource. 143 type AccountVdmAttributesArgs struct { 144 // Specifies additional settings for your VDM configuration as applicable to the Dashboard. 145 DashboardAttributes AccountVdmAttributesDashboardAttributesPtrInput 146 // Specifies additional settings for your VDM configuration as applicable to the Guardian. 147 GuardianAttributes AccountVdmAttributesGuardianAttributesPtrInput 148 // Specifies the status of your VDM configuration. Valid values: `ENABLED`, `DISABLED`. 149 // 150 // The following arguments are optional: 151 VdmEnabled pulumi.StringInput 152 } 153 154 func (AccountVdmAttributesArgs) ElementType() reflect.Type { 155 return reflect.TypeOf((*accountVdmAttributesArgs)(nil)).Elem() 156 } 157 158 type AccountVdmAttributesInput interface { 159 pulumi.Input 160 161 ToAccountVdmAttributesOutput() AccountVdmAttributesOutput 162 ToAccountVdmAttributesOutputWithContext(ctx context.Context) AccountVdmAttributesOutput 163 } 164 165 func (*AccountVdmAttributes) ElementType() reflect.Type { 166 return reflect.TypeOf((**AccountVdmAttributes)(nil)).Elem() 167 } 168 169 func (i *AccountVdmAttributes) ToAccountVdmAttributesOutput() AccountVdmAttributesOutput { 170 return i.ToAccountVdmAttributesOutputWithContext(context.Background()) 171 } 172 173 func (i *AccountVdmAttributes) ToAccountVdmAttributesOutputWithContext(ctx context.Context) AccountVdmAttributesOutput { 174 return pulumi.ToOutputWithContext(ctx, i).(AccountVdmAttributesOutput) 175 } 176 177 // AccountVdmAttributesArrayInput is an input type that accepts AccountVdmAttributesArray and AccountVdmAttributesArrayOutput values. 178 // You can construct a concrete instance of `AccountVdmAttributesArrayInput` via: 179 // 180 // AccountVdmAttributesArray{ AccountVdmAttributesArgs{...} } 181 type AccountVdmAttributesArrayInput interface { 182 pulumi.Input 183 184 ToAccountVdmAttributesArrayOutput() AccountVdmAttributesArrayOutput 185 ToAccountVdmAttributesArrayOutputWithContext(context.Context) AccountVdmAttributesArrayOutput 186 } 187 188 type AccountVdmAttributesArray []AccountVdmAttributesInput 189 190 func (AccountVdmAttributesArray) ElementType() reflect.Type { 191 return reflect.TypeOf((*[]*AccountVdmAttributes)(nil)).Elem() 192 } 193 194 func (i AccountVdmAttributesArray) ToAccountVdmAttributesArrayOutput() AccountVdmAttributesArrayOutput { 195 return i.ToAccountVdmAttributesArrayOutputWithContext(context.Background()) 196 } 197 198 func (i AccountVdmAttributesArray) ToAccountVdmAttributesArrayOutputWithContext(ctx context.Context) AccountVdmAttributesArrayOutput { 199 return pulumi.ToOutputWithContext(ctx, i).(AccountVdmAttributesArrayOutput) 200 } 201 202 // AccountVdmAttributesMapInput is an input type that accepts AccountVdmAttributesMap and AccountVdmAttributesMapOutput values. 203 // You can construct a concrete instance of `AccountVdmAttributesMapInput` via: 204 // 205 // AccountVdmAttributesMap{ "key": AccountVdmAttributesArgs{...} } 206 type AccountVdmAttributesMapInput interface { 207 pulumi.Input 208 209 ToAccountVdmAttributesMapOutput() AccountVdmAttributesMapOutput 210 ToAccountVdmAttributesMapOutputWithContext(context.Context) AccountVdmAttributesMapOutput 211 } 212 213 type AccountVdmAttributesMap map[string]AccountVdmAttributesInput 214 215 func (AccountVdmAttributesMap) ElementType() reflect.Type { 216 return reflect.TypeOf((*map[string]*AccountVdmAttributes)(nil)).Elem() 217 } 218 219 func (i AccountVdmAttributesMap) ToAccountVdmAttributesMapOutput() AccountVdmAttributesMapOutput { 220 return i.ToAccountVdmAttributesMapOutputWithContext(context.Background()) 221 } 222 223 func (i AccountVdmAttributesMap) ToAccountVdmAttributesMapOutputWithContext(ctx context.Context) AccountVdmAttributesMapOutput { 224 return pulumi.ToOutputWithContext(ctx, i).(AccountVdmAttributesMapOutput) 225 } 226 227 type AccountVdmAttributesOutput struct{ *pulumi.OutputState } 228 229 func (AccountVdmAttributesOutput) ElementType() reflect.Type { 230 return reflect.TypeOf((**AccountVdmAttributes)(nil)).Elem() 231 } 232 233 func (o AccountVdmAttributesOutput) ToAccountVdmAttributesOutput() AccountVdmAttributesOutput { 234 return o 235 } 236 237 func (o AccountVdmAttributesOutput) ToAccountVdmAttributesOutputWithContext(ctx context.Context) AccountVdmAttributesOutput { 238 return o 239 } 240 241 // Specifies additional settings for your VDM configuration as applicable to the Dashboard. 242 func (o AccountVdmAttributesOutput) DashboardAttributes() AccountVdmAttributesDashboardAttributesOutput { 243 return o.ApplyT(func(v *AccountVdmAttributes) AccountVdmAttributesDashboardAttributesOutput { 244 return v.DashboardAttributes 245 }).(AccountVdmAttributesDashboardAttributesOutput) 246 } 247 248 // Specifies additional settings for your VDM configuration as applicable to the Guardian. 249 func (o AccountVdmAttributesOutput) GuardianAttributes() AccountVdmAttributesGuardianAttributesOutput { 250 return o.ApplyT(func(v *AccountVdmAttributes) AccountVdmAttributesGuardianAttributesOutput { 251 return v.GuardianAttributes 252 }).(AccountVdmAttributesGuardianAttributesOutput) 253 } 254 255 // Specifies the status of your VDM configuration. Valid values: `ENABLED`, `DISABLED`. 256 // 257 // The following arguments are optional: 258 func (o AccountVdmAttributesOutput) VdmEnabled() pulumi.StringOutput { 259 return o.ApplyT(func(v *AccountVdmAttributes) pulumi.StringOutput { return v.VdmEnabled }).(pulumi.StringOutput) 260 } 261 262 type AccountVdmAttributesArrayOutput struct{ *pulumi.OutputState } 263 264 func (AccountVdmAttributesArrayOutput) ElementType() reflect.Type { 265 return reflect.TypeOf((*[]*AccountVdmAttributes)(nil)).Elem() 266 } 267 268 func (o AccountVdmAttributesArrayOutput) ToAccountVdmAttributesArrayOutput() AccountVdmAttributesArrayOutput { 269 return o 270 } 271 272 func (o AccountVdmAttributesArrayOutput) ToAccountVdmAttributesArrayOutputWithContext(ctx context.Context) AccountVdmAttributesArrayOutput { 273 return o 274 } 275 276 func (o AccountVdmAttributesArrayOutput) Index(i pulumi.IntInput) AccountVdmAttributesOutput { 277 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AccountVdmAttributes { 278 return vs[0].([]*AccountVdmAttributes)[vs[1].(int)] 279 }).(AccountVdmAttributesOutput) 280 } 281 282 type AccountVdmAttributesMapOutput struct{ *pulumi.OutputState } 283 284 func (AccountVdmAttributesMapOutput) ElementType() reflect.Type { 285 return reflect.TypeOf((*map[string]*AccountVdmAttributes)(nil)).Elem() 286 } 287 288 func (o AccountVdmAttributesMapOutput) ToAccountVdmAttributesMapOutput() AccountVdmAttributesMapOutput { 289 return o 290 } 291 292 func (o AccountVdmAttributesMapOutput) ToAccountVdmAttributesMapOutputWithContext(ctx context.Context) AccountVdmAttributesMapOutput { 293 return o 294 } 295 296 func (o AccountVdmAttributesMapOutput) MapIndex(k pulumi.StringInput) AccountVdmAttributesOutput { 297 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AccountVdmAttributes { 298 return vs[0].(map[string]*AccountVdmAttributes)[vs[1].(string)] 299 }).(AccountVdmAttributesOutput) 300 } 301 302 func init() { 303 pulumi.RegisterInputType(reflect.TypeOf((*AccountVdmAttributesInput)(nil)).Elem(), &AccountVdmAttributes{}) 304 pulumi.RegisterInputType(reflect.TypeOf((*AccountVdmAttributesArrayInput)(nil)).Elem(), AccountVdmAttributesArray{}) 305 pulumi.RegisterInputType(reflect.TypeOf((*AccountVdmAttributesMapInput)(nil)).Elem(), AccountVdmAttributesMap{}) 306 pulumi.RegisterOutputType(AccountVdmAttributesOutput{}) 307 pulumi.RegisterOutputType(AccountVdmAttributesArrayOutput{}) 308 pulumi.RegisterOutputType(AccountVdmAttributesMapOutput{}) 309 }