github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ses/domainIdentityVerification.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 ses 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 // Represents a successful verification of an SES domain identity. 16 // 17 // Most commonly, this resource is used together with `route53.Record` and 18 // `ses.DomainIdentity` to request an SES domain identity, 19 // deploy the required DNS verification records, and wait for verification to complete. 20 // 21 // > **WARNING:** This resource implements a part of the verification workflow. It does not represent a real-world entity in AWS, therefore changing or deleting this resource on its own has no immediate effect. 22 // 23 // ## Example Usage 24 // 25 // <!--Start PulumiCodeChooser --> 26 // ```go 27 // package main 28 // 29 // import ( 30 // 31 // "fmt" 32 // 33 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53" 34 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses" 35 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 36 // 37 // ) 38 // 39 // func main() { 40 // pulumi.Run(func(ctx *pulumi.Context) error { 41 // example, err := ses.NewDomainIdentity(ctx, "example", &ses.DomainIdentityArgs{ 42 // Domain: pulumi.String("example.com"), 43 // }) 44 // if err != nil { 45 // return err 46 // } 47 // exampleAmazonsesVerificationRecord, err := route53.NewRecord(ctx, "example_amazonses_verification_record", &route53.RecordArgs{ 48 // ZoneId: pulumi.Any(exampleAwsRoute53Zone.ZoneId), 49 // Name: example.ID().ApplyT(func(id string) (string, error) { 50 // return fmt.Sprintf("_amazonses.%v", id), nil 51 // }).(pulumi.StringOutput), 52 // Type: pulumi.String(route53.RecordTypeTXT), 53 // Ttl: pulumi.Int(600), 54 // Records: pulumi.StringArray{ 55 // example.VerificationToken, 56 // }, 57 // }) 58 // if err != nil { 59 // return err 60 // } 61 // _, err = ses.NewDomainIdentityVerification(ctx, "example_verification", &ses.DomainIdentityVerificationArgs{ 62 // Domain: example.ID(), 63 // }, pulumi.DependsOn([]pulumi.Resource{ 64 // exampleAmazonsesVerificationRecord, 65 // })) 66 // if err != nil { 67 // return err 68 // } 69 // return nil 70 // }) 71 // } 72 // 73 // ``` 74 // <!--End PulumiCodeChooser --> 75 type DomainIdentityVerification struct { 76 pulumi.CustomResourceState 77 78 // The ARN of the domain identity. 79 Arn pulumi.StringOutput `pulumi:"arn"` 80 // The domain name of the SES domain identity to verify. 81 Domain pulumi.StringOutput `pulumi:"domain"` 82 } 83 84 // NewDomainIdentityVerification registers a new resource with the given unique name, arguments, and options. 85 func NewDomainIdentityVerification(ctx *pulumi.Context, 86 name string, args *DomainIdentityVerificationArgs, opts ...pulumi.ResourceOption) (*DomainIdentityVerification, error) { 87 if args == nil { 88 return nil, errors.New("missing one or more required arguments") 89 } 90 91 if args.Domain == nil { 92 return nil, errors.New("invalid value for required argument 'Domain'") 93 } 94 opts = internal.PkgResourceDefaultOpts(opts) 95 var resource DomainIdentityVerification 96 err := ctx.RegisterResource("aws:ses/domainIdentityVerification:DomainIdentityVerification", name, args, &resource, opts...) 97 if err != nil { 98 return nil, err 99 } 100 return &resource, nil 101 } 102 103 // GetDomainIdentityVerification gets an existing DomainIdentityVerification resource's state with the given name, ID, and optional 104 // state properties that are used to uniquely qualify the lookup (nil if not required). 105 func GetDomainIdentityVerification(ctx *pulumi.Context, 106 name string, id pulumi.IDInput, state *DomainIdentityVerificationState, opts ...pulumi.ResourceOption) (*DomainIdentityVerification, error) { 107 var resource DomainIdentityVerification 108 err := ctx.ReadResource("aws:ses/domainIdentityVerification:DomainIdentityVerification", name, id, state, &resource, opts...) 109 if err != nil { 110 return nil, err 111 } 112 return &resource, nil 113 } 114 115 // Input properties used for looking up and filtering DomainIdentityVerification resources. 116 type domainIdentityVerificationState struct { 117 // The ARN of the domain identity. 118 Arn *string `pulumi:"arn"` 119 // The domain name of the SES domain identity to verify. 120 Domain *string `pulumi:"domain"` 121 } 122 123 type DomainIdentityVerificationState struct { 124 // The ARN of the domain identity. 125 Arn pulumi.StringPtrInput 126 // The domain name of the SES domain identity to verify. 127 Domain pulumi.StringPtrInput 128 } 129 130 func (DomainIdentityVerificationState) ElementType() reflect.Type { 131 return reflect.TypeOf((*domainIdentityVerificationState)(nil)).Elem() 132 } 133 134 type domainIdentityVerificationArgs struct { 135 // The domain name of the SES domain identity to verify. 136 Domain string `pulumi:"domain"` 137 } 138 139 // The set of arguments for constructing a DomainIdentityVerification resource. 140 type DomainIdentityVerificationArgs struct { 141 // The domain name of the SES domain identity to verify. 142 Domain pulumi.StringInput 143 } 144 145 func (DomainIdentityVerificationArgs) ElementType() reflect.Type { 146 return reflect.TypeOf((*domainIdentityVerificationArgs)(nil)).Elem() 147 } 148 149 type DomainIdentityVerificationInput interface { 150 pulumi.Input 151 152 ToDomainIdentityVerificationOutput() DomainIdentityVerificationOutput 153 ToDomainIdentityVerificationOutputWithContext(ctx context.Context) DomainIdentityVerificationOutput 154 } 155 156 func (*DomainIdentityVerification) ElementType() reflect.Type { 157 return reflect.TypeOf((**DomainIdentityVerification)(nil)).Elem() 158 } 159 160 func (i *DomainIdentityVerification) ToDomainIdentityVerificationOutput() DomainIdentityVerificationOutput { 161 return i.ToDomainIdentityVerificationOutputWithContext(context.Background()) 162 } 163 164 func (i *DomainIdentityVerification) ToDomainIdentityVerificationOutputWithContext(ctx context.Context) DomainIdentityVerificationOutput { 165 return pulumi.ToOutputWithContext(ctx, i).(DomainIdentityVerificationOutput) 166 } 167 168 // DomainIdentityVerificationArrayInput is an input type that accepts DomainIdentityVerificationArray and DomainIdentityVerificationArrayOutput values. 169 // You can construct a concrete instance of `DomainIdentityVerificationArrayInput` via: 170 // 171 // DomainIdentityVerificationArray{ DomainIdentityVerificationArgs{...} } 172 type DomainIdentityVerificationArrayInput interface { 173 pulumi.Input 174 175 ToDomainIdentityVerificationArrayOutput() DomainIdentityVerificationArrayOutput 176 ToDomainIdentityVerificationArrayOutputWithContext(context.Context) DomainIdentityVerificationArrayOutput 177 } 178 179 type DomainIdentityVerificationArray []DomainIdentityVerificationInput 180 181 func (DomainIdentityVerificationArray) ElementType() reflect.Type { 182 return reflect.TypeOf((*[]*DomainIdentityVerification)(nil)).Elem() 183 } 184 185 func (i DomainIdentityVerificationArray) ToDomainIdentityVerificationArrayOutput() DomainIdentityVerificationArrayOutput { 186 return i.ToDomainIdentityVerificationArrayOutputWithContext(context.Background()) 187 } 188 189 func (i DomainIdentityVerificationArray) ToDomainIdentityVerificationArrayOutputWithContext(ctx context.Context) DomainIdentityVerificationArrayOutput { 190 return pulumi.ToOutputWithContext(ctx, i).(DomainIdentityVerificationArrayOutput) 191 } 192 193 // DomainIdentityVerificationMapInput is an input type that accepts DomainIdentityVerificationMap and DomainIdentityVerificationMapOutput values. 194 // You can construct a concrete instance of `DomainIdentityVerificationMapInput` via: 195 // 196 // DomainIdentityVerificationMap{ "key": DomainIdentityVerificationArgs{...} } 197 type DomainIdentityVerificationMapInput interface { 198 pulumi.Input 199 200 ToDomainIdentityVerificationMapOutput() DomainIdentityVerificationMapOutput 201 ToDomainIdentityVerificationMapOutputWithContext(context.Context) DomainIdentityVerificationMapOutput 202 } 203 204 type DomainIdentityVerificationMap map[string]DomainIdentityVerificationInput 205 206 func (DomainIdentityVerificationMap) ElementType() reflect.Type { 207 return reflect.TypeOf((*map[string]*DomainIdentityVerification)(nil)).Elem() 208 } 209 210 func (i DomainIdentityVerificationMap) ToDomainIdentityVerificationMapOutput() DomainIdentityVerificationMapOutput { 211 return i.ToDomainIdentityVerificationMapOutputWithContext(context.Background()) 212 } 213 214 func (i DomainIdentityVerificationMap) ToDomainIdentityVerificationMapOutputWithContext(ctx context.Context) DomainIdentityVerificationMapOutput { 215 return pulumi.ToOutputWithContext(ctx, i).(DomainIdentityVerificationMapOutput) 216 } 217 218 type DomainIdentityVerificationOutput struct{ *pulumi.OutputState } 219 220 func (DomainIdentityVerificationOutput) ElementType() reflect.Type { 221 return reflect.TypeOf((**DomainIdentityVerification)(nil)).Elem() 222 } 223 224 func (o DomainIdentityVerificationOutput) ToDomainIdentityVerificationOutput() DomainIdentityVerificationOutput { 225 return o 226 } 227 228 func (o DomainIdentityVerificationOutput) ToDomainIdentityVerificationOutputWithContext(ctx context.Context) DomainIdentityVerificationOutput { 229 return o 230 } 231 232 // The ARN of the domain identity. 233 func (o DomainIdentityVerificationOutput) Arn() pulumi.StringOutput { 234 return o.ApplyT(func(v *DomainIdentityVerification) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 235 } 236 237 // The domain name of the SES domain identity to verify. 238 func (o DomainIdentityVerificationOutput) Domain() pulumi.StringOutput { 239 return o.ApplyT(func(v *DomainIdentityVerification) pulumi.StringOutput { return v.Domain }).(pulumi.StringOutput) 240 } 241 242 type DomainIdentityVerificationArrayOutput struct{ *pulumi.OutputState } 243 244 func (DomainIdentityVerificationArrayOutput) ElementType() reflect.Type { 245 return reflect.TypeOf((*[]*DomainIdentityVerification)(nil)).Elem() 246 } 247 248 func (o DomainIdentityVerificationArrayOutput) ToDomainIdentityVerificationArrayOutput() DomainIdentityVerificationArrayOutput { 249 return o 250 } 251 252 func (o DomainIdentityVerificationArrayOutput) ToDomainIdentityVerificationArrayOutputWithContext(ctx context.Context) DomainIdentityVerificationArrayOutput { 253 return o 254 } 255 256 func (o DomainIdentityVerificationArrayOutput) Index(i pulumi.IntInput) DomainIdentityVerificationOutput { 257 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DomainIdentityVerification { 258 return vs[0].([]*DomainIdentityVerification)[vs[1].(int)] 259 }).(DomainIdentityVerificationOutput) 260 } 261 262 type DomainIdentityVerificationMapOutput struct{ *pulumi.OutputState } 263 264 func (DomainIdentityVerificationMapOutput) ElementType() reflect.Type { 265 return reflect.TypeOf((*map[string]*DomainIdentityVerification)(nil)).Elem() 266 } 267 268 func (o DomainIdentityVerificationMapOutput) ToDomainIdentityVerificationMapOutput() DomainIdentityVerificationMapOutput { 269 return o 270 } 271 272 func (o DomainIdentityVerificationMapOutput) ToDomainIdentityVerificationMapOutputWithContext(ctx context.Context) DomainIdentityVerificationMapOutput { 273 return o 274 } 275 276 func (o DomainIdentityVerificationMapOutput) MapIndex(k pulumi.StringInput) DomainIdentityVerificationOutput { 277 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DomainIdentityVerification { 278 return vs[0].(map[string]*DomainIdentityVerification)[vs[1].(string)] 279 }).(DomainIdentityVerificationOutput) 280 } 281 282 func init() { 283 pulumi.RegisterInputType(reflect.TypeOf((*DomainIdentityVerificationInput)(nil)).Elem(), &DomainIdentityVerification{}) 284 pulumi.RegisterInputType(reflect.TypeOf((*DomainIdentityVerificationArrayInput)(nil)).Elem(), DomainIdentityVerificationArray{}) 285 pulumi.RegisterInputType(reflect.TypeOf((*DomainIdentityVerificationMapInput)(nil)).Elem(), DomainIdentityVerificationMap{}) 286 pulumi.RegisterOutputType(DomainIdentityVerificationOutput{}) 287 pulumi.RegisterOutputType(DomainIdentityVerificationArrayOutput{}) 288 pulumi.RegisterOutputType(DomainIdentityVerificationMapOutput{}) 289 }