github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/instanceMetadataDefaults.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 ec2 5 6 import ( 7 "context" 8 "reflect" 9 10 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Manages regional EC2 instance metadata default settings. 15 // More information can be found in the [Configure instance metadata options for new instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-IMDS-new-instances.html) user guide. 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/ec2" 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 := ec2.NewInstanceMetadataDefaults(ctx, "enforce-imdsv2", &ec2.InstanceMetadataDefaultsArgs{ 33 // HttpTokens: pulumi.String("required"), 34 // HttpPutResponseHopLimit: pulumi.Int(1), 35 // }) 36 // if err != nil { 37 // return err 38 // } 39 // return nil 40 // }) 41 // } 42 // 43 // ``` 44 // <!--End PulumiCodeChooser --> 45 // 46 // ## Import 47 // 48 // You cannot import this resource. 49 type InstanceMetadataDefaults struct { 50 pulumi.CustomResourceState 51 52 // Whether the metadata service is available. Can be `"enabled"`, `"disabled"`, or `"no-preference"`. Default: `"no-preference"`. 53 HttpEndpoint pulumi.StringOutput `pulumi:"httpEndpoint"` 54 // The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from `1` to `64`, or `-1` to indicate no preference. Default: `-1`. 55 HttpPutResponseHopLimit pulumi.IntOutput `pulumi:"httpPutResponseHopLimit"` 56 // Whether the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Can be `"optional"`, `"required"`, or `"no-preference"`. Default: `"no-preference"`. 57 HttpTokens pulumi.StringOutput `pulumi:"httpTokens"` 58 // Enables or disables access to instance tags from the instance metadata service. Can be `"enabled"`, `"disabled"`, or `"no-preference"`. Default: `"no-preference"`. 59 InstanceMetadataTags pulumi.StringOutput `pulumi:"instanceMetadataTags"` 60 } 61 62 // NewInstanceMetadataDefaults registers a new resource with the given unique name, arguments, and options. 63 func NewInstanceMetadataDefaults(ctx *pulumi.Context, 64 name string, args *InstanceMetadataDefaultsArgs, opts ...pulumi.ResourceOption) (*InstanceMetadataDefaults, error) { 65 if args == nil { 66 args = &InstanceMetadataDefaultsArgs{} 67 } 68 69 opts = internal.PkgResourceDefaultOpts(opts) 70 var resource InstanceMetadataDefaults 71 err := ctx.RegisterResource("aws:ec2/instanceMetadataDefaults:InstanceMetadataDefaults", name, args, &resource, opts...) 72 if err != nil { 73 return nil, err 74 } 75 return &resource, nil 76 } 77 78 // GetInstanceMetadataDefaults gets an existing InstanceMetadataDefaults resource's state with the given name, ID, and optional 79 // state properties that are used to uniquely qualify the lookup (nil if not required). 80 func GetInstanceMetadataDefaults(ctx *pulumi.Context, 81 name string, id pulumi.IDInput, state *InstanceMetadataDefaultsState, opts ...pulumi.ResourceOption) (*InstanceMetadataDefaults, error) { 82 var resource InstanceMetadataDefaults 83 err := ctx.ReadResource("aws:ec2/instanceMetadataDefaults:InstanceMetadataDefaults", name, id, state, &resource, opts...) 84 if err != nil { 85 return nil, err 86 } 87 return &resource, nil 88 } 89 90 // Input properties used for looking up and filtering InstanceMetadataDefaults resources. 91 type instanceMetadataDefaultsState struct { 92 // Whether the metadata service is available. Can be `"enabled"`, `"disabled"`, or `"no-preference"`. Default: `"no-preference"`. 93 HttpEndpoint *string `pulumi:"httpEndpoint"` 94 // The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from `1` to `64`, or `-1` to indicate no preference. Default: `-1`. 95 HttpPutResponseHopLimit *int `pulumi:"httpPutResponseHopLimit"` 96 // Whether the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Can be `"optional"`, `"required"`, or `"no-preference"`. Default: `"no-preference"`. 97 HttpTokens *string `pulumi:"httpTokens"` 98 // Enables or disables access to instance tags from the instance metadata service. Can be `"enabled"`, `"disabled"`, or `"no-preference"`. Default: `"no-preference"`. 99 InstanceMetadataTags *string `pulumi:"instanceMetadataTags"` 100 } 101 102 type InstanceMetadataDefaultsState struct { 103 // Whether the metadata service is available. Can be `"enabled"`, `"disabled"`, or `"no-preference"`. Default: `"no-preference"`. 104 HttpEndpoint pulumi.StringPtrInput 105 // The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from `1` to `64`, or `-1` to indicate no preference. Default: `-1`. 106 HttpPutResponseHopLimit pulumi.IntPtrInput 107 // Whether the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Can be `"optional"`, `"required"`, or `"no-preference"`. Default: `"no-preference"`. 108 HttpTokens pulumi.StringPtrInput 109 // Enables or disables access to instance tags from the instance metadata service. Can be `"enabled"`, `"disabled"`, or `"no-preference"`. Default: `"no-preference"`. 110 InstanceMetadataTags pulumi.StringPtrInput 111 } 112 113 func (InstanceMetadataDefaultsState) ElementType() reflect.Type { 114 return reflect.TypeOf((*instanceMetadataDefaultsState)(nil)).Elem() 115 } 116 117 type instanceMetadataDefaultsArgs struct { 118 // Whether the metadata service is available. Can be `"enabled"`, `"disabled"`, or `"no-preference"`. Default: `"no-preference"`. 119 HttpEndpoint *string `pulumi:"httpEndpoint"` 120 // The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from `1` to `64`, or `-1` to indicate no preference. Default: `-1`. 121 HttpPutResponseHopLimit *int `pulumi:"httpPutResponseHopLimit"` 122 // Whether the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Can be `"optional"`, `"required"`, or `"no-preference"`. Default: `"no-preference"`. 123 HttpTokens *string `pulumi:"httpTokens"` 124 // Enables or disables access to instance tags from the instance metadata service. Can be `"enabled"`, `"disabled"`, or `"no-preference"`. Default: `"no-preference"`. 125 InstanceMetadataTags *string `pulumi:"instanceMetadataTags"` 126 } 127 128 // The set of arguments for constructing a InstanceMetadataDefaults resource. 129 type InstanceMetadataDefaultsArgs struct { 130 // Whether the metadata service is available. Can be `"enabled"`, `"disabled"`, or `"no-preference"`. Default: `"no-preference"`. 131 HttpEndpoint pulumi.StringPtrInput 132 // The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from `1` to `64`, or `-1` to indicate no preference. Default: `-1`. 133 HttpPutResponseHopLimit pulumi.IntPtrInput 134 // Whether the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Can be `"optional"`, `"required"`, or `"no-preference"`. Default: `"no-preference"`. 135 HttpTokens pulumi.StringPtrInput 136 // Enables or disables access to instance tags from the instance metadata service. Can be `"enabled"`, `"disabled"`, or `"no-preference"`. Default: `"no-preference"`. 137 InstanceMetadataTags pulumi.StringPtrInput 138 } 139 140 func (InstanceMetadataDefaultsArgs) ElementType() reflect.Type { 141 return reflect.TypeOf((*instanceMetadataDefaultsArgs)(nil)).Elem() 142 } 143 144 type InstanceMetadataDefaultsInput interface { 145 pulumi.Input 146 147 ToInstanceMetadataDefaultsOutput() InstanceMetadataDefaultsOutput 148 ToInstanceMetadataDefaultsOutputWithContext(ctx context.Context) InstanceMetadataDefaultsOutput 149 } 150 151 func (*InstanceMetadataDefaults) ElementType() reflect.Type { 152 return reflect.TypeOf((**InstanceMetadataDefaults)(nil)).Elem() 153 } 154 155 func (i *InstanceMetadataDefaults) ToInstanceMetadataDefaultsOutput() InstanceMetadataDefaultsOutput { 156 return i.ToInstanceMetadataDefaultsOutputWithContext(context.Background()) 157 } 158 159 func (i *InstanceMetadataDefaults) ToInstanceMetadataDefaultsOutputWithContext(ctx context.Context) InstanceMetadataDefaultsOutput { 160 return pulumi.ToOutputWithContext(ctx, i).(InstanceMetadataDefaultsOutput) 161 } 162 163 // InstanceMetadataDefaultsArrayInput is an input type that accepts InstanceMetadataDefaultsArray and InstanceMetadataDefaultsArrayOutput values. 164 // You can construct a concrete instance of `InstanceMetadataDefaultsArrayInput` via: 165 // 166 // InstanceMetadataDefaultsArray{ InstanceMetadataDefaultsArgs{...} } 167 type InstanceMetadataDefaultsArrayInput interface { 168 pulumi.Input 169 170 ToInstanceMetadataDefaultsArrayOutput() InstanceMetadataDefaultsArrayOutput 171 ToInstanceMetadataDefaultsArrayOutputWithContext(context.Context) InstanceMetadataDefaultsArrayOutput 172 } 173 174 type InstanceMetadataDefaultsArray []InstanceMetadataDefaultsInput 175 176 func (InstanceMetadataDefaultsArray) ElementType() reflect.Type { 177 return reflect.TypeOf((*[]*InstanceMetadataDefaults)(nil)).Elem() 178 } 179 180 func (i InstanceMetadataDefaultsArray) ToInstanceMetadataDefaultsArrayOutput() InstanceMetadataDefaultsArrayOutput { 181 return i.ToInstanceMetadataDefaultsArrayOutputWithContext(context.Background()) 182 } 183 184 func (i InstanceMetadataDefaultsArray) ToInstanceMetadataDefaultsArrayOutputWithContext(ctx context.Context) InstanceMetadataDefaultsArrayOutput { 185 return pulumi.ToOutputWithContext(ctx, i).(InstanceMetadataDefaultsArrayOutput) 186 } 187 188 // InstanceMetadataDefaultsMapInput is an input type that accepts InstanceMetadataDefaultsMap and InstanceMetadataDefaultsMapOutput values. 189 // You can construct a concrete instance of `InstanceMetadataDefaultsMapInput` via: 190 // 191 // InstanceMetadataDefaultsMap{ "key": InstanceMetadataDefaultsArgs{...} } 192 type InstanceMetadataDefaultsMapInput interface { 193 pulumi.Input 194 195 ToInstanceMetadataDefaultsMapOutput() InstanceMetadataDefaultsMapOutput 196 ToInstanceMetadataDefaultsMapOutputWithContext(context.Context) InstanceMetadataDefaultsMapOutput 197 } 198 199 type InstanceMetadataDefaultsMap map[string]InstanceMetadataDefaultsInput 200 201 func (InstanceMetadataDefaultsMap) ElementType() reflect.Type { 202 return reflect.TypeOf((*map[string]*InstanceMetadataDefaults)(nil)).Elem() 203 } 204 205 func (i InstanceMetadataDefaultsMap) ToInstanceMetadataDefaultsMapOutput() InstanceMetadataDefaultsMapOutput { 206 return i.ToInstanceMetadataDefaultsMapOutputWithContext(context.Background()) 207 } 208 209 func (i InstanceMetadataDefaultsMap) ToInstanceMetadataDefaultsMapOutputWithContext(ctx context.Context) InstanceMetadataDefaultsMapOutput { 210 return pulumi.ToOutputWithContext(ctx, i).(InstanceMetadataDefaultsMapOutput) 211 } 212 213 type InstanceMetadataDefaultsOutput struct{ *pulumi.OutputState } 214 215 func (InstanceMetadataDefaultsOutput) ElementType() reflect.Type { 216 return reflect.TypeOf((**InstanceMetadataDefaults)(nil)).Elem() 217 } 218 219 func (o InstanceMetadataDefaultsOutput) ToInstanceMetadataDefaultsOutput() InstanceMetadataDefaultsOutput { 220 return o 221 } 222 223 func (o InstanceMetadataDefaultsOutput) ToInstanceMetadataDefaultsOutputWithContext(ctx context.Context) InstanceMetadataDefaultsOutput { 224 return o 225 } 226 227 // Whether the metadata service is available. Can be `"enabled"`, `"disabled"`, or `"no-preference"`. Default: `"no-preference"`. 228 func (o InstanceMetadataDefaultsOutput) HttpEndpoint() pulumi.StringOutput { 229 return o.ApplyT(func(v *InstanceMetadataDefaults) pulumi.StringOutput { return v.HttpEndpoint }).(pulumi.StringOutput) 230 } 231 232 // The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from `1` to `64`, or `-1` to indicate no preference. Default: `-1`. 233 func (o InstanceMetadataDefaultsOutput) HttpPutResponseHopLimit() pulumi.IntOutput { 234 return o.ApplyT(func(v *InstanceMetadataDefaults) pulumi.IntOutput { return v.HttpPutResponseHopLimit }).(pulumi.IntOutput) 235 } 236 237 // Whether the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Can be `"optional"`, `"required"`, or `"no-preference"`. Default: `"no-preference"`. 238 func (o InstanceMetadataDefaultsOutput) HttpTokens() pulumi.StringOutput { 239 return o.ApplyT(func(v *InstanceMetadataDefaults) pulumi.StringOutput { return v.HttpTokens }).(pulumi.StringOutput) 240 } 241 242 // Enables or disables access to instance tags from the instance metadata service. Can be `"enabled"`, `"disabled"`, or `"no-preference"`. Default: `"no-preference"`. 243 func (o InstanceMetadataDefaultsOutput) InstanceMetadataTags() pulumi.StringOutput { 244 return o.ApplyT(func(v *InstanceMetadataDefaults) pulumi.StringOutput { return v.InstanceMetadataTags }).(pulumi.StringOutput) 245 } 246 247 type InstanceMetadataDefaultsArrayOutput struct{ *pulumi.OutputState } 248 249 func (InstanceMetadataDefaultsArrayOutput) ElementType() reflect.Type { 250 return reflect.TypeOf((*[]*InstanceMetadataDefaults)(nil)).Elem() 251 } 252 253 func (o InstanceMetadataDefaultsArrayOutput) ToInstanceMetadataDefaultsArrayOutput() InstanceMetadataDefaultsArrayOutput { 254 return o 255 } 256 257 func (o InstanceMetadataDefaultsArrayOutput) ToInstanceMetadataDefaultsArrayOutputWithContext(ctx context.Context) InstanceMetadataDefaultsArrayOutput { 258 return o 259 } 260 261 func (o InstanceMetadataDefaultsArrayOutput) Index(i pulumi.IntInput) InstanceMetadataDefaultsOutput { 262 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *InstanceMetadataDefaults { 263 return vs[0].([]*InstanceMetadataDefaults)[vs[1].(int)] 264 }).(InstanceMetadataDefaultsOutput) 265 } 266 267 type InstanceMetadataDefaultsMapOutput struct{ *pulumi.OutputState } 268 269 func (InstanceMetadataDefaultsMapOutput) ElementType() reflect.Type { 270 return reflect.TypeOf((*map[string]*InstanceMetadataDefaults)(nil)).Elem() 271 } 272 273 func (o InstanceMetadataDefaultsMapOutput) ToInstanceMetadataDefaultsMapOutput() InstanceMetadataDefaultsMapOutput { 274 return o 275 } 276 277 func (o InstanceMetadataDefaultsMapOutput) ToInstanceMetadataDefaultsMapOutputWithContext(ctx context.Context) InstanceMetadataDefaultsMapOutput { 278 return o 279 } 280 281 func (o InstanceMetadataDefaultsMapOutput) MapIndex(k pulumi.StringInput) InstanceMetadataDefaultsOutput { 282 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *InstanceMetadataDefaults { 283 return vs[0].(map[string]*InstanceMetadataDefaults)[vs[1].(string)] 284 }).(InstanceMetadataDefaultsOutput) 285 } 286 287 func init() { 288 pulumi.RegisterInputType(reflect.TypeOf((*InstanceMetadataDefaultsInput)(nil)).Elem(), &InstanceMetadataDefaults{}) 289 pulumi.RegisterInputType(reflect.TypeOf((*InstanceMetadataDefaultsArrayInput)(nil)).Elem(), InstanceMetadataDefaultsArray{}) 290 pulumi.RegisterInputType(reflect.TypeOf((*InstanceMetadataDefaultsMapInput)(nil)).Elem(), InstanceMetadataDefaultsMap{}) 291 pulumi.RegisterOutputType(InstanceMetadataDefaultsOutput{}) 292 pulumi.RegisterOutputType(InstanceMetadataDefaultsArrayOutput{}) 293 pulumi.RegisterOutputType(InstanceMetadataDefaultsMapOutput{}) 294 }