github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/sfn/alias.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 sfn 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 Step Function State Machine Alias. 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/sfn" 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 := sfn.NewAlias(ctx, "sfn_alias", &sfn.AliasArgs{ 35 // Name: pulumi.String("my_sfn_alias"), 36 // RoutingConfigurations: sfn.AliasRoutingConfigurationArray{ 37 // &sfn.AliasRoutingConfigurationArgs{ 38 // StateMachineVersionArn: pulumi.Any(sfnTest.StateMachineVersionArn), 39 // Weight: pulumi.Int(100), 40 // }, 41 // }, 42 // }) 43 // if err != nil { 44 // return err 45 // } 46 // _, err = sfn.NewAlias(ctx, "my_sfn_alias", &sfn.AliasArgs{ 47 // Name: pulumi.String("my_sfn_alias"), 48 // RoutingConfigurations: sfn.AliasRoutingConfigurationArray{ 49 // &sfn.AliasRoutingConfigurationArgs{ 50 // StateMachineVersionArn: pulumi.String("arn:aws:states:us-east-1:12345:stateMachine:demo:3"), 51 // Weight: pulumi.Int(50), 52 // }, 53 // &sfn.AliasRoutingConfigurationArgs{ 54 // StateMachineVersionArn: pulumi.String("arn:aws:states:us-east-1:12345:stateMachine:demo:2"), 55 // Weight: pulumi.Int(50), 56 // }, 57 // }, 58 // }) 59 // if err != nil { 60 // return err 61 // } 62 // return nil 63 // }) 64 // } 65 // 66 // ``` 67 // <!--End PulumiCodeChooser --> 68 // 69 // ## Import 70 // 71 // Using `pulumi import`, import SFN (Step Functions) Alias using the `arn`. For example: 72 // 73 // ```sh 74 // $ pulumi import aws:sfn/alias:Alias foo arn:aws:states:us-east-1:123456789098:stateMachine:myStateMachine:foo 75 // ``` 76 type Alias struct { 77 pulumi.CustomResourceState 78 79 // The Amazon Resource Name (ARN) identifying your state machine alias. 80 Arn pulumi.StringOutput `pulumi:"arn"` 81 // The date the state machine alias was created. 82 CreationDate pulumi.StringOutput `pulumi:"creationDate"` 83 // Description of the alias. 84 Description pulumi.StringPtrOutput `pulumi:"description"` 85 // Name for the alias you are creating. 86 Name pulumi.StringOutput `pulumi:"name"` 87 // The StateMachine alias' route configuration settings. Fields documented below 88 RoutingConfigurations AliasRoutingConfigurationArrayOutput `pulumi:"routingConfigurations"` 89 } 90 91 // NewAlias registers a new resource with the given unique name, arguments, and options. 92 func NewAlias(ctx *pulumi.Context, 93 name string, args *AliasArgs, opts ...pulumi.ResourceOption) (*Alias, error) { 94 if args == nil { 95 return nil, errors.New("missing one or more required arguments") 96 } 97 98 if args.RoutingConfigurations == nil { 99 return nil, errors.New("invalid value for required argument 'RoutingConfigurations'") 100 } 101 opts = internal.PkgResourceDefaultOpts(opts) 102 var resource Alias 103 err := ctx.RegisterResource("aws:sfn/alias:Alias", name, args, &resource, opts...) 104 if err != nil { 105 return nil, err 106 } 107 return &resource, nil 108 } 109 110 // GetAlias gets an existing Alias resource's state with the given name, ID, and optional 111 // state properties that are used to uniquely qualify the lookup (nil if not required). 112 func GetAlias(ctx *pulumi.Context, 113 name string, id pulumi.IDInput, state *AliasState, opts ...pulumi.ResourceOption) (*Alias, error) { 114 var resource Alias 115 err := ctx.ReadResource("aws:sfn/alias:Alias", name, id, state, &resource, opts...) 116 if err != nil { 117 return nil, err 118 } 119 return &resource, nil 120 } 121 122 // Input properties used for looking up and filtering Alias resources. 123 type aliasState struct { 124 // The Amazon Resource Name (ARN) identifying your state machine alias. 125 Arn *string `pulumi:"arn"` 126 // The date the state machine alias was created. 127 CreationDate *string `pulumi:"creationDate"` 128 // Description of the alias. 129 Description *string `pulumi:"description"` 130 // Name for the alias you are creating. 131 Name *string `pulumi:"name"` 132 // The StateMachine alias' route configuration settings. Fields documented below 133 RoutingConfigurations []AliasRoutingConfiguration `pulumi:"routingConfigurations"` 134 } 135 136 type AliasState struct { 137 // The Amazon Resource Name (ARN) identifying your state machine alias. 138 Arn pulumi.StringPtrInput 139 // The date the state machine alias was created. 140 CreationDate pulumi.StringPtrInput 141 // Description of the alias. 142 Description pulumi.StringPtrInput 143 // Name for the alias you are creating. 144 Name pulumi.StringPtrInput 145 // The StateMachine alias' route configuration settings. Fields documented below 146 RoutingConfigurations AliasRoutingConfigurationArrayInput 147 } 148 149 func (AliasState) ElementType() reflect.Type { 150 return reflect.TypeOf((*aliasState)(nil)).Elem() 151 } 152 153 type aliasArgs struct { 154 // Description of the alias. 155 Description *string `pulumi:"description"` 156 // Name for the alias you are creating. 157 Name *string `pulumi:"name"` 158 // The StateMachine alias' route configuration settings. Fields documented below 159 RoutingConfigurations []AliasRoutingConfiguration `pulumi:"routingConfigurations"` 160 } 161 162 // The set of arguments for constructing a Alias resource. 163 type AliasArgs struct { 164 // Description of the alias. 165 Description pulumi.StringPtrInput 166 // Name for the alias you are creating. 167 Name pulumi.StringPtrInput 168 // The StateMachine alias' route configuration settings. Fields documented below 169 RoutingConfigurations AliasRoutingConfigurationArrayInput 170 } 171 172 func (AliasArgs) ElementType() reflect.Type { 173 return reflect.TypeOf((*aliasArgs)(nil)).Elem() 174 } 175 176 type AliasInput interface { 177 pulumi.Input 178 179 ToAliasOutput() AliasOutput 180 ToAliasOutputWithContext(ctx context.Context) AliasOutput 181 } 182 183 func (*Alias) ElementType() reflect.Type { 184 return reflect.TypeOf((**Alias)(nil)).Elem() 185 } 186 187 func (i *Alias) ToAliasOutput() AliasOutput { 188 return i.ToAliasOutputWithContext(context.Background()) 189 } 190 191 func (i *Alias) ToAliasOutputWithContext(ctx context.Context) AliasOutput { 192 return pulumi.ToOutputWithContext(ctx, i).(AliasOutput) 193 } 194 195 // AliasArrayInput is an input type that accepts AliasArray and AliasArrayOutput values. 196 // You can construct a concrete instance of `AliasArrayInput` via: 197 // 198 // AliasArray{ AliasArgs{...} } 199 type AliasArrayInput interface { 200 pulumi.Input 201 202 ToAliasArrayOutput() AliasArrayOutput 203 ToAliasArrayOutputWithContext(context.Context) AliasArrayOutput 204 } 205 206 type AliasArray []AliasInput 207 208 func (AliasArray) ElementType() reflect.Type { 209 return reflect.TypeOf((*[]*Alias)(nil)).Elem() 210 } 211 212 func (i AliasArray) ToAliasArrayOutput() AliasArrayOutput { 213 return i.ToAliasArrayOutputWithContext(context.Background()) 214 } 215 216 func (i AliasArray) ToAliasArrayOutputWithContext(ctx context.Context) AliasArrayOutput { 217 return pulumi.ToOutputWithContext(ctx, i).(AliasArrayOutput) 218 } 219 220 // AliasMapInput is an input type that accepts AliasMap and AliasMapOutput values. 221 // You can construct a concrete instance of `AliasMapInput` via: 222 // 223 // AliasMap{ "key": AliasArgs{...} } 224 type AliasMapInput interface { 225 pulumi.Input 226 227 ToAliasMapOutput() AliasMapOutput 228 ToAliasMapOutputWithContext(context.Context) AliasMapOutput 229 } 230 231 type AliasMap map[string]AliasInput 232 233 func (AliasMap) ElementType() reflect.Type { 234 return reflect.TypeOf((*map[string]*Alias)(nil)).Elem() 235 } 236 237 func (i AliasMap) ToAliasMapOutput() AliasMapOutput { 238 return i.ToAliasMapOutputWithContext(context.Background()) 239 } 240 241 func (i AliasMap) ToAliasMapOutputWithContext(ctx context.Context) AliasMapOutput { 242 return pulumi.ToOutputWithContext(ctx, i).(AliasMapOutput) 243 } 244 245 type AliasOutput struct{ *pulumi.OutputState } 246 247 func (AliasOutput) ElementType() reflect.Type { 248 return reflect.TypeOf((**Alias)(nil)).Elem() 249 } 250 251 func (o AliasOutput) ToAliasOutput() AliasOutput { 252 return o 253 } 254 255 func (o AliasOutput) ToAliasOutputWithContext(ctx context.Context) AliasOutput { 256 return o 257 } 258 259 // The Amazon Resource Name (ARN) identifying your state machine alias. 260 func (o AliasOutput) Arn() pulumi.StringOutput { 261 return o.ApplyT(func(v *Alias) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 262 } 263 264 // The date the state machine alias was created. 265 func (o AliasOutput) CreationDate() pulumi.StringOutput { 266 return o.ApplyT(func(v *Alias) pulumi.StringOutput { return v.CreationDate }).(pulumi.StringOutput) 267 } 268 269 // Description of the alias. 270 func (o AliasOutput) Description() pulumi.StringPtrOutput { 271 return o.ApplyT(func(v *Alias) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 272 } 273 274 // Name for the alias you are creating. 275 func (o AliasOutput) Name() pulumi.StringOutput { 276 return o.ApplyT(func(v *Alias) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 277 } 278 279 // The StateMachine alias' route configuration settings. Fields documented below 280 func (o AliasOutput) RoutingConfigurations() AliasRoutingConfigurationArrayOutput { 281 return o.ApplyT(func(v *Alias) AliasRoutingConfigurationArrayOutput { return v.RoutingConfigurations }).(AliasRoutingConfigurationArrayOutput) 282 } 283 284 type AliasArrayOutput struct{ *pulumi.OutputState } 285 286 func (AliasArrayOutput) ElementType() reflect.Type { 287 return reflect.TypeOf((*[]*Alias)(nil)).Elem() 288 } 289 290 func (o AliasArrayOutput) ToAliasArrayOutput() AliasArrayOutput { 291 return o 292 } 293 294 func (o AliasArrayOutput) ToAliasArrayOutputWithContext(ctx context.Context) AliasArrayOutput { 295 return o 296 } 297 298 func (o AliasArrayOutput) Index(i pulumi.IntInput) AliasOutput { 299 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Alias { 300 return vs[0].([]*Alias)[vs[1].(int)] 301 }).(AliasOutput) 302 } 303 304 type AliasMapOutput struct{ *pulumi.OutputState } 305 306 func (AliasMapOutput) ElementType() reflect.Type { 307 return reflect.TypeOf((*map[string]*Alias)(nil)).Elem() 308 } 309 310 func (o AliasMapOutput) ToAliasMapOutput() AliasMapOutput { 311 return o 312 } 313 314 func (o AliasMapOutput) ToAliasMapOutputWithContext(ctx context.Context) AliasMapOutput { 315 return o 316 } 317 318 func (o AliasMapOutput) MapIndex(k pulumi.StringInput) AliasOutput { 319 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Alias { 320 return vs[0].(map[string]*Alias)[vs[1].(string)] 321 }).(AliasOutput) 322 } 323 324 func init() { 325 pulumi.RegisterInputType(reflect.TypeOf((*AliasInput)(nil)).Elem(), &Alias{}) 326 pulumi.RegisterInputType(reflect.TypeOf((*AliasArrayInput)(nil)).Elem(), AliasArray{}) 327 pulumi.RegisterInputType(reflect.TypeOf((*AliasMapInput)(nil)).Elem(), AliasMap{}) 328 pulumi.RegisterOutputType(AliasOutput{}) 329 pulumi.RegisterOutputType(AliasArrayOutput{}) 330 pulumi.RegisterOutputType(AliasMapOutput{}) 331 }