github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/lightsail/lbHttpsRedirectionPolicy.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 lightsail 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 // Configures Https Redirection for a Lightsail Load Balancer. A valid Certificate must be attached to the load balancer in order to enable https redirection. 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/lightsail" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // test, err := lightsail.NewLb(ctx, "test", &lightsail.LbArgs{ 33 // Name: pulumi.String("test-load-balancer"), 34 // HealthCheckPath: pulumi.String("/"), 35 // InstancePort: pulumi.Int(80), 36 // Tags: pulumi.StringMap{ 37 // "foo": pulumi.String("bar"), 38 // }, 39 // }) 40 // if err != nil { 41 // return err 42 // } 43 // testLbCertificate, err := lightsail.NewLbCertificate(ctx, "test", &lightsail.LbCertificateArgs{ 44 // Name: pulumi.String("test-load-balancer-certificate"), 45 // LbName: test.ID(), 46 // DomainName: pulumi.String("test.com"), 47 // }) 48 // if err != nil { 49 // return err 50 // } 51 // _, err = lightsail.NewLbCertificateAttachment(ctx, "test", &lightsail.LbCertificateAttachmentArgs{ 52 // LbName: test.Name, 53 // CertificateName: testLbCertificate.Name, 54 // }) 55 // if err != nil { 56 // return err 57 // } 58 // _, err = lightsail.NewLbHttpsRedirectionPolicy(ctx, "test", &lightsail.LbHttpsRedirectionPolicyArgs{ 59 // LbName: test.Name, 60 // Enabled: pulumi.Bool(true), 61 // }) 62 // if err != nil { 63 // return err 64 // } 65 // return nil 66 // }) 67 // } 68 // 69 // ``` 70 // <!--End PulumiCodeChooser --> 71 // 72 // ## Import 73 // 74 // Using `pulumi import`, import `aws_lightsail_lb_https_redirection_policy` using the `lb_name` attribute. For example: 75 // 76 // ```sh 77 // $ pulumi import aws:lightsail/lbHttpsRedirectionPolicy:LbHttpsRedirectionPolicy test example-load-balancer 78 // ``` 79 type LbHttpsRedirectionPolicy struct { 80 pulumi.CustomResourceState 81 82 // The Https Redirection state of the load balancer. `true` to activate http to https redirection or `false` to deactivate http to https redirection. 83 Enabled pulumi.BoolOutput `pulumi:"enabled"` 84 // The name of the load balancer to which you want to enable http to https redirection. 85 LbName pulumi.StringOutput `pulumi:"lbName"` 86 } 87 88 // NewLbHttpsRedirectionPolicy registers a new resource with the given unique name, arguments, and options. 89 func NewLbHttpsRedirectionPolicy(ctx *pulumi.Context, 90 name string, args *LbHttpsRedirectionPolicyArgs, opts ...pulumi.ResourceOption) (*LbHttpsRedirectionPolicy, error) { 91 if args == nil { 92 return nil, errors.New("missing one or more required arguments") 93 } 94 95 if args.Enabled == nil { 96 return nil, errors.New("invalid value for required argument 'Enabled'") 97 } 98 if args.LbName == nil { 99 return nil, errors.New("invalid value for required argument 'LbName'") 100 } 101 opts = internal.PkgResourceDefaultOpts(opts) 102 var resource LbHttpsRedirectionPolicy 103 err := ctx.RegisterResource("aws:lightsail/lbHttpsRedirectionPolicy:LbHttpsRedirectionPolicy", name, args, &resource, opts...) 104 if err != nil { 105 return nil, err 106 } 107 return &resource, nil 108 } 109 110 // GetLbHttpsRedirectionPolicy gets an existing LbHttpsRedirectionPolicy 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 GetLbHttpsRedirectionPolicy(ctx *pulumi.Context, 113 name string, id pulumi.IDInput, state *LbHttpsRedirectionPolicyState, opts ...pulumi.ResourceOption) (*LbHttpsRedirectionPolicy, error) { 114 var resource LbHttpsRedirectionPolicy 115 err := ctx.ReadResource("aws:lightsail/lbHttpsRedirectionPolicy:LbHttpsRedirectionPolicy", 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 LbHttpsRedirectionPolicy resources. 123 type lbHttpsRedirectionPolicyState struct { 124 // The Https Redirection state of the load balancer. `true` to activate http to https redirection or `false` to deactivate http to https redirection. 125 Enabled *bool `pulumi:"enabled"` 126 // The name of the load balancer to which you want to enable http to https redirection. 127 LbName *string `pulumi:"lbName"` 128 } 129 130 type LbHttpsRedirectionPolicyState struct { 131 // The Https Redirection state of the load balancer. `true` to activate http to https redirection or `false` to deactivate http to https redirection. 132 Enabled pulumi.BoolPtrInput 133 // The name of the load balancer to which you want to enable http to https redirection. 134 LbName pulumi.StringPtrInput 135 } 136 137 func (LbHttpsRedirectionPolicyState) ElementType() reflect.Type { 138 return reflect.TypeOf((*lbHttpsRedirectionPolicyState)(nil)).Elem() 139 } 140 141 type lbHttpsRedirectionPolicyArgs struct { 142 // The Https Redirection state of the load balancer. `true` to activate http to https redirection or `false` to deactivate http to https redirection. 143 Enabled bool `pulumi:"enabled"` 144 // The name of the load balancer to which you want to enable http to https redirection. 145 LbName string `pulumi:"lbName"` 146 } 147 148 // The set of arguments for constructing a LbHttpsRedirectionPolicy resource. 149 type LbHttpsRedirectionPolicyArgs struct { 150 // The Https Redirection state of the load balancer. `true` to activate http to https redirection or `false` to deactivate http to https redirection. 151 Enabled pulumi.BoolInput 152 // The name of the load balancer to which you want to enable http to https redirection. 153 LbName pulumi.StringInput 154 } 155 156 func (LbHttpsRedirectionPolicyArgs) ElementType() reflect.Type { 157 return reflect.TypeOf((*lbHttpsRedirectionPolicyArgs)(nil)).Elem() 158 } 159 160 type LbHttpsRedirectionPolicyInput interface { 161 pulumi.Input 162 163 ToLbHttpsRedirectionPolicyOutput() LbHttpsRedirectionPolicyOutput 164 ToLbHttpsRedirectionPolicyOutputWithContext(ctx context.Context) LbHttpsRedirectionPolicyOutput 165 } 166 167 func (*LbHttpsRedirectionPolicy) ElementType() reflect.Type { 168 return reflect.TypeOf((**LbHttpsRedirectionPolicy)(nil)).Elem() 169 } 170 171 func (i *LbHttpsRedirectionPolicy) ToLbHttpsRedirectionPolicyOutput() LbHttpsRedirectionPolicyOutput { 172 return i.ToLbHttpsRedirectionPolicyOutputWithContext(context.Background()) 173 } 174 175 func (i *LbHttpsRedirectionPolicy) ToLbHttpsRedirectionPolicyOutputWithContext(ctx context.Context) LbHttpsRedirectionPolicyOutput { 176 return pulumi.ToOutputWithContext(ctx, i).(LbHttpsRedirectionPolicyOutput) 177 } 178 179 // LbHttpsRedirectionPolicyArrayInput is an input type that accepts LbHttpsRedirectionPolicyArray and LbHttpsRedirectionPolicyArrayOutput values. 180 // You can construct a concrete instance of `LbHttpsRedirectionPolicyArrayInput` via: 181 // 182 // LbHttpsRedirectionPolicyArray{ LbHttpsRedirectionPolicyArgs{...} } 183 type LbHttpsRedirectionPolicyArrayInput interface { 184 pulumi.Input 185 186 ToLbHttpsRedirectionPolicyArrayOutput() LbHttpsRedirectionPolicyArrayOutput 187 ToLbHttpsRedirectionPolicyArrayOutputWithContext(context.Context) LbHttpsRedirectionPolicyArrayOutput 188 } 189 190 type LbHttpsRedirectionPolicyArray []LbHttpsRedirectionPolicyInput 191 192 func (LbHttpsRedirectionPolicyArray) ElementType() reflect.Type { 193 return reflect.TypeOf((*[]*LbHttpsRedirectionPolicy)(nil)).Elem() 194 } 195 196 func (i LbHttpsRedirectionPolicyArray) ToLbHttpsRedirectionPolicyArrayOutput() LbHttpsRedirectionPolicyArrayOutput { 197 return i.ToLbHttpsRedirectionPolicyArrayOutputWithContext(context.Background()) 198 } 199 200 func (i LbHttpsRedirectionPolicyArray) ToLbHttpsRedirectionPolicyArrayOutputWithContext(ctx context.Context) LbHttpsRedirectionPolicyArrayOutput { 201 return pulumi.ToOutputWithContext(ctx, i).(LbHttpsRedirectionPolicyArrayOutput) 202 } 203 204 // LbHttpsRedirectionPolicyMapInput is an input type that accepts LbHttpsRedirectionPolicyMap and LbHttpsRedirectionPolicyMapOutput values. 205 // You can construct a concrete instance of `LbHttpsRedirectionPolicyMapInput` via: 206 // 207 // LbHttpsRedirectionPolicyMap{ "key": LbHttpsRedirectionPolicyArgs{...} } 208 type LbHttpsRedirectionPolicyMapInput interface { 209 pulumi.Input 210 211 ToLbHttpsRedirectionPolicyMapOutput() LbHttpsRedirectionPolicyMapOutput 212 ToLbHttpsRedirectionPolicyMapOutputWithContext(context.Context) LbHttpsRedirectionPolicyMapOutput 213 } 214 215 type LbHttpsRedirectionPolicyMap map[string]LbHttpsRedirectionPolicyInput 216 217 func (LbHttpsRedirectionPolicyMap) ElementType() reflect.Type { 218 return reflect.TypeOf((*map[string]*LbHttpsRedirectionPolicy)(nil)).Elem() 219 } 220 221 func (i LbHttpsRedirectionPolicyMap) ToLbHttpsRedirectionPolicyMapOutput() LbHttpsRedirectionPolicyMapOutput { 222 return i.ToLbHttpsRedirectionPolicyMapOutputWithContext(context.Background()) 223 } 224 225 func (i LbHttpsRedirectionPolicyMap) ToLbHttpsRedirectionPolicyMapOutputWithContext(ctx context.Context) LbHttpsRedirectionPolicyMapOutput { 226 return pulumi.ToOutputWithContext(ctx, i).(LbHttpsRedirectionPolicyMapOutput) 227 } 228 229 type LbHttpsRedirectionPolicyOutput struct{ *pulumi.OutputState } 230 231 func (LbHttpsRedirectionPolicyOutput) ElementType() reflect.Type { 232 return reflect.TypeOf((**LbHttpsRedirectionPolicy)(nil)).Elem() 233 } 234 235 func (o LbHttpsRedirectionPolicyOutput) ToLbHttpsRedirectionPolicyOutput() LbHttpsRedirectionPolicyOutput { 236 return o 237 } 238 239 func (o LbHttpsRedirectionPolicyOutput) ToLbHttpsRedirectionPolicyOutputWithContext(ctx context.Context) LbHttpsRedirectionPolicyOutput { 240 return o 241 } 242 243 // The Https Redirection state of the load balancer. `true` to activate http to https redirection or `false` to deactivate http to https redirection. 244 func (o LbHttpsRedirectionPolicyOutput) Enabled() pulumi.BoolOutput { 245 return o.ApplyT(func(v *LbHttpsRedirectionPolicy) pulumi.BoolOutput { return v.Enabled }).(pulumi.BoolOutput) 246 } 247 248 // The name of the load balancer to which you want to enable http to https redirection. 249 func (o LbHttpsRedirectionPolicyOutput) LbName() pulumi.StringOutput { 250 return o.ApplyT(func(v *LbHttpsRedirectionPolicy) pulumi.StringOutput { return v.LbName }).(pulumi.StringOutput) 251 } 252 253 type LbHttpsRedirectionPolicyArrayOutput struct{ *pulumi.OutputState } 254 255 func (LbHttpsRedirectionPolicyArrayOutput) ElementType() reflect.Type { 256 return reflect.TypeOf((*[]*LbHttpsRedirectionPolicy)(nil)).Elem() 257 } 258 259 func (o LbHttpsRedirectionPolicyArrayOutput) ToLbHttpsRedirectionPolicyArrayOutput() LbHttpsRedirectionPolicyArrayOutput { 260 return o 261 } 262 263 func (o LbHttpsRedirectionPolicyArrayOutput) ToLbHttpsRedirectionPolicyArrayOutputWithContext(ctx context.Context) LbHttpsRedirectionPolicyArrayOutput { 264 return o 265 } 266 267 func (o LbHttpsRedirectionPolicyArrayOutput) Index(i pulumi.IntInput) LbHttpsRedirectionPolicyOutput { 268 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *LbHttpsRedirectionPolicy { 269 return vs[0].([]*LbHttpsRedirectionPolicy)[vs[1].(int)] 270 }).(LbHttpsRedirectionPolicyOutput) 271 } 272 273 type LbHttpsRedirectionPolicyMapOutput struct{ *pulumi.OutputState } 274 275 func (LbHttpsRedirectionPolicyMapOutput) ElementType() reflect.Type { 276 return reflect.TypeOf((*map[string]*LbHttpsRedirectionPolicy)(nil)).Elem() 277 } 278 279 func (o LbHttpsRedirectionPolicyMapOutput) ToLbHttpsRedirectionPolicyMapOutput() LbHttpsRedirectionPolicyMapOutput { 280 return o 281 } 282 283 func (o LbHttpsRedirectionPolicyMapOutput) ToLbHttpsRedirectionPolicyMapOutputWithContext(ctx context.Context) LbHttpsRedirectionPolicyMapOutput { 284 return o 285 } 286 287 func (o LbHttpsRedirectionPolicyMapOutput) MapIndex(k pulumi.StringInput) LbHttpsRedirectionPolicyOutput { 288 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *LbHttpsRedirectionPolicy { 289 return vs[0].(map[string]*LbHttpsRedirectionPolicy)[vs[1].(string)] 290 }).(LbHttpsRedirectionPolicyOutput) 291 } 292 293 func init() { 294 pulumi.RegisterInputType(reflect.TypeOf((*LbHttpsRedirectionPolicyInput)(nil)).Elem(), &LbHttpsRedirectionPolicy{}) 295 pulumi.RegisterInputType(reflect.TypeOf((*LbHttpsRedirectionPolicyArrayInput)(nil)).Elem(), LbHttpsRedirectionPolicyArray{}) 296 pulumi.RegisterInputType(reflect.TypeOf((*LbHttpsRedirectionPolicyMapInput)(nil)).Elem(), LbHttpsRedirectionPolicyMap{}) 297 pulumi.RegisterOutputType(LbHttpsRedirectionPolicyOutput{}) 298 pulumi.RegisterOutputType(LbHttpsRedirectionPolicyArrayOutput{}) 299 pulumi.RegisterOutputType(LbHttpsRedirectionPolicyMapOutput{}) 300 }