github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/route53/trafficPolicyInstance.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 route53 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 Route53 traffic policy instance 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/route53" 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 := route53.NewTrafficPolicyInstance(ctx, "test", &route53.TrafficPolicyInstanceArgs{ 33 // Name: pulumi.String("test.example.com"), 34 // TrafficPolicyId: pulumi.String("b3gb108f-ea6f-45a5-baab-9d112d8b4037"), 35 // TrafficPolicyVersion: pulumi.Int(1), 36 // HostedZoneId: pulumi.String("Z033120931TAQO548OGJC"), 37 // Ttl: pulumi.Int(360), 38 // }) 39 // if err != nil { 40 // return err 41 // } 42 // return nil 43 // }) 44 // } 45 // 46 // ``` 47 // <!--End PulumiCodeChooser --> 48 // 49 // ## Import 50 // 51 // Using `pulumi import`, import Route53 traffic policy instance using its id. For example: 52 // 53 // ```sh 54 // $ pulumi import aws:route53/trafficPolicyInstance:TrafficPolicyInstance test df579d9a-6396-410e-ac22-e7ad60cf9e7e 55 // ``` 56 type TrafficPolicyInstance struct { 57 pulumi.CustomResourceState 58 59 // ID of the hosted zone that you want Amazon Route 53 to create resource record sets in by using the configuration in a traffic policy. 60 HostedZoneId pulumi.StringOutput `pulumi:"hostedZoneId"` 61 // Domain name for which Amazon Route 53 responds to DNS queries by using the resource record sets that Route 53 creates for this traffic policy instance. 62 Name pulumi.StringOutput `pulumi:"name"` 63 // ID of the traffic policy that you want to use to create resource record sets in the specified hosted zone. 64 TrafficPolicyId pulumi.StringOutput `pulumi:"trafficPolicyId"` 65 // Version of the traffic policy 66 TrafficPolicyVersion pulumi.IntOutput `pulumi:"trafficPolicyVersion"` 67 // TTL that you want Amazon Route 53 to assign to all the resource record sets that it creates in the specified hosted zone. 68 Ttl pulumi.IntOutput `pulumi:"ttl"` 69 } 70 71 // NewTrafficPolicyInstance registers a new resource with the given unique name, arguments, and options. 72 func NewTrafficPolicyInstance(ctx *pulumi.Context, 73 name string, args *TrafficPolicyInstanceArgs, opts ...pulumi.ResourceOption) (*TrafficPolicyInstance, error) { 74 if args == nil { 75 return nil, errors.New("missing one or more required arguments") 76 } 77 78 if args.HostedZoneId == nil { 79 return nil, errors.New("invalid value for required argument 'HostedZoneId'") 80 } 81 if args.TrafficPolicyId == nil { 82 return nil, errors.New("invalid value for required argument 'TrafficPolicyId'") 83 } 84 if args.TrafficPolicyVersion == nil { 85 return nil, errors.New("invalid value for required argument 'TrafficPolicyVersion'") 86 } 87 if args.Ttl == nil { 88 return nil, errors.New("invalid value for required argument 'Ttl'") 89 } 90 opts = internal.PkgResourceDefaultOpts(opts) 91 var resource TrafficPolicyInstance 92 err := ctx.RegisterResource("aws:route53/trafficPolicyInstance:TrafficPolicyInstance", name, args, &resource, opts...) 93 if err != nil { 94 return nil, err 95 } 96 return &resource, nil 97 } 98 99 // GetTrafficPolicyInstance gets an existing TrafficPolicyInstance resource's state with the given name, ID, and optional 100 // state properties that are used to uniquely qualify the lookup (nil if not required). 101 func GetTrafficPolicyInstance(ctx *pulumi.Context, 102 name string, id pulumi.IDInput, state *TrafficPolicyInstanceState, opts ...pulumi.ResourceOption) (*TrafficPolicyInstance, error) { 103 var resource TrafficPolicyInstance 104 err := ctx.ReadResource("aws:route53/trafficPolicyInstance:TrafficPolicyInstance", name, id, state, &resource, opts...) 105 if err != nil { 106 return nil, err 107 } 108 return &resource, nil 109 } 110 111 // Input properties used for looking up and filtering TrafficPolicyInstance resources. 112 type trafficPolicyInstanceState struct { 113 // ID of the hosted zone that you want Amazon Route 53 to create resource record sets in by using the configuration in a traffic policy. 114 HostedZoneId *string `pulumi:"hostedZoneId"` 115 // Domain name for which Amazon Route 53 responds to DNS queries by using the resource record sets that Route 53 creates for this traffic policy instance. 116 Name *string `pulumi:"name"` 117 // ID of the traffic policy that you want to use to create resource record sets in the specified hosted zone. 118 TrafficPolicyId *string `pulumi:"trafficPolicyId"` 119 // Version of the traffic policy 120 TrafficPolicyVersion *int `pulumi:"trafficPolicyVersion"` 121 // TTL that you want Amazon Route 53 to assign to all the resource record sets that it creates in the specified hosted zone. 122 Ttl *int `pulumi:"ttl"` 123 } 124 125 type TrafficPolicyInstanceState struct { 126 // ID of the hosted zone that you want Amazon Route 53 to create resource record sets in by using the configuration in a traffic policy. 127 HostedZoneId pulumi.StringPtrInput 128 // Domain name for which Amazon Route 53 responds to DNS queries by using the resource record sets that Route 53 creates for this traffic policy instance. 129 Name pulumi.StringPtrInput 130 // ID of the traffic policy that you want to use to create resource record sets in the specified hosted zone. 131 TrafficPolicyId pulumi.StringPtrInput 132 // Version of the traffic policy 133 TrafficPolicyVersion pulumi.IntPtrInput 134 // TTL that you want Amazon Route 53 to assign to all the resource record sets that it creates in the specified hosted zone. 135 Ttl pulumi.IntPtrInput 136 } 137 138 func (TrafficPolicyInstanceState) ElementType() reflect.Type { 139 return reflect.TypeOf((*trafficPolicyInstanceState)(nil)).Elem() 140 } 141 142 type trafficPolicyInstanceArgs struct { 143 // ID of the hosted zone that you want Amazon Route 53 to create resource record sets in by using the configuration in a traffic policy. 144 HostedZoneId string `pulumi:"hostedZoneId"` 145 // Domain name for which Amazon Route 53 responds to DNS queries by using the resource record sets that Route 53 creates for this traffic policy instance. 146 Name *string `pulumi:"name"` 147 // ID of the traffic policy that you want to use to create resource record sets in the specified hosted zone. 148 TrafficPolicyId string `pulumi:"trafficPolicyId"` 149 // Version of the traffic policy 150 TrafficPolicyVersion int `pulumi:"trafficPolicyVersion"` 151 // TTL that you want Amazon Route 53 to assign to all the resource record sets that it creates in the specified hosted zone. 152 Ttl int `pulumi:"ttl"` 153 } 154 155 // The set of arguments for constructing a TrafficPolicyInstance resource. 156 type TrafficPolicyInstanceArgs struct { 157 // ID of the hosted zone that you want Amazon Route 53 to create resource record sets in by using the configuration in a traffic policy. 158 HostedZoneId pulumi.StringInput 159 // Domain name for which Amazon Route 53 responds to DNS queries by using the resource record sets that Route 53 creates for this traffic policy instance. 160 Name pulumi.StringPtrInput 161 // ID of the traffic policy that you want to use to create resource record sets in the specified hosted zone. 162 TrafficPolicyId pulumi.StringInput 163 // Version of the traffic policy 164 TrafficPolicyVersion pulumi.IntInput 165 // TTL that you want Amazon Route 53 to assign to all the resource record sets that it creates in the specified hosted zone. 166 Ttl pulumi.IntInput 167 } 168 169 func (TrafficPolicyInstanceArgs) ElementType() reflect.Type { 170 return reflect.TypeOf((*trafficPolicyInstanceArgs)(nil)).Elem() 171 } 172 173 type TrafficPolicyInstanceInput interface { 174 pulumi.Input 175 176 ToTrafficPolicyInstanceOutput() TrafficPolicyInstanceOutput 177 ToTrafficPolicyInstanceOutputWithContext(ctx context.Context) TrafficPolicyInstanceOutput 178 } 179 180 func (*TrafficPolicyInstance) ElementType() reflect.Type { 181 return reflect.TypeOf((**TrafficPolicyInstance)(nil)).Elem() 182 } 183 184 func (i *TrafficPolicyInstance) ToTrafficPolicyInstanceOutput() TrafficPolicyInstanceOutput { 185 return i.ToTrafficPolicyInstanceOutputWithContext(context.Background()) 186 } 187 188 func (i *TrafficPolicyInstance) ToTrafficPolicyInstanceOutputWithContext(ctx context.Context) TrafficPolicyInstanceOutput { 189 return pulumi.ToOutputWithContext(ctx, i).(TrafficPolicyInstanceOutput) 190 } 191 192 // TrafficPolicyInstanceArrayInput is an input type that accepts TrafficPolicyInstanceArray and TrafficPolicyInstanceArrayOutput values. 193 // You can construct a concrete instance of `TrafficPolicyInstanceArrayInput` via: 194 // 195 // TrafficPolicyInstanceArray{ TrafficPolicyInstanceArgs{...} } 196 type TrafficPolicyInstanceArrayInput interface { 197 pulumi.Input 198 199 ToTrafficPolicyInstanceArrayOutput() TrafficPolicyInstanceArrayOutput 200 ToTrafficPolicyInstanceArrayOutputWithContext(context.Context) TrafficPolicyInstanceArrayOutput 201 } 202 203 type TrafficPolicyInstanceArray []TrafficPolicyInstanceInput 204 205 func (TrafficPolicyInstanceArray) ElementType() reflect.Type { 206 return reflect.TypeOf((*[]*TrafficPolicyInstance)(nil)).Elem() 207 } 208 209 func (i TrafficPolicyInstanceArray) ToTrafficPolicyInstanceArrayOutput() TrafficPolicyInstanceArrayOutput { 210 return i.ToTrafficPolicyInstanceArrayOutputWithContext(context.Background()) 211 } 212 213 func (i TrafficPolicyInstanceArray) ToTrafficPolicyInstanceArrayOutputWithContext(ctx context.Context) TrafficPolicyInstanceArrayOutput { 214 return pulumi.ToOutputWithContext(ctx, i).(TrafficPolicyInstanceArrayOutput) 215 } 216 217 // TrafficPolicyInstanceMapInput is an input type that accepts TrafficPolicyInstanceMap and TrafficPolicyInstanceMapOutput values. 218 // You can construct a concrete instance of `TrafficPolicyInstanceMapInput` via: 219 // 220 // TrafficPolicyInstanceMap{ "key": TrafficPolicyInstanceArgs{...} } 221 type TrafficPolicyInstanceMapInput interface { 222 pulumi.Input 223 224 ToTrafficPolicyInstanceMapOutput() TrafficPolicyInstanceMapOutput 225 ToTrafficPolicyInstanceMapOutputWithContext(context.Context) TrafficPolicyInstanceMapOutput 226 } 227 228 type TrafficPolicyInstanceMap map[string]TrafficPolicyInstanceInput 229 230 func (TrafficPolicyInstanceMap) ElementType() reflect.Type { 231 return reflect.TypeOf((*map[string]*TrafficPolicyInstance)(nil)).Elem() 232 } 233 234 func (i TrafficPolicyInstanceMap) ToTrafficPolicyInstanceMapOutput() TrafficPolicyInstanceMapOutput { 235 return i.ToTrafficPolicyInstanceMapOutputWithContext(context.Background()) 236 } 237 238 func (i TrafficPolicyInstanceMap) ToTrafficPolicyInstanceMapOutputWithContext(ctx context.Context) TrafficPolicyInstanceMapOutput { 239 return pulumi.ToOutputWithContext(ctx, i).(TrafficPolicyInstanceMapOutput) 240 } 241 242 type TrafficPolicyInstanceOutput struct{ *pulumi.OutputState } 243 244 func (TrafficPolicyInstanceOutput) ElementType() reflect.Type { 245 return reflect.TypeOf((**TrafficPolicyInstance)(nil)).Elem() 246 } 247 248 func (o TrafficPolicyInstanceOutput) ToTrafficPolicyInstanceOutput() TrafficPolicyInstanceOutput { 249 return o 250 } 251 252 func (o TrafficPolicyInstanceOutput) ToTrafficPolicyInstanceOutputWithContext(ctx context.Context) TrafficPolicyInstanceOutput { 253 return o 254 } 255 256 // ID of the hosted zone that you want Amazon Route 53 to create resource record sets in by using the configuration in a traffic policy. 257 func (o TrafficPolicyInstanceOutput) HostedZoneId() pulumi.StringOutput { 258 return o.ApplyT(func(v *TrafficPolicyInstance) pulumi.StringOutput { return v.HostedZoneId }).(pulumi.StringOutput) 259 } 260 261 // Domain name for which Amazon Route 53 responds to DNS queries by using the resource record sets that Route 53 creates for this traffic policy instance. 262 func (o TrafficPolicyInstanceOutput) Name() pulumi.StringOutput { 263 return o.ApplyT(func(v *TrafficPolicyInstance) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 264 } 265 266 // ID of the traffic policy that you want to use to create resource record sets in the specified hosted zone. 267 func (o TrafficPolicyInstanceOutput) TrafficPolicyId() pulumi.StringOutput { 268 return o.ApplyT(func(v *TrafficPolicyInstance) pulumi.StringOutput { return v.TrafficPolicyId }).(pulumi.StringOutput) 269 } 270 271 // Version of the traffic policy 272 func (o TrafficPolicyInstanceOutput) TrafficPolicyVersion() pulumi.IntOutput { 273 return o.ApplyT(func(v *TrafficPolicyInstance) pulumi.IntOutput { return v.TrafficPolicyVersion }).(pulumi.IntOutput) 274 } 275 276 // TTL that you want Amazon Route 53 to assign to all the resource record sets that it creates in the specified hosted zone. 277 func (o TrafficPolicyInstanceOutput) Ttl() pulumi.IntOutput { 278 return o.ApplyT(func(v *TrafficPolicyInstance) pulumi.IntOutput { return v.Ttl }).(pulumi.IntOutput) 279 } 280 281 type TrafficPolicyInstanceArrayOutput struct{ *pulumi.OutputState } 282 283 func (TrafficPolicyInstanceArrayOutput) ElementType() reflect.Type { 284 return reflect.TypeOf((*[]*TrafficPolicyInstance)(nil)).Elem() 285 } 286 287 func (o TrafficPolicyInstanceArrayOutput) ToTrafficPolicyInstanceArrayOutput() TrafficPolicyInstanceArrayOutput { 288 return o 289 } 290 291 func (o TrafficPolicyInstanceArrayOutput) ToTrafficPolicyInstanceArrayOutputWithContext(ctx context.Context) TrafficPolicyInstanceArrayOutput { 292 return o 293 } 294 295 func (o TrafficPolicyInstanceArrayOutput) Index(i pulumi.IntInput) TrafficPolicyInstanceOutput { 296 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *TrafficPolicyInstance { 297 return vs[0].([]*TrafficPolicyInstance)[vs[1].(int)] 298 }).(TrafficPolicyInstanceOutput) 299 } 300 301 type TrafficPolicyInstanceMapOutput struct{ *pulumi.OutputState } 302 303 func (TrafficPolicyInstanceMapOutput) ElementType() reflect.Type { 304 return reflect.TypeOf((*map[string]*TrafficPolicyInstance)(nil)).Elem() 305 } 306 307 func (o TrafficPolicyInstanceMapOutput) ToTrafficPolicyInstanceMapOutput() TrafficPolicyInstanceMapOutput { 308 return o 309 } 310 311 func (o TrafficPolicyInstanceMapOutput) ToTrafficPolicyInstanceMapOutputWithContext(ctx context.Context) TrafficPolicyInstanceMapOutput { 312 return o 313 } 314 315 func (o TrafficPolicyInstanceMapOutput) MapIndex(k pulumi.StringInput) TrafficPolicyInstanceOutput { 316 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *TrafficPolicyInstance { 317 return vs[0].(map[string]*TrafficPolicyInstance)[vs[1].(string)] 318 }).(TrafficPolicyInstanceOutput) 319 } 320 321 func init() { 322 pulumi.RegisterInputType(reflect.TypeOf((*TrafficPolicyInstanceInput)(nil)).Elem(), &TrafficPolicyInstance{}) 323 pulumi.RegisterInputType(reflect.TypeOf((*TrafficPolicyInstanceArrayInput)(nil)).Elem(), TrafficPolicyInstanceArray{}) 324 pulumi.RegisterInputType(reflect.TypeOf((*TrafficPolicyInstanceMapInput)(nil)).Elem(), TrafficPolicyInstanceMap{}) 325 pulumi.RegisterOutputType(TrafficPolicyInstanceOutput{}) 326 pulumi.RegisterOutputType(TrafficPolicyInstanceArrayOutput{}) 327 pulumi.RegisterOutputType(TrafficPolicyInstanceMapOutput{}) 328 }