github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/rds/proxy.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 rds 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 an RDS DB proxy resource. For additional information, see the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html). 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/rds" 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 := rds.NewProxy(ctx, "example", &rds.ProxyArgs{ 33 // Name: pulumi.String("example"), 34 // DebugLogging: pulumi.Bool(false), 35 // EngineFamily: pulumi.String("MYSQL"), 36 // IdleClientTimeout: pulumi.Int(1800), 37 // RequireTls: pulumi.Bool(true), 38 // RoleArn: pulumi.Any(exampleAwsIamRole.Arn), 39 // VpcSecurityGroupIds: pulumi.StringArray{ 40 // exampleAwsSecurityGroup.Id, 41 // }, 42 // VpcSubnetIds: pulumi.StringArray{ 43 // exampleAwsSubnet.Id, 44 // }, 45 // Auths: rds.ProxyAuthArray{ 46 // &rds.ProxyAuthArgs{ 47 // AuthScheme: pulumi.String("SECRETS"), 48 // Description: pulumi.String("example"), 49 // IamAuth: pulumi.String("DISABLED"), 50 // SecretArn: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn), 51 // }, 52 // }, 53 // Tags: pulumi.StringMap{ 54 // "Name": pulumi.String("example"), 55 // "Key": pulumi.String("value"), 56 // }, 57 // }) 58 // if err != nil { 59 // return err 60 // } 61 // return nil 62 // }) 63 // } 64 // 65 // ``` 66 // <!--End PulumiCodeChooser --> 67 // 68 // ## Import 69 // 70 // Using `pulumi import`, import DB proxies using the `name`. For example: 71 // 72 // ```sh 73 // $ pulumi import aws:rds/proxy:Proxy example example 74 // ``` 75 type Proxy struct { 76 pulumi.CustomResourceState 77 78 // The Amazon Resource Name (ARN) for the proxy. 79 Arn pulumi.StringOutput `pulumi:"arn"` 80 // Configuration block(s) with authorization mechanisms to connect to the associated instances or clusters. Described below. 81 Auths ProxyAuthArrayOutput `pulumi:"auths"` 82 // Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs. 83 DebugLogging pulumi.BoolPtrOutput `pulumi:"debugLogging"` 84 // The endpoint that you can use to connect to the proxy. You include the endpoint value in the connection string for a database client application. 85 Endpoint pulumi.StringOutput `pulumi:"endpoint"` 86 // The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify `MYSQL`. For Aurora PostgreSQL and RDS for PostgreSQL databases, specify `POSTGRESQL`. For RDS for Microsoft SQL Server, specify `SQLSERVER`. Valid values are `MYSQL`, `POSTGRESQL`, and `SQLSERVER`. 87 EngineFamily pulumi.StringOutput `pulumi:"engineFamily"` 88 // The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database. 89 IdleClientTimeout pulumi.IntOutput `pulumi:"idleClientTimeout"` 90 // The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens. 91 Name pulumi.StringOutput `pulumi:"name"` 92 // A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy. 93 RequireTls pulumi.BoolPtrOutput `pulumi:"requireTls"` 94 // The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager. 95 RoleArn pulumi.StringOutput `pulumi:"roleArn"` 96 // A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 97 Tags pulumi.StringMapOutput `pulumi:"tags"` 98 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 99 // 100 // Deprecated: Please use `tags` instead. 101 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 102 // One or more VPC security group IDs to associate with the new proxy. 103 VpcSecurityGroupIds pulumi.StringArrayOutput `pulumi:"vpcSecurityGroupIds"` 104 // One or more VPC subnet IDs to associate with the new proxy. 105 VpcSubnetIds pulumi.StringArrayOutput `pulumi:"vpcSubnetIds"` 106 } 107 108 // NewProxy registers a new resource with the given unique name, arguments, and options. 109 func NewProxy(ctx *pulumi.Context, 110 name string, args *ProxyArgs, opts ...pulumi.ResourceOption) (*Proxy, error) { 111 if args == nil { 112 return nil, errors.New("missing one or more required arguments") 113 } 114 115 if args.Auths == nil { 116 return nil, errors.New("invalid value for required argument 'Auths'") 117 } 118 if args.EngineFamily == nil { 119 return nil, errors.New("invalid value for required argument 'EngineFamily'") 120 } 121 if args.RoleArn == nil { 122 return nil, errors.New("invalid value for required argument 'RoleArn'") 123 } 124 if args.VpcSubnetIds == nil { 125 return nil, errors.New("invalid value for required argument 'VpcSubnetIds'") 126 } 127 opts = internal.PkgResourceDefaultOpts(opts) 128 var resource Proxy 129 err := ctx.RegisterResource("aws:rds/proxy:Proxy", name, args, &resource, opts...) 130 if err != nil { 131 return nil, err 132 } 133 return &resource, nil 134 } 135 136 // GetProxy gets an existing Proxy resource's state with the given name, ID, and optional 137 // state properties that are used to uniquely qualify the lookup (nil if not required). 138 func GetProxy(ctx *pulumi.Context, 139 name string, id pulumi.IDInput, state *ProxyState, opts ...pulumi.ResourceOption) (*Proxy, error) { 140 var resource Proxy 141 err := ctx.ReadResource("aws:rds/proxy:Proxy", name, id, state, &resource, opts...) 142 if err != nil { 143 return nil, err 144 } 145 return &resource, nil 146 } 147 148 // Input properties used for looking up and filtering Proxy resources. 149 type proxyState struct { 150 // The Amazon Resource Name (ARN) for the proxy. 151 Arn *string `pulumi:"arn"` 152 // Configuration block(s) with authorization mechanisms to connect to the associated instances or clusters. Described below. 153 Auths []ProxyAuth `pulumi:"auths"` 154 // Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs. 155 DebugLogging *bool `pulumi:"debugLogging"` 156 // The endpoint that you can use to connect to the proxy. You include the endpoint value in the connection string for a database client application. 157 Endpoint *string `pulumi:"endpoint"` 158 // The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify `MYSQL`. For Aurora PostgreSQL and RDS for PostgreSQL databases, specify `POSTGRESQL`. For RDS for Microsoft SQL Server, specify `SQLSERVER`. Valid values are `MYSQL`, `POSTGRESQL`, and `SQLSERVER`. 159 EngineFamily *string `pulumi:"engineFamily"` 160 // The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database. 161 IdleClientTimeout *int `pulumi:"idleClientTimeout"` 162 // The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens. 163 Name *string `pulumi:"name"` 164 // A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy. 165 RequireTls *bool `pulumi:"requireTls"` 166 // The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager. 167 RoleArn *string `pulumi:"roleArn"` 168 // A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 169 Tags map[string]string `pulumi:"tags"` 170 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 171 // 172 // Deprecated: Please use `tags` instead. 173 TagsAll map[string]string `pulumi:"tagsAll"` 174 // One or more VPC security group IDs to associate with the new proxy. 175 VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` 176 // One or more VPC subnet IDs to associate with the new proxy. 177 VpcSubnetIds []string `pulumi:"vpcSubnetIds"` 178 } 179 180 type ProxyState struct { 181 // The Amazon Resource Name (ARN) for the proxy. 182 Arn pulumi.StringPtrInput 183 // Configuration block(s) with authorization mechanisms to connect to the associated instances or clusters. Described below. 184 Auths ProxyAuthArrayInput 185 // Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs. 186 DebugLogging pulumi.BoolPtrInput 187 // The endpoint that you can use to connect to the proxy. You include the endpoint value in the connection string for a database client application. 188 Endpoint pulumi.StringPtrInput 189 // The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify `MYSQL`. For Aurora PostgreSQL and RDS for PostgreSQL databases, specify `POSTGRESQL`. For RDS for Microsoft SQL Server, specify `SQLSERVER`. Valid values are `MYSQL`, `POSTGRESQL`, and `SQLSERVER`. 190 EngineFamily pulumi.StringPtrInput 191 // The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database. 192 IdleClientTimeout pulumi.IntPtrInput 193 // The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens. 194 Name pulumi.StringPtrInput 195 // A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy. 196 RequireTls pulumi.BoolPtrInput 197 // The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager. 198 RoleArn pulumi.StringPtrInput 199 // A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 200 Tags pulumi.StringMapInput 201 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 202 // 203 // Deprecated: Please use `tags` instead. 204 TagsAll pulumi.StringMapInput 205 // One or more VPC security group IDs to associate with the new proxy. 206 VpcSecurityGroupIds pulumi.StringArrayInput 207 // One or more VPC subnet IDs to associate with the new proxy. 208 VpcSubnetIds pulumi.StringArrayInput 209 } 210 211 func (ProxyState) ElementType() reflect.Type { 212 return reflect.TypeOf((*proxyState)(nil)).Elem() 213 } 214 215 type proxyArgs struct { 216 // Configuration block(s) with authorization mechanisms to connect to the associated instances or clusters. Described below. 217 Auths []ProxyAuth `pulumi:"auths"` 218 // Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs. 219 DebugLogging *bool `pulumi:"debugLogging"` 220 // The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify `MYSQL`. For Aurora PostgreSQL and RDS for PostgreSQL databases, specify `POSTGRESQL`. For RDS for Microsoft SQL Server, specify `SQLSERVER`. Valid values are `MYSQL`, `POSTGRESQL`, and `SQLSERVER`. 221 EngineFamily string `pulumi:"engineFamily"` 222 // The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database. 223 IdleClientTimeout *int `pulumi:"idleClientTimeout"` 224 // The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens. 225 Name *string `pulumi:"name"` 226 // A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy. 227 RequireTls *bool `pulumi:"requireTls"` 228 // The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager. 229 RoleArn string `pulumi:"roleArn"` 230 // A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 231 Tags map[string]string `pulumi:"tags"` 232 // One or more VPC security group IDs to associate with the new proxy. 233 VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` 234 // One or more VPC subnet IDs to associate with the new proxy. 235 VpcSubnetIds []string `pulumi:"vpcSubnetIds"` 236 } 237 238 // The set of arguments for constructing a Proxy resource. 239 type ProxyArgs struct { 240 // Configuration block(s) with authorization mechanisms to connect to the associated instances or clusters. Described below. 241 Auths ProxyAuthArrayInput 242 // Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs. 243 DebugLogging pulumi.BoolPtrInput 244 // The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify `MYSQL`. For Aurora PostgreSQL and RDS for PostgreSQL databases, specify `POSTGRESQL`. For RDS for Microsoft SQL Server, specify `SQLSERVER`. Valid values are `MYSQL`, `POSTGRESQL`, and `SQLSERVER`. 245 EngineFamily pulumi.StringInput 246 // The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database. 247 IdleClientTimeout pulumi.IntPtrInput 248 // The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens. 249 Name pulumi.StringPtrInput 250 // A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy. 251 RequireTls pulumi.BoolPtrInput 252 // The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager. 253 RoleArn pulumi.StringInput 254 // A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 255 Tags pulumi.StringMapInput 256 // One or more VPC security group IDs to associate with the new proxy. 257 VpcSecurityGroupIds pulumi.StringArrayInput 258 // One or more VPC subnet IDs to associate with the new proxy. 259 VpcSubnetIds pulumi.StringArrayInput 260 } 261 262 func (ProxyArgs) ElementType() reflect.Type { 263 return reflect.TypeOf((*proxyArgs)(nil)).Elem() 264 } 265 266 type ProxyInput interface { 267 pulumi.Input 268 269 ToProxyOutput() ProxyOutput 270 ToProxyOutputWithContext(ctx context.Context) ProxyOutput 271 } 272 273 func (*Proxy) ElementType() reflect.Type { 274 return reflect.TypeOf((**Proxy)(nil)).Elem() 275 } 276 277 func (i *Proxy) ToProxyOutput() ProxyOutput { 278 return i.ToProxyOutputWithContext(context.Background()) 279 } 280 281 func (i *Proxy) ToProxyOutputWithContext(ctx context.Context) ProxyOutput { 282 return pulumi.ToOutputWithContext(ctx, i).(ProxyOutput) 283 } 284 285 // ProxyArrayInput is an input type that accepts ProxyArray and ProxyArrayOutput values. 286 // You can construct a concrete instance of `ProxyArrayInput` via: 287 // 288 // ProxyArray{ ProxyArgs{...} } 289 type ProxyArrayInput interface { 290 pulumi.Input 291 292 ToProxyArrayOutput() ProxyArrayOutput 293 ToProxyArrayOutputWithContext(context.Context) ProxyArrayOutput 294 } 295 296 type ProxyArray []ProxyInput 297 298 func (ProxyArray) ElementType() reflect.Type { 299 return reflect.TypeOf((*[]*Proxy)(nil)).Elem() 300 } 301 302 func (i ProxyArray) ToProxyArrayOutput() ProxyArrayOutput { 303 return i.ToProxyArrayOutputWithContext(context.Background()) 304 } 305 306 func (i ProxyArray) ToProxyArrayOutputWithContext(ctx context.Context) ProxyArrayOutput { 307 return pulumi.ToOutputWithContext(ctx, i).(ProxyArrayOutput) 308 } 309 310 // ProxyMapInput is an input type that accepts ProxyMap and ProxyMapOutput values. 311 // You can construct a concrete instance of `ProxyMapInput` via: 312 // 313 // ProxyMap{ "key": ProxyArgs{...} } 314 type ProxyMapInput interface { 315 pulumi.Input 316 317 ToProxyMapOutput() ProxyMapOutput 318 ToProxyMapOutputWithContext(context.Context) ProxyMapOutput 319 } 320 321 type ProxyMap map[string]ProxyInput 322 323 func (ProxyMap) ElementType() reflect.Type { 324 return reflect.TypeOf((*map[string]*Proxy)(nil)).Elem() 325 } 326 327 func (i ProxyMap) ToProxyMapOutput() ProxyMapOutput { 328 return i.ToProxyMapOutputWithContext(context.Background()) 329 } 330 331 func (i ProxyMap) ToProxyMapOutputWithContext(ctx context.Context) ProxyMapOutput { 332 return pulumi.ToOutputWithContext(ctx, i).(ProxyMapOutput) 333 } 334 335 type ProxyOutput struct{ *pulumi.OutputState } 336 337 func (ProxyOutput) ElementType() reflect.Type { 338 return reflect.TypeOf((**Proxy)(nil)).Elem() 339 } 340 341 func (o ProxyOutput) ToProxyOutput() ProxyOutput { 342 return o 343 } 344 345 func (o ProxyOutput) ToProxyOutputWithContext(ctx context.Context) ProxyOutput { 346 return o 347 } 348 349 // The Amazon Resource Name (ARN) for the proxy. 350 func (o ProxyOutput) Arn() pulumi.StringOutput { 351 return o.ApplyT(func(v *Proxy) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 352 } 353 354 // Configuration block(s) with authorization mechanisms to connect to the associated instances or clusters. Described below. 355 func (o ProxyOutput) Auths() ProxyAuthArrayOutput { 356 return o.ApplyT(func(v *Proxy) ProxyAuthArrayOutput { return v.Auths }).(ProxyAuthArrayOutput) 357 } 358 359 // Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs. 360 func (o ProxyOutput) DebugLogging() pulumi.BoolPtrOutput { 361 return o.ApplyT(func(v *Proxy) pulumi.BoolPtrOutput { return v.DebugLogging }).(pulumi.BoolPtrOutput) 362 } 363 364 // The endpoint that you can use to connect to the proxy. You include the endpoint value in the connection string for a database client application. 365 func (o ProxyOutput) Endpoint() pulumi.StringOutput { 366 return o.ApplyT(func(v *Proxy) pulumi.StringOutput { return v.Endpoint }).(pulumi.StringOutput) 367 } 368 369 // The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify `MYSQL`. For Aurora PostgreSQL and RDS for PostgreSQL databases, specify `POSTGRESQL`. For RDS for Microsoft SQL Server, specify `SQLSERVER`. Valid values are `MYSQL`, `POSTGRESQL`, and `SQLSERVER`. 370 func (o ProxyOutput) EngineFamily() pulumi.StringOutput { 371 return o.ApplyT(func(v *Proxy) pulumi.StringOutput { return v.EngineFamily }).(pulumi.StringOutput) 372 } 373 374 // The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database. 375 func (o ProxyOutput) IdleClientTimeout() pulumi.IntOutput { 376 return o.ApplyT(func(v *Proxy) pulumi.IntOutput { return v.IdleClientTimeout }).(pulumi.IntOutput) 377 } 378 379 // The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens. 380 func (o ProxyOutput) Name() pulumi.StringOutput { 381 return o.ApplyT(func(v *Proxy) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 382 } 383 384 // A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy. 385 func (o ProxyOutput) RequireTls() pulumi.BoolPtrOutput { 386 return o.ApplyT(func(v *Proxy) pulumi.BoolPtrOutput { return v.RequireTls }).(pulumi.BoolPtrOutput) 387 } 388 389 // The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager. 390 func (o ProxyOutput) RoleArn() pulumi.StringOutput { 391 return o.ApplyT(func(v *Proxy) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput) 392 } 393 394 // A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 395 func (o ProxyOutput) Tags() pulumi.StringMapOutput { 396 return o.ApplyT(func(v *Proxy) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 397 } 398 399 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 400 // 401 // Deprecated: Please use `tags` instead. 402 func (o ProxyOutput) TagsAll() pulumi.StringMapOutput { 403 return o.ApplyT(func(v *Proxy) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 404 } 405 406 // One or more VPC security group IDs to associate with the new proxy. 407 func (o ProxyOutput) VpcSecurityGroupIds() pulumi.StringArrayOutput { 408 return o.ApplyT(func(v *Proxy) pulumi.StringArrayOutput { return v.VpcSecurityGroupIds }).(pulumi.StringArrayOutput) 409 } 410 411 // One or more VPC subnet IDs to associate with the new proxy. 412 func (o ProxyOutput) VpcSubnetIds() pulumi.StringArrayOutput { 413 return o.ApplyT(func(v *Proxy) pulumi.StringArrayOutput { return v.VpcSubnetIds }).(pulumi.StringArrayOutput) 414 } 415 416 type ProxyArrayOutput struct{ *pulumi.OutputState } 417 418 func (ProxyArrayOutput) ElementType() reflect.Type { 419 return reflect.TypeOf((*[]*Proxy)(nil)).Elem() 420 } 421 422 func (o ProxyArrayOutput) ToProxyArrayOutput() ProxyArrayOutput { 423 return o 424 } 425 426 func (o ProxyArrayOutput) ToProxyArrayOutputWithContext(ctx context.Context) ProxyArrayOutput { 427 return o 428 } 429 430 func (o ProxyArrayOutput) Index(i pulumi.IntInput) ProxyOutput { 431 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Proxy { 432 return vs[0].([]*Proxy)[vs[1].(int)] 433 }).(ProxyOutput) 434 } 435 436 type ProxyMapOutput struct{ *pulumi.OutputState } 437 438 func (ProxyMapOutput) ElementType() reflect.Type { 439 return reflect.TypeOf((*map[string]*Proxy)(nil)).Elem() 440 } 441 442 func (o ProxyMapOutput) ToProxyMapOutput() ProxyMapOutput { 443 return o 444 } 445 446 func (o ProxyMapOutput) ToProxyMapOutputWithContext(ctx context.Context) ProxyMapOutput { 447 return o 448 } 449 450 func (o ProxyMapOutput) MapIndex(k pulumi.StringInput) ProxyOutput { 451 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Proxy { 452 return vs[0].(map[string]*Proxy)[vs[1].(string)] 453 }).(ProxyOutput) 454 } 455 456 func init() { 457 pulumi.RegisterInputType(reflect.TypeOf((*ProxyInput)(nil)).Elem(), &Proxy{}) 458 pulumi.RegisterInputType(reflect.TypeOf((*ProxyArrayInput)(nil)).Elem(), ProxyArray{}) 459 pulumi.RegisterInputType(reflect.TypeOf((*ProxyMapInput)(nil)).Elem(), ProxyMap{}) 460 pulumi.RegisterOutputType(ProxyOutput{}) 461 pulumi.RegisterOutputType(ProxyArrayOutput{}) 462 pulumi.RegisterOutputType(ProxyMapOutput{}) 463 }