github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/route53/cidrLocation.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 CIDR location 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 // example, err := route53.NewCidrCollection(ctx, "example", &route53.CidrCollectionArgs{ 33 // Name: pulumi.String("collection-1"), 34 // }) 35 // if err != nil { 36 // return err 37 // } 38 // _, err = route53.NewCidrLocation(ctx, "example", &route53.CidrLocationArgs{ 39 // CidrCollectionId: example.ID(), 40 // Name: pulumi.String("office"), 41 // CidrBlocks: pulumi.StringArray{ 42 // pulumi.String("200.5.3.0/24"), 43 // pulumi.String("200.6.3.0/24"), 44 // }, 45 // }) 46 // if err != nil { 47 // return err 48 // } 49 // return nil 50 // }) 51 // } 52 // 53 // ``` 54 // <!--End PulumiCodeChooser --> 55 // 56 // ## Import 57 // 58 // Using `pulumi import`, import CIDR locations using their the CIDR collection ID and location name. For example: 59 // 60 // ```sh 61 // $ pulumi import aws:route53/cidrLocation:CidrLocation example 9ac32814-3e67-0932-6048-8d779cc6f511,office 62 // ``` 63 type CidrLocation struct { 64 pulumi.CustomResourceState 65 66 // CIDR blocks for the location. 67 CidrBlocks pulumi.StringArrayOutput `pulumi:"cidrBlocks"` 68 // The ID of the CIDR collection to update. 69 CidrCollectionId pulumi.StringOutput `pulumi:"cidrCollectionId"` 70 // Name for the CIDR location. 71 Name pulumi.StringOutput `pulumi:"name"` 72 } 73 74 // NewCidrLocation registers a new resource with the given unique name, arguments, and options. 75 func NewCidrLocation(ctx *pulumi.Context, 76 name string, args *CidrLocationArgs, opts ...pulumi.ResourceOption) (*CidrLocation, error) { 77 if args == nil { 78 return nil, errors.New("missing one or more required arguments") 79 } 80 81 if args.CidrBlocks == nil { 82 return nil, errors.New("invalid value for required argument 'CidrBlocks'") 83 } 84 if args.CidrCollectionId == nil { 85 return nil, errors.New("invalid value for required argument 'CidrCollectionId'") 86 } 87 opts = internal.PkgResourceDefaultOpts(opts) 88 var resource CidrLocation 89 err := ctx.RegisterResource("aws:route53/cidrLocation:CidrLocation", name, args, &resource, opts...) 90 if err != nil { 91 return nil, err 92 } 93 return &resource, nil 94 } 95 96 // GetCidrLocation gets an existing CidrLocation 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 GetCidrLocation(ctx *pulumi.Context, 99 name string, id pulumi.IDInput, state *CidrLocationState, opts ...pulumi.ResourceOption) (*CidrLocation, error) { 100 var resource CidrLocation 101 err := ctx.ReadResource("aws:route53/cidrLocation:CidrLocation", 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 CidrLocation resources. 109 type cidrLocationState struct { 110 // CIDR blocks for the location. 111 CidrBlocks []string `pulumi:"cidrBlocks"` 112 // The ID of the CIDR collection to update. 113 CidrCollectionId *string `pulumi:"cidrCollectionId"` 114 // Name for the CIDR location. 115 Name *string `pulumi:"name"` 116 } 117 118 type CidrLocationState struct { 119 // CIDR blocks for the location. 120 CidrBlocks pulumi.StringArrayInput 121 // The ID of the CIDR collection to update. 122 CidrCollectionId pulumi.StringPtrInput 123 // Name for the CIDR location. 124 Name pulumi.StringPtrInput 125 } 126 127 func (CidrLocationState) ElementType() reflect.Type { 128 return reflect.TypeOf((*cidrLocationState)(nil)).Elem() 129 } 130 131 type cidrLocationArgs struct { 132 // CIDR blocks for the location. 133 CidrBlocks []string `pulumi:"cidrBlocks"` 134 // The ID of the CIDR collection to update. 135 CidrCollectionId string `pulumi:"cidrCollectionId"` 136 // Name for the CIDR location. 137 Name *string `pulumi:"name"` 138 } 139 140 // The set of arguments for constructing a CidrLocation resource. 141 type CidrLocationArgs struct { 142 // CIDR blocks for the location. 143 CidrBlocks pulumi.StringArrayInput 144 // The ID of the CIDR collection to update. 145 CidrCollectionId pulumi.StringInput 146 // Name for the CIDR location. 147 Name pulumi.StringPtrInput 148 } 149 150 func (CidrLocationArgs) ElementType() reflect.Type { 151 return reflect.TypeOf((*cidrLocationArgs)(nil)).Elem() 152 } 153 154 type CidrLocationInput interface { 155 pulumi.Input 156 157 ToCidrLocationOutput() CidrLocationOutput 158 ToCidrLocationOutputWithContext(ctx context.Context) CidrLocationOutput 159 } 160 161 func (*CidrLocation) ElementType() reflect.Type { 162 return reflect.TypeOf((**CidrLocation)(nil)).Elem() 163 } 164 165 func (i *CidrLocation) ToCidrLocationOutput() CidrLocationOutput { 166 return i.ToCidrLocationOutputWithContext(context.Background()) 167 } 168 169 func (i *CidrLocation) ToCidrLocationOutputWithContext(ctx context.Context) CidrLocationOutput { 170 return pulumi.ToOutputWithContext(ctx, i).(CidrLocationOutput) 171 } 172 173 // CidrLocationArrayInput is an input type that accepts CidrLocationArray and CidrLocationArrayOutput values. 174 // You can construct a concrete instance of `CidrLocationArrayInput` via: 175 // 176 // CidrLocationArray{ CidrLocationArgs{...} } 177 type CidrLocationArrayInput interface { 178 pulumi.Input 179 180 ToCidrLocationArrayOutput() CidrLocationArrayOutput 181 ToCidrLocationArrayOutputWithContext(context.Context) CidrLocationArrayOutput 182 } 183 184 type CidrLocationArray []CidrLocationInput 185 186 func (CidrLocationArray) ElementType() reflect.Type { 187 return reflect.TypeOf((*[]*CidrLocation)(nil)).Elem() 188 } 189 190 func (i CidrLocationArray) ToCidrLocationArrayOutput() CidrLocationArrayOutput { 191 return i.ToCidrLocationArrayOutputWithContext(context.Background()) 192 } 193 194 func (i CidrLocationArray) ToCidrLocationArrayOutputWithContext(ctx context.Context) CidrLocationArrayOutput { 195 return pulumi.ToOutputWithContext(ctx, i).(CidrLocationArrayOutput) 196 } 197 198 // CidrLocationMapInput is an input type that accepts CidrLocationMap and CidrLocationMapOutput values. 199 // You can construct a concrete instance of `CidrLocationMapInput` via: 200 // 201 // CidrLocationMap{ "key": CidrLocationArgs{...} } 202 type CidrLocationMapInput interface { 203 pulumi.Input 204 205 ToCidrLocationMapOutput() CidrLocationMapOutput 206 ToCidrLocationMapOutputWithContext(context.Context) CidrLocationMapOutput 207 } 208 209 type CidrLocationMap map[string]CidrLocationInput 210 211 func (CidrLocationMap) ElementType() reflect.Type { 212 return reflect.TypeOf((*map[string]*CidrLocation)(nil)).Elem() 213 } 214 215 func (i CidrLocationMap) ToCidrLocationMapOutput() CidrLocationMapOutput { 216 return i.ToCidrLocationMapOutputWithContext(context.Background()) 217 } 218 219 func (i CidrLocationMap) ToCidrLocationMapOutputWithContext(ctx context.Context) CidrLocationMapOutput { 220 return pulumi.ToOutputWithContext(ctx, i).(CidrLocationMapOutput) 221 } 222 223 type CidrLocationOutput struct{ *pulumi.OutputState } 224 225 func (CidrLocationOutput) ElementType() reflect.Type { 226 return reflect.TypeOf((**CidrLocation)(nil)).Elem() 227 } 228 229 func (o CidrLocationOutput) ToCidrLocationOutput() CidrLocationOutput { 230 return o 231 } 232 233 func (o CidrLocationOutput) ToCidrLocationOutputWithContext(ctx context.Context) CidrLocationOutput { 234 return o 235 } 236 237 // CIDR blocks for the location. 238 func (o CidrLocationOutput) CidrBlocks() pulumi.StringArrayOutput { 239 return o.ApplyT(func(v *CidrLocation) pulumi.StringArrayOutput { return v.CidrBlocks }).(pulumi.StringArrayOutput) 240 } 241 242 // The ID of the CIDR collection to update. 243 func (o CidrLocationOutput) CidrCollectionId() pulumi.StringOutput { 244 return o.ApplyT(func(v *CidrLocation) pulumi.StringOutput { return v.CidrCollectionId }).(pulumi.StringOutput) 245 } 246 247 // Name for the CIDR location. 248 func (o CidrLocationOutput) Name() pulumi.StringOutput { 249 return o.ApplyT(func(v *CidrLocation) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 250 } 251 252 type CidrLocationArrayOutput struct{ *pulumi.OutputState } 253 254 func (CidrLocationArrayOutput) ElementType() reflect.Type { 255 return reflect.TypeOf((*[]*CidrLocation)(nil)).Elem() 256 } 257 258 func (o CidrLocationArrayOutput) ToCidrLocationArrayOutput() CidrLocationArrayOutput { 259 return o 260 } 261 262 func (o CidrLocationArrayOutput) ToCidrLocationArrayOutputWithContext(ctx context.Context) CidrLocationArrayOutput { 263 return o 264 } 265 266 func (o CidrLocationArrayOutput) Index(i pulumi.IntInput) CidrLocationOutput { 267 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CidrLocation { 268 return vs[0].([]*CidrLocation)[vs[1].(int)] 269 }).(CidrLocationOutput) 270 } 271 272 type CidrLocationMapOutput struct{ *pulumi.OutputState } 273 274 func (CidrLocationMapOutput) ElementType() reflect.Type { 275 return reflect.TypeOf((*map[string]*CidrLocation)(nil)).Elem() 276 } 277 278 func (o CidrLocationMapOutput) ToCidrLocationMapOutput() CidrLocationMapOutput { 279 return o 280 } 281 282 func (o CidrLocationMapOutput) ToCidrLocationMapOutputWithContext(ctx context.Context) CidrLocationMapOutput { 283 return o 284 } 285 286 func (o CidrLocationMapOutput) MapIndex(k pulumi.StringInput) CidrLocationOutput { 287 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CidrLocation { 288 return vs[0].(map[string]*CidrLocation)[vs[1].(string)] 289 }).(CidrLocationOutput) 290 } 291 292 func init() { 293 pulumi.RegisterInputType(reflect.TypeOf((*CidrLocationInput)(nil)).Elem(), &CidrLocation{}) 294 pulumi.RegisterInputType(reflect.TypeOf((*CidrLocationArrayInput)(nil)).Elem(), CidrLocationArray{}) 295 pulumi.RegisterInputType(reflect.TypeOf((*CidrLocationMapInput)(nil)).Elem(), CidrLocationMap{}) 296 pulumi.RegisterOutputType(CidrLocationOutput{}) 297 pulumi.RegisterOutputType(CidrLocationArrayOutput{}) 298 pulumi.RegisterOutputType(CidrLocationMapOutput{}) 299 }