github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/glue/devEndpoint.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 glue
     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 Glue Development Endpoint resource.
    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/glue"
    28  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
    29  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    30  //
    31  // )
    32  //
    33  //	func main() {
    34  //		pulumi.Run(func(ctx *pulumi.Context) error {
    35  //			example, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
    36  //				Statements: []iam.GetPolicyDocumentStatement{
    37  //					{
    38  //						Actions: []string{
    39  //							"sts:AssumeRole",
    40  //						},
    41  //						Principals: []iam.GetPolicyDocumentStatementPrincipal{
    42  //							{
    43  //								Type: "Service",
    44  //								Identifiers: []string{
    45  //									"glue.amazonaws.com",
    46  //								},
    47  //							},
    48  //						},
    49  //					},
    50  //				},
    51  //			}, nil)
    52  //			if err != nil {
    53  //				return err
    54  //			}
    55  //			exampleRole, err := iam.NewRole(ctx, "example", &iam.RoleArgs{
    56  //				Name:             pulumi.String("AWSGlueServiceRole-foo"),
    57  //				AssumeRolePolicy: pulumi.String(example.Json),
    58  //			})
    59  //			if err != nil {
    60  //				return err
    61  //			}
    62  //			_, err = glue.NewDevEndpoint(ctx, "example", &glue.DevEndpointArgs{
    63  //				Name:    pulumi.String("foo"),
    64  //				RoleArn: exampleRole.Arn,
    65  //			})
    66  //			if err != nil {
    67  //				return err
    68  //			}
    69  //			_, err = iam.NewRolePolicyAttachment(ctx, "example-AWSGlueServiceRole", &iam.RolePolicyAttachmentArgs{
    70  //				PolicyArn: pulumi.String("arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole"),
    71  //				Role:      exampleRole.Name,
    72  //			})
    73  //			if err != nil {
    74  //				return err
    75  //			}
    76  //			return nil
    77  //		})
    78  //	}
    79  //
    80  // ```
    81  // <!--End PulumiCodeChooser -->
    82  //
    83  // ## Import
    84  //
    85  // Using `pulumi import`, import a Glue Development Endpoint using the `name`. For example:
    86  //
    87  // ```sh
    88  // $ pulumi import aws:glue/devEndpoint:DevEndpoint example foo
    89  // ```
    90  type DevEndpoint struct {
    91  	pulumi.CustomResourceState
    92  
    93  	// A map of arguments used to configure the endpoint.
    94  	Arguments pulumi.StringMapOutput `pulumi:"arguments"`
    95  	// The ARN of the endpoint.
    96  	Arn pulumi.StringOutput `pulumi:"arn"`
    97  	// The AWS availability zone where this endpoint is located.
    98  	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
    99  	// Path to one or more Java Jars in an S3 bucket that should be loaded in this endpoint.
   100  	ExtraJarsS3Path pulumi.StringPtrOutput `pulumi:"extraJarsS3Path"`
   101  	// Path(s) to one or more Python libraries in an S3 bucket that should be loaded in this endpoint. Multiple values must be complete paths separated by a comma.
   102  	ExtraPythonLibsS3Path pulumi.StringPtrOutput `pulumi:"extraPythonLibsS3Path"`
   103  	// The reason for a current failure in this endpoint.
   104  	FailureReason pulumi.StringOutput `pulumi:"failureReason"`
   105  	// Specifies the versions of Python and Apache Spark to use. Defaults to AWS Glue version 0.9.
   106  	GlueVersion pulumi.StringPtrOutput `pulumi:"glueVersion"`
   107  	// The name of this endpoint. It must be unique in your account.
   108  	Name pulumi.StringOutput `pulumi:"name"`
   109  	// The number of AWS Glue Data Processing Units (DPUs) to allocate to this endpoint. Conflicts with `workerType`.
   110  	NumberOfNodes pulumi.IntPtrOutput `pulumi:"numberOfNodes"`
   111  	// The number of workers of a defined worker type that are allocated to this endpoint. This field is available only when you choose worker type G.1X or G.2X.
   112  	NumberOfWorkers pulumi.IntPtrOutput `pulumi:"numberOfWorkers"`
   113  	// A private IP address to access the endpoint within a VPC, if this endpoint is created within one.
   114  	PrivateAddress pulumi.StringOutput `pulumi:"privateAddress"`
   115  	// The public IP address used by this endpoint. The PublicAddress field is present only when you create a non-VPC endpoint.
   116  	PublicAddress pulumi.StringOutput `pulumi:"publicAddress"`
   117  	// The public key to be used by this endpoint for authentication.
   118  	PublicKey pulumi.StringPtrOutput `pulumi:"publicKey"`
   119  	// A list of public keys to be used by this endpoint for authentication.
   120  	PublicKeys pulumi.StringArrayOutput `pulumi:"publicKeys"`
   121  	// The IAM role for this endpoint.
   122  	RoleArn pulumi.StringOutput `pulumi:"roleArn"`
   123  	// The name of the Security Configuration structure to be used with this endpoint.
   124  	SecurityConfiguration pulumi.StringPtrOutput `pulumi:"securityConfiguration"`
   125  	// Security group IDs for the security groups to be used by this endpoint.
   126  	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
   127  	// The current status of this endpoint.
   128  	Status pulumi.StringOutput `pulumi:"status"`
   129  	// The subnet ID for the new endpoint to use.
   130  	SubnetId pulumi.StringPtrOutput `pulumi:"subnetId"`
   131  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   132  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   133  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   134  	//
   135  	// Deprecated: Please use `tags` instead.
   136  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   137  	// he ID of the VPC used by this endpoint.
   138  	VpcId pulumi.StringOutput `pulumi:"vpcId"`
   139  	// The type of predefined worker that is allocated to this endpoint. Accepts a value of Standard, G.1X, or G.2X.
   140  	WorkerType pulumi.StringPtrOutput `pulumi:"workerType"`
   141  	// The YARN endpoint address used by this endpoint.
   142  	YarnEndpointAddress pulumi.StringOutput `pulumi:"yarnEndpointAddress"`
   143  	// The Apache Zeppelin port for the remote Apache Spark interpreter.
   144  	ZeppelinRemoteSparkInterpreterPort pulumi.IntOutput `pulumi:"zeppelinRemoteSparkInterpreterPort"`
   145  }
   146  
   147  // NewDevEndpoint registers a new resource with the given unique name, arguments, and options.
   148  func NewDevEndpoint(ctx *pulumi.Context,
   149  	name string, args *DevEndpointArgs, opts ...pulumi.ResourceOption) (*DevEndpoint, error) {
   150  	if args == nil {
   151  		return nil, errors.New("missing one or more required arguments")
   152  	}
   153  
   154  	if args.RoleArn == nil {
   155  		return nil, errors.New("invalid value for required argument 'RoleArn'")
   156  	}
   157  	opts = internal.PkgResourceDefaultOpts(opts)
   158  	var resource DevEndpoint
   159  	err := ctx.RegisterResource("aws:glue/devEndpoint:DevEndpoint", name, args, &resource, opts...)
   160  	if err != nil {
   161  		return nil, err
   162  	}
   163  	return &resource, nil
   164  }
   165  
   166  // GetDevEndpoint gets an existing DevEndpoint resource's state with the given name, ID, and optional
   167  // state properties that are used to uniquely qualify the lookup (nil if not required).
   168  func GetDevEndpoint(ctx *pulumi.Context,
   169  	name string, id pulumi.IDInput, state *DevEndpointState, opts ...pulumi.ResourceOption) (*DevEndpoint, error) {
   170  	var resource DevEndpoint
   171  	err := ctx.ReadResource("aws:glue/devEndpoint:DevEndpoint", name, id, state, &resource, opts...)
   172  	if err != nil {
   173  		return nil, err
   174  	}
   175  	return &resource, nil
   176  }
   177  
   178  // Input properties used for looking up and filtering DevEndpoint resources.
   179  type devEndpointState struct {
   180  	// A map of arguments used to configure the endpoint.
   181  	Arguments map[string]string `pulumi:"arguments"`
   182  	// The ARN of the endpoint.
   183  	Arn *string `pulumi:"arn"`
   184  	// The AWS availability zone where this endpoint is located.
   185  	AvailabilityZone *string `pulumi:"availabilityZone"`
   186  	// Path to one or more Java Jars in an S3 bucket that should be loaded in this endpoint.
   187  	ExtraJarsS3Path *string `pulumi:"extraJarsS3Path"`
   188  	// Path(s) to one or more Python libraries in an S3 bucket that should be loaded in this endpoint. Multiple values must be complete paths separated by a comma.
   189  	ExtraPythonLibsS3Path *string `pulumi:"extraPythonLibsS3Path"`
   190  	// The reason for a current failure in this endpoint.
   191  	FailureReason *string `pulumi:"failureReason"`
   192  	// Specifies the versions of Python and Apache Spark to use. Defaults to AWS Glue version 0.9.
   193  	GlueVersion *string `pulumi:"glueVersion"`
   194  	// The name of this endpoint. It must be unique in your account.
   195  	Name *string `pulumi:"name"`
   196  	// The number of AWS Glue Data Processing Units (DPUs) to allocate to this endpoint. Conflicts with `workerType`.
   197  	NumberOfNodes *int `pulumi:"numberOfNodes"`
   198  	// The number of workers of a defined worker type that are allocated to this endpoint. This field is available only when you choose worker type G.1X or G.2X.
   199  	NumberOfWorkers *int `pulumi:"numberOfWorkers"`
   200  	// A private IP address to access the endpoint within a VPC, if this endpoint is created within one.
   201  	PrivateAddress *string `pulumi:"privateAddress"`
   202  	// The public IP address used by this endpoint. The PublicAddress field is present only when you create a non-VPC endpoint.
   203  	PublicAddress *string `pulumi:"publicAddress"`
   204  	// The public key to be used by this endpoint for authentication.
   205  	PublicKey *string `pulumi:"publicKey"`
   206  	// A list of public keys to be used by this endpoint for authentication.
   207  	PublicKeys []string `pulumi:"publicKeys"`
   208  	// The IAM role for this endpoint.
   209  	RoleArn *string `pulumi:"roleArn"`
   210  	// The name of the Security Configuration structure to be used with this endpoint.
   211  	SecurityConfiguration *string `pulumi:"securityConfiguration"`
   212  	// Security group IDs for the security groups to be used by this endpoint.
   213  	SecurityGroupIds []string `pulumi:"securityGroupIds"`
   214  	// The current status of this endpoint.
   215  	Status *string `pulumi:"status"`
   216  	// The subnet ID for the new endpoint to use.
   217  	SubnetId *string `pulumi:"subnetId"`
   218  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   219  	Tags map[string]string `pulumi:"tags"`
   220  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   221  	//
   222  	// Deprecated: Please use `tags` instead.
   223  	TagsAll map[string]string `pulumi:"tagsAll"`
   224  	// he ID of the VPC used by this endpoint.
   225  	VpcId *string `pulumi:"vpcId"`
   226  	// The type of predefined worker that is allocated to this endpoint. Accepts a value of Standard, G.1X, or G.2X.
   227  	WorkerType *string `pulumi:"workerType"`
   228  	// The YARN endpoint address used by this endpoint.
   229  	YarnEndpointAddress *string `pulumi:"yarnEndpointAddress"`
   230  	// The Apache Zeppelin port for the remote Apache Spark interpreter.
   231  	ZeppelinRemoteSparkInterpreterPort *int `pulumi:"zeppelinRemoteSparkInterpreterPort"`
   232  }
   233  
   234  type DevEndpointState struct {
   235  	// A map of arguments used to configure the endpoint.
   236  	Arguments pulumi.StringMapInput
   237  	// The ARN of the endpoint.
   238  	Arn pulumi.StringPtrInput
   239  	// The AWS availability zone where this endpoint is located.
   240  	AvailabilityZone pulumi.StringPtrInput
   241  	// Path to one or more Java Jars in an S3 bucket that should be loaded in this endpoint.
   242  	ExtraJarsS3Path pulumi.StringPtrInput
   243  	// Path(s) to one or more Python libraries in an S3 bucket that should be loaded in this endpoint. Multiple values must be complete paths separated by a comma.
   244  	ExtraPythonLibsS3Path pulumi.StringPtrInput
   245  	// The reason for a current failure in this endpoint.
   246  	FailureReason pulumi.StringPtrInput
   247  	// Specifies the versions of Python and Apache Spark to use. Defaults to AWS Glue version 0.9.
   248  	GlueVersion pulumi.StringPtrInput
   249  	// The name of this endpoint. It must be unique in your account.
   250  	Name pulumi.StringPtrInput
   251  	// The number of AWS Glue Data Processing Units (DPUs) to allocate to this endpoint. Conflicts with `workerType`.
   252  	NumberOfNodes pulumi.IntPtrInput
   253  	// The number of workers of a defined worker type that are allocated to this endpoint. This field is available only when you choose worker type G.1X or G.2X.
   254  	NumberOfWorkers pulumi.IntPtrInput
   255  	// A private IP address to access the endpoint within a VPC, if this endpoint is created within one.
   256  	PrivateAddress pulumi.StringPtrInput
   257  	// The public IP address used by this endpoint. The PublicAddress field is present only when you create a non-VPC endpoint.
   258  	PublicAddress pulumi.StringPtrInput
   259  	// The public key to be used by this endpoint for authentication.
   260  	PublicKey pulumi.StringPtrInput
   261  	// A list of public keys to be used by this endpoint for authentication.
   262  	PublicKeys pulumi.StringArrayInput
   263  	// The IAM role for this endpoint.
   264  	RoleArn pulumi.StringPtrInput
   265  	// The name of the Security Configuration structure to be used with this endpoint.
   266  	SecurityConfiguration pulumi.StringPtrInput
   267  	// Security group IDs for the security groups to be used by this endpoint.
   268  	SecurityGroupIds pulumi.StringArrayInput
   269  	// The current status of this endpoint.
   270  	Status pulumi.StringPtrInput
   271  	// The subnet ID for the new endpoint to use.
   272  	SubnetId pulumi.StringPtrInput
   273  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   274  	Tags pulumi.StringMapInput
   275  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   276  	//
   277  	// Deprecated: Please use `tags` instead.
   278  	TagsAll pulumi.StringMapInput
   279  	// he ID of the VPC used by this endpoint.
   280  	VpcId pulumi.StringPtrInput
   281  	// The type of predefined worker that is allocated to this endpoint. Accepts a value of Standard, G.1X, or G.2X.
   282  	WorkerType pulumi.StringPtrInput
   283  	// The YARN endpoint address used by this endpoint.
   284  	YarnEndpointAddress pulumi.StringPtrInput
   285  	// The Apache Zeppelin port for the remote Apache Spark interpreter.
   286  	ZeppelinRemoteSparkInterpreterPort pulumi.IntPtrInput
   287  }
   288  
   289  func (DevEndpointState) ElementType() reflect.Type {
   290  	return reflect.TypeOf((*devEndpointState)(nil)).Elem()
   291  }
   292  
   293  type devEndpointArgs struct {
   294  	// A map of arguments used to configure the endpoint.
   295  	Arguments map[string]string `pulumi:"arguments"`
   296  	// Path to one or more Java Jars in an S3 bucket that should be loaded in this endpoint.
   297  	ExtraJarsS3Path *string `pulumi:"extraJarsS3Path"`
   298  	// Path(s) to one or more Python libraries in an S3 bucket that should be loaded in this endpoint. Multiple values must be complete paths separated by a comma.
   299  	ExtraPythonLibsS3Path *string `pulumi:"extraPythonLibsS3Path"`
   300  	// Specifies the versions of Python and Apache Spark to use. Defaults to AWS Glue version 0.9.
   301  	GlueVersion *string `pulumi:"glueVersion"`
   302  	// The name of this endpoint. It must be unique in your account.
   303  	Name *string `pulumi:"name"`
   304  	// The number of AWS Glue Data Processing Units (DPUs) to allocate to this endpoint. Conflicts with `workerType`.
   305  	NumberOfNodes *int `pulumi:"numberOfNodes"`
   306  	// The number of workers of a defined worker type that are allocated to this endpoint. This field is available only when you choose worker type G.1X or G.2X.
   307  	NumberOfWorkers *int `pulumi:"numberOfWorkers"`
   308  	// The public key to be used by this endpoint for authentication.
   309  	PublicKey *string `pulumi:"publicKey"`
   310  	// A list of public keys to be used by this endpoint for authentication.
   311  	PublicKeys []string `pulumi:"publicKeys"`
   312  	// The IAM role for this endpoint.
   313  	RoleArn string `pulumi:"roleArn"`
   314  	// The name of the Security Configuration structure to be used with this endpoint.
   315  	SecurityConfiguration *string `pulumi:"securityConfiguration"`
   316  	// Security group IDs for the security groups to be used by this endpoint.
   317  	SecurityGroupIds []string `pulumi:"securityGroupIds"`
   318  	// The subnet ID for the new endpoint to use.
   319  	SubnetId *string `pulumi:"subnetId"`
   320  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   321  	Tags map[string]string `pulumi:"tags"`
   322  	// The type of predefined worker that is allocated to this endpoint. Accepts a value of Standard, G.1X, or G.2X.
   323  	WorkerType *string `pulumi:"workerType"`
   324  }
   325  
   326  // The set of arguments for constructing a DevEndpoint resource.
   327  type DevEndpointArgs struct {
   328  	// A map of arguments used to configure the endpoint.
   329  	Arguments pulumi.StringMapInput
   330  	// Path to one or more Java Jars in an S3 bucket that should be loaded in this endpoint.
   331  	ExtraJarsS3Path pulumi.StringPtrInput
   332  	// Path(s) to one or more Python libraries in an S3 bucket that should be loaded in this endpoint. Multiple values must be complete paths separated by a comma.
   333  	ExtraPythonLibsS3Path pulumi.StringPtrInput
   334  	// Specifies the versions of Python and Apache Spark to use. Defaults to AWS Glue version 0.9.
   335  	GlueVersion pulumi.StringPtrInput
   336  	// The name of this endpoint. It must be unique in your account.
   337  	Name pulumi.StringPtrInput
   338  	// The number of AWS Glue Data Processing Units (DPUs) to allocate to this endpoint. Conflicts with `workerType`.
   339  	NumberOfNodes pulumi.IntPtrInput
   340  	// The number of workers of a defined worker type that are allocated to this endpoint. This field is available only when you choose worker type G.1X or G.2X.
   341  	NumberOfWorkers pulumi.IntPtrInput
   342  	// The public key to be used by this endpoint for authentication.
   343  	PublicKey pulumi.StringPtrInput
   344  	// A list of public keys to be used by this endpoint for authentication.
   345  	PublicKeys pulumi.StringArrayInput
   346  	// The IAM role for this endpoint.
   347  	RoleArn pulumi.StringInput
   348  	// The name of the Security Configuration structure to be used with this endpoint.
   349  	SecurityConfiguration pulumi.StringPtrInput
   350  	// Security group IDs for the security groups to be used by this endpoint.
   351  	SecurityGroupIds pulumi.StringArrayInput
   352  	// The subnet ID for the new endpoint to use.
   353  	SubnetId pulumi.StringPtrInput
   354  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   355  	Tags pulumi.StringMapInput
   356  	// The type of predefined worker that is allocated to this endpoint. Accepts a value of Standard, G.1X, or G.2X.
   357  	WorkerType pulumi.StringPtrInput
   358  }
   359  
   360  func (DevEndpointArgs) ElementType() reflect.Type {
   361  	return reflect.TypeOf((*devEndpointArgs)(nil)).Elem()
   362  }
   363  
   364  type DevEndpointInput interface {
   365  	pulumi.Input
   366  
   367  	ToDevEndpointOutput() DevEndpointOutput
   368  	ToDevEndpointOutputWithContext(ctx context.Context) DevEndpointOutput
   369  }
   370  
   371  func (*DevEndpoint) ElementType() reflect.Type {
   372  	return reflect.TypeOf((**DevEndpoint)(nil)).Elem()
   373  }
   374  
   375  func (i *DevEndpoint) ToDevEndpointOutput() DevEndpointOutput {
   376  	return i.ToDevEndpointOutputWithContext(context.Background())
   377  }
   378  
   379  func (i *DevEndpoint) ToDevEndpointOutputWithContext(ctx context.Context) DevEndpointOutput {
   380  	return pulumi.ToOutputWithContext(ctx, i).(DevEndpointOutput)
   381  }
   382  
   383  // DevEndpointArrayInput is an input type that accepts DevEndpointArray and DevEndpointArrayOutput values.
   384  // You can construct a concrete instance of `DevEndpointArrayInput` via:
   385  //
   386  //	DevEndpointArray{ DevEndpointArgs{...} }
   387  type DevEndpointArrayInput interface {
   388  	pulumi.Input
   389  
   390  	ToDevEndpointArrayOutput() DevEndpointArrayOutput
   391  	ToDevEndpointArrayOutputWithContext(context.Context) DevEndpointArrayOutput
   392  }
   393  
   394  type DevEndpointArray []DevEndpointInput
   395  
   396  func (DevEndpointArray) ElementType() reflect.Type {
   397  	return reflect.TypeOf((*[]*DevEndpoint)(nil)).Elem()
   398  }
   399  
   400  func (i DevEndpointArray) ToDevEndpointArrayOutput() DevEndpointArrayOutput {
   401  	return i.ToDevEndpointArrayOutputWithContext(context.Background())
   402  }
   403  
   404  func (i DevEndpointArray) ToDevEndpointArrayOutputWithContext(ctx context.Context) DevEndpointArrayOutput {
   405  	return pulumi.ToOutputWithContext(ctx, i).(DevEndpointArrayOutput)
   406  }
   407  
   408  // DevEndpointMapInput is an input type that accepts DevEndpointMap and DevEndpointMapOutput values.
   409  // You can construct a concrete instance of `DevEndpointMapInput` via:
   410  //
   411  //	DevEndpointMap{ "key": DevEndpointArgs{...} }
   412  type DevEndpointMapInput interface {
   413  	pulumi.Input
   414  
   415  	ToDevEndpointMapOutput() DevEndpointMapOutput
   416  	ToDevEndpointMapOutputWithContext(context.Context) DevEndpointMapOutput
   417  }
   418  
   419  type DevEndpointMap map[string]DevEndpointInput
   420  
   421  func (DevEndpointMap) ElementType() reflect.Type {
   422  	return reflect.TypeOf((*map[string]*DevEndpoint)(nil)).Elem()
   423  }
   424  
   425  func (i DevEndpointMap) ToDevEndpointMapOutput() DevEndpointMapOutput {
   426  	return i.ToDevEndpointMapOutputWithContext(context.Background())
   427  }
   428  
   429  func (i DevEndpointMap) ToDevEndpointMapOutputWithContext(ctx context.Context) DevEndpointMapOutput {
   430  	return pulumi.ToOutputWithContext(ctx, i).(DevEndpointMapOutput)
   431  }
   432  
   433  type DevEndpointOutput struct{ *pulumi.OutputState }
   434  
   435  func (DevEndpointOutput) ElementType() reflect.Type {
   436  	return reflect.TypeOf((**DevEndpoint)(nil)).Elem()
   437  }
   438  
   439  func (o DevEndpointOutput) ToDevEndpointOutput() DevEndpointOutput {
   440  	return o
   441  }
   442  
   443  func (o DevEndpointOutput) ToDevEndpointOutputWithContext(ctx context.Context) DevEndpointOutput {
   444  	return o
   445  }
   446  
   447  // A map of arguments used to configure the endpoint.
   448  func (o DevEndpointOutput) Arguments() pulumi.StringMapOutput {
   449  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringMapOutput { return v.Arguments }).(pulumi.StringMapOutput)
   450  }
   451  
   452  // The ARN of the endpoint.
   453  func (o DevEndpointOutput) Arn() pulumi.StringOutput {
   454  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   455  }
   456  
   457  // The AWS availability zone where this endpoint is located.
   458  func (o DevEndpointOutput) AvailabilityZone() pulumi.StringOutput {
   459  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringOutput { return v.AvailabilityZone }).(pulumi.StringOutput)
   460  }
   461  
   462  // Path to one or more Java Jars in an S3 bucket that should be loaded in this endpoint.
   463  func (o DevEndpointOutput) ExtraJarsS3Path() pulumi.StringPtrOutput {
   464  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringPtrOutput { return v.ExtraJarsS3Path }).(pulumi.StringPtrOutput)
   465  }
   466  
   467  // Path(s) to one or more Python libraries in an S3 bucket that should be loaded in this endpoint. Multiple values must be complete paths separated by a comma.
   468  func (o DevEndpointOutput) ExtraPythonLibsS3Path() pulumi.StringPtrOutput {
   469  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringPtrOutput { return v.ExtraPythonLibsS3Path }).(pulumi.StringPtrOutput)
   470  }
   471  
   472  // The reason for a current failure in this endpoint.
   473  func (o DevEndpointOutput) FailureReason() pulumi.StringOutput {
   474  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringOutput { return v.FailureReason }).(pulumi.StringOutput)
   475  }
   476  
   477  // Specifies the versions of Python and Apache Spark to use. Defaults to AWS Glue version 0.9.
   478  func (o DevEndpointOutput) GlueVersion() pulumi.StringPtrOutput {
   479  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringPtrOutput { return v.GlueVersion }).(pulumi.StringPtrOutput)
   480  }
   481  
   482  // The name of this endpoint. It must be unique in your account.
   483  func (o DevEndpointOutput) Name() pulumi.StringOutput {
   484  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   485  }
   486  
   487  // The number of AWS Glue Data Processing Units (DPUs) to allocate to this endpoint. Conflicts with `workerType`.
   488  func (o DevEndpointOutput) NumberOfNodes() pulumi.IntPtrOutput {
   489  	return o.ApplyT(func(v *DevEndpoint) pulumi.IntPtrOutput { return v.NumberOfNodes }).(pulumi.IntPtrOutput)
   490  }
   491  
   492  // The number of workers of a defined worker type that are allocated to this endpoint. This field is available only when you choose worker type G.1X or G.2X.
   493  func (o DevEndpointOutput) NumberOfWorkers() pulumi.IntPtrOutput {
   494  	return o.ApplyT(func(v *DevEndpoint) pulumi.IntPtrOutput { return v.NumberOfWorkers }).(pulumi.IntPtrOutput)
   495  }
   496  
   497  // A private IP address to access the endpoint within a VPC, if this endpoint is created within one.
   498  func (o DevEndpointOutput) PrivateAddress() pulumi.StringOutput {
   499  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringOutput { return v.PrivateAddress }).(pulumi.StringOutput)
   500  }
   501  
   502  // The public IP address used by this endpoint. The PublicAddress field is present only when you create a non-VPC endpoint.
   503  func (o DevEndpointOutput) PublicAddress() pulumi.StringOutput {
   504  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringOutput { return v.PublicAddress }).(pulumi.StringOutput)
   505  }
   506  
   507  // The public key to be used by this endpoint for authentication.
   508  func (o DevEndpointOutput) PublicKey() pulumi.StringPtrOutput {
   509  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringPtrOutput { return v.PublicKey }).(pulumi.StringPtrOutput)
   510  }
   511  
   512  // A list of public keys to be used by this endpoint for authentication.
   513  func (o DevEndpointOutput) PublicKeys() pulumi.StringArrayOutput {
   514  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringArrayOutput { return v.PublicKeys }).(pulumi.StringArrayOutput)
   515  }
   516  
   517  // The IAM role for this endpoint.
   518  func (o DevEndpointOutput) RoleArn() pulumi.StringOutput {
   519  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput)
   520  }
   521  
   522  // The name of the Security Configuration structure to be used with this endpoint.
   523  func (o DevEndpointOutput) SecurityConfiguration() pulumi.StringPtrOutput {
   524  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringPtrOutput { return v.SecurityConfiguration }).(pulumi.StringPtrOutput)
   525  }
   526  
   527  // Security group IDs for the security groups to be used by this endpoint.
   528  func (o DevEndpointOutput) SecurityGroupIds() pulumi.StringArrayOutput {
   529  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput)
   530  }
   531  
   532  // The current status of this endpoint.
   533  func (o DevEndpointOutput) Status() pulumi.StringOutput {
   534  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput)
   535  }
   536  
   537  // The subnet ID for the new endpoint to use.
   538  func (o DevEndpointOutput) SubnetId() pulumi.StringPtrOutput {
   539  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringPtrOutput { return v.SubnetId }).(pulumi.StringPtrOutput)
   540  }
   541  
   542  // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   543  func (o DevEndpointOutput) Tags() pulumi.StringMapOutput {
   544  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   545  }
   546  
   547  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   548  //
   549  // Deprecated: Please use `tags` instead.
   550  func (o DevEndpointOutput) TagsAll() pulumi.StringMapOutput {
   551  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   552  }
   553  
   554  // he ID of the VPC used by this endpoint.
   555  func (o DevEndpointOutput) VpcId() pulumi.StringOutput {
   556  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput)
   557  }
   558  
   559  // The type of predefined worker that is allocated to this endpoint. Accepts a value of Standard, G.1X, or G.2X.
   560  func (o DevEndpointOutput) WorkerType() pulumi.StringPtrOutput {
   561  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringPtrOutput { return v.WorkerType }).(pulumi.StringPtrOutput)
   562  }
   563  
   564  // The YARN endpoint address used by this endpoint.
   565  func (o DevEndpointOutput) YarnEndpointAddress() pulumi.StringOutput {
   566  	return o.ApplyT(func(v *DevEndpoint) pulumi.StringOutput { return v.YarnEndpointAddress }).(pulumi.StringOutput)
   567  }
   568  
   569  // The Apache Zeppelin port for the remote Apache Spark interpreter.
   570  func (o DevEndpointOutput) ZeppelinRemoteSparkInterpreterPort() pulumi.IntOutput {
   571  	return o.ApplyT(func(v *DevEndpoint) pulumi.IntOutput { return v.ZeppelinRemoteSparkInterpreterPort }).(pulumi.IntOutput)
   572  }
   573  
   574  type DevEndpointArrayOutput struct{ *pulumi.OutputState }
   575  
   576  func (DevEndpointArrayOutput) ElementType() reflect.Type {
   577  	return reflect.TypeOf((*[]*DevEndpoint)(nil)).Elem()
   578  }
   579  
   580  func (o DevEndpointArrayOutput) ToDevEndpointArrayOutput() DevEndpointArrayOutput {
   581  	return o
   582  }
   583  
   584  func (o DevEndpointArrayOutput) ToDevEndpointArrayOutputWithContext(ctx context.Context) DevEndpointArrayOutput {
   585  	return o
   586  }
   587  
   588  func (o DevEndpointArrayOutput) Index(i pulumi.IntInput) DevEndpointOutput {
   589  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DevEndpoint {
   590  		return vs[0].([]*DevEndpoint)[vs[1].(int)]
   591  	}).(DevEndpointOutput)
   592  }
   593  
   594  type DevEndpointMapOutput struct{ *pulumi.OutputState }
   595  
   596  func (DevEndpointMapOutput) ElementType() reflect.Type {
   597  	return reflect.TypeOf((*map[string]*DevEndpoint)(nil)).Elem()
   598  }
   599  
   600  func (o DevEndpointMapOutput) ToDevEndpointMapOutput() DevEndpointMapOutput {
   601  	return o
   602  }
   603  
   604  func (o DevEndpointMapOutput) ToDevEndpointMapOutputWithContext(ctx context.Context) DevEndpointMapOutput {
   605  	return o
   606  }
   607  
   608  func (o DevEndpointMapOutput) MapIndex(k pulumi.StringInput) DevEndpointOutput {
   609  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DevEndpoint {
   610  		return vs[0].(map[string]*DevEndpoint)[vs[1].(string)]
   611  	}).(DevEndpointOutput)
   612  }
   613  
   614  func init() {
   615  	pulumi.RegisterInputType(reflect.TypeOf((*DevEndpointInput)(nil)).Elem(), &DevEndpoint{})
   616  	pulumi.RegisterInputType(reflect.TypeOf((*DevEndpointArrayInput)(nil)).Elem(), DevEndpointArray{})
   617  	pulumi.RegisterInputType(reflect.TypeOf((*DevEndpointMapInput)(nil)).Elem(), DevEndpointMap{})
   618  	pulumi.RegisterOutputType(DevEndpointOutput{})
   619  	pulumi.RegisterOutputType(DevEndpointArrayOutput{})
   620  	pulumi.RegisterOutputType(DevEndpointMapOutput{})
   621  }