github.com/aavshr/aws-sdk-go@v1.41.3/service/emrcontainers/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package emrcontainers
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const opCancelJobRun = "CancelJobRun"
    17  
    18  // CancelJobRunRequest generates a "aws/request.Request" representing the
    19  // client's request for the CancelJobRun operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See CancelJobRun for more information on using the CancelJobRun
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the CancelJobRunRequest method.
    34  //    req, resp := client.CancelJobRunRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/CancelJobRun
    42  func (c *EMRContainers) CancelJobRunRequest(input *CancelJobRunInput) (req *request.Request, output *CancelJobRunOutput) {
    43  	op := &request.Operation{
    44  		Name:       opCancelJobRun,
    45  		HTTPMethod: "DELETE",
    46  		HTTPPath:   "/virtualclusters/{virtualClusterId}/jobruns/{jobRunId}",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &CancelJobRunInput{}
    51  	}
    52  
    53  	output = &CancelJobRunOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // CancelJobRun API operation for Amazon EMR Containers.
    59  //
    60  // Cancels a job run. A job run is a unit of work, such as a Spark jar, PySpark
    61  // script, or SparkSQL query, that you submit to Amazon EMR on EKS.
    62  //
    63  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    64  // with awserr.Error's Code and Message methods to get detailed information about
    65  // the error.
    66  //
    67  // See the AWS API reference guide for Amazon EMR Containers's
    68  // API operation CancelJobRun for usage and error information.
    69  //
    70  // Returned Error Types:
    71  //   * ValidationException
    72  //   There are invalid parameters in the client request.
    73  //
    74  //   * InternalServerException
    75  //   This is an internal server exception.
    76  //
    77  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/CancelJobRun
    78  func (c *EMRContainers) CancelJobRun(input *CancelJobRunInput) (*CancelJobRunOutput, error) {
    79  	req, out := c.CancelJobRunRequest(input)
    80  	return out, req.Send()
    81  }
    82  
    83  // CancelJobRunWithContext is the same as CancelJobRun with the addition of
    84  // the ability to pass a context and additional request options.
    85  //
    86  // See CancelJobRun for details on how to use this API operation.
    87  //
    88  // The context must be non-nil and will be used for request cancellation. If
    89  // the context is nil a panic will occur. In the future the SDK may create
    90  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    91  // for more information on using Contexts.
    92  func (c *EMRContainers) CancelJobRunWithContext(ctx aws.Context, input *CancelJobRunInput, opts ...request.Option) (*CancelJobRunOutput, error) {
    93  	req, out := c.CancelJobRunRequest(input)
    94  	req.SetContext(ctx)
    95  	req.ApplyOptions(opts...)
    96  	return out, req.Send()
    97  }
    98  
    99  const opCreateManagedEndpoint = "CreateManagedEndpoint"
   100  
   101  // CreateManagedEndpointRequest generates a "aws/request.Request" representing the
   102  // client's request for the CreateManagedEndpoint operation. The "output" return
   103  // value will be populated with the request's response once the request completes
   104  // successfully.
   105  //
   106  // Use "Send" method on the returned Request to send the API call to the service.
   107  // the "output" return value is not valid until after Send returns without error.
   108  //
   109  // See CreateManagedEndpoint for more information on using the CreateManagedEndpoint
   110  // API call, and error handling.
   111  //
   112  // This method is useful when you want to inject custom logic or configuration
   113  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   114  //
   115  //
   116  //    // Example sending a request using the CreateManagedEndpointRequest method.
   117  //    req, resp := client.CreateManagedEndpointRequest(params)
   118  //
   119  //    err := req.Send()
   120  //    if err == nil { // resp is now filled
   121  //        fmt.Println(resp)
   122  //    }
   123  //
   124  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/CreateManagedEndpoint
   125  func (c *EMRContainers) CreateManagedEndpointRequest(input *CreateManagedEndpointInput) (req *request.Request, output *CreateManagedEndpointOutput) {
   126  	op := &request.Operation{
   127  		Name:       opCreateManagedEndpoint,
   128  		HTTPMethod: "POST",
   129  		HTTPPath:   "/virtualclusters/{virtualClusterId}/endpoints",
   130  	}
   131  
   132  	if input == nil {
   133  		input = &CreateManagedEndpointInput{}
   134  	}
   135  
   136  	output = &CreateManagedEndpointOutput{}
   137  	req = c.newRequest(op, input, output)
   138  	return
   139  }
   140  
   141  // CreateManagedEndpoint API operation for Amazon EMR Containers.
   142  //
   143  // Creates a managed endpoint. A managed endpoint is a gateway that connects
   144  // EMR Studio to Amazon EMR on EKS so that EMR Studio can communicate with your
   145  // virtual cluster.
   146  //
   147  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   148  // with awserr.Error's Code and Message methods to get detailed information about
   149  // the error.
   150  //
   151  // See the AWS API reference guide for Amazon EMR Containers's
   152  // API operation CreateManagedEndpoint for usage and error information.
   153  //
   154  // Returned Error Types:
   155  //   * ValidationException
   156  //   There are invalid parameters in the client request.
   157  //
   158  //   * ResourceNotFoundException
   159  //   The specified resource was not found.
   160  //
   161  //   * InternalServerException
   162  //   This is an internal server exception.
   163  //
   164  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/CreateManagedEndpoint
   165  func (c *EMRContainers) CreateManagedEndpoint(input *CreateManagedEndpointInput) (*CreateManagedEndpointOutput, error) {
   166  	req, out := c.CreateManagedEndpointRequest(input)
   167  	return out, req.Send()
   168  }
   169  
   170  // CreateManagedEndpointWithContext is the same as CreateManagedEndpoint with the addition of
   171  // the ability to pass a context and additional request options.
   172  //
   173  // See CreateManagedEndpoint for details on how to use this API operation.
   174  //
   175  // The context must be non-nil and will be used for request cancellation. If
   176  // the context is nil a panic will occur. In the future the SDK may create
   177  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   178  // for more information on using Contexts.
   179  func (c *EMRContainers) CreateManagedEndpointWithContext(ctx aws.Context, input *CreateManagedEndpointInput, opts ...request.Option) (*CreateManagedEndpointOutput, error) {
   180  	req, out := c.CreateManagedEndpointRequest(input)
   181  	req.SetContext(ctx)
   182  	req.ApplyOptions(opts...)
   183  	return out, req.Send()
   184  }
   185  
   186  const opCreateVirtualCluster = "CreateVirtualCluster"
   187  
   188  // CreateVirtualClusterRequest generates a "aws/request.Request" representing the
   189  // client's request for the CreateVirtualCluster operation. The "output" return
   190  // value will be populated with the request's response once the request completes
   191  // successfully.
   192  //
   193  // Use "Send" method on the returned Request to send the API call to the service.
   194  // the "output" return value is not valid until after Send returns without error.
   195  //
   196  // See CreateVirtualCluster for more information on using the CreateVirtualCluster
   197  // API call, and error handling.
   198  //
   199  // This method is useful when you want to inject custom logic or configuration
   200  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   201  //
   202  //
   203  //    // Example sending a request using the CreateVirtualClusterRequest method.
   204  //    req, resp := client.CreateVirtualClusterRequest(params)
   205  //
   206  //    err := req.Send()
   207  //    if err == nil { // resp is now filled
   208  //        fmt.Println(resp)
   209  //    }
   210  //
   211  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/CreateVirtualCluster
   212  func (c *EMRContainers) CreateVirtualClusterRequest(input *CreateVirtualClusterInput) (req *request.Request, output *CreateVirtualClusterOutput) {
   213  	op := &request.Operation{
   214  		Name:       opCreateVirtualCluster,
   215  		HTTPMethod: "POST",
   216  		HTTPPath:   "/virtualclusters",
   217  	}
   218  
   219  	if input == nil {
   220  		input = &CreateVirtualClusterInput{}
   221  	}
   222  
   223  	output = &CreateVirtualClusterOutput{}
   224  	req = c.newRequest(op, input, output)
   225  	return
   226  }
   227  
   228  // CreateVirtualCluster API operation for Amazon EMR Containers.
   229  //
   230  // Creates a virtual cluster. Virtual cluster is a managed entity on Amazon
   231  // EMR on EKS. You can create, describe, list and delete virtual clusters. They
   232  // do not consume any additional resource in your system. A single virtual cluster
   233  // maps to a single Kubernetes namespace. Given this relationship, you can model
   234  // virtual clusters the same way you model Kubernetes namespaces to meet your
   235  // requirements.
   236  //
   237  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   238  // with awserr.Error's Code and Message methods to get detailed information about
   239  // the error.
   240  //
   241  // See the AWS API reference guide for Amazon EMR Containers's
   242  // API operation CreateVirtualCluster for usage and error information.
   243  //
   244  // Returned Error Types:
   245  //   * ValidationException
   246  //   There are invalid parameters in the client request.
   247  //
   248  //   * ResourceNotFoundException
   249  //   The specified resource was not found.
   250  //
   251  //   * InternalServerException
   252  //   This is an internal server exception.
   253  //
   254  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/CreateVirtualCluster
   255  func (c *EMRContainers) CreateVirtualCluster(input *CreateVirtualClusterInput) (*CreateVirtualClusterOutput, error) {
   256  	req, out := c.CreateVirtualClusterRequest(input)
   257  	return out, req.Send()
   258  }
   259  
   260  // CreateVirtualClusterWithContext is the same as CreateVirtualCluster with the addition of
   261  // the ability to pass a context and additional request options.
   262  //
   263  // See CreateVirtualCluster for details on how to use this API operation.
   264  //
   265  // The context must be non-nil and will be used for request cancellation. If
   266  // the context is nil a panic will occur. In the future the SDK may create
   267  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   268  // for more information on using Contexts.
   269  func (c *EMRContainers) CreateVirtualClusterWithContext(ctx aws.Context, input *CreateVirtualClusterInput, opts ...request.Option) (*CreateVirtualClusterOutput, error) {
   270  	req, out := c.CreateVirtualClusterRequest(input)
   271  	req.SetContext(ctx)
   272  	req.ApplyOptions(opts...)
   273  	return out, req.Send()
   274  }
   275  
   276  const opDeleteManagedEndpoint = "DeleteManagedEndpoint"
   277  
   278  // DeleteManagedEndpointRequest generates a "aws/request.Request" representing the
   279  // client's request for the DeleteManagedEndpoint operation. The "output" return
   280  // value will be populated with the request's response once the request completes
   281  // successfully.
   282  //
   283  // Use "Send" method on the returned Request to send the API call to the service.
   284  // the "output" return value is not valid until after Send returns without error.
   285  //
   286  // See DeleteManagedEndpoint for more information on using the DeleteManagedEndpoint
   287  // API call, and error handling.
   288  //
   289  // This method is useful when you want to inject custom logic or configuration
   290  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   291  //
   292  //
   293  //    // Example sending a request using the DeleteManagedEndpointRequest method.
   294  //    req, resp := client.DeleteManagedEndpointRequest(params)
   295  //
   296  //    err := req.Send()
   297  //    if err == nil { // resp is now filled
   298  //        fmt.Println(resp)
   299  //    }
   300  //
   301  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/DeleteManagedEndpoint
   302  func (c *EMRContainers) DeleteManagedEndpointRequest(input *DeleteManagedEndpointInput) (req *request.Request, output *DeleteManagedEndpointOutput) {
   303  	op := &request.Operation{
   304  		Name:       opDeleteManagedEndpoint,
   305  		HTTPMethod: "DELETE",
   306  		HTTPPath:   "/virtualclusters/{virtualClusterId}/endpoints/{endpointId}",
   307  	}
   308  
   309  	if input == nil {
   310  		input = &DeleteManagedEndpointInput{}
   311  	}
   312  
   313  	output = &DeleteManagedEndpointOutput{}
   314  	req = c.newRequest(op, input, output)
   315  	return
   316  }
   317  
   318  // DeleteManagedEndpoint API operation for Amazon EMR Containers.
   319  //
   320  // Deletes a managed endpoint. A managed endpoint is a gateway that connects
   321  // EMR Studio to Amazon EMR on EKS so that EMR Studio can communicate with your
   322  // virtual cluster.
   323  //
   324  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   325  // with awserr.Error's Code and Message methods to get detailed information about
   326  // the error.
   327  //
   328  // See the AWS API reference guide for Amazon EMR Containers's
   329  // API operation DeleteManagedEndpoint for usage and error information.
   330  //
   331  // Returned Error Types:
   332  //   * ValidationException
   333  //   There are invalid parameters in the client request.
   334  //
   335  //   * InternalServerException
   336  //   This is an internal server exception.
   337  //
   338  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/DeleteManagedEndpoint
   339  func (c *EMRContainers) DeleteManagedEndpoint(input *DeleteManagedEndpointInput) (*DeleteManagedEndpointOutput, error) {
   340  	req, out := c.DeleteManagedEndpointRequest(input)
   341  	return out, req.Send()
   342  }
   343  
   344  // DeleteManagedEndpointWithContext is the same as DeleteManagedEndpoint with the addition of
   345  // the ability to pass a context and additional request options.
   346  //
   347  // See DeleteManagedEndpoint for details on how to use this API operation.
   348  //
   349  // The context must be non-nil and will be used for request cancellation. If
   350  // the context is nil a panic will occur. In the future the SDK may create
   351  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   352  // for more information on using Contexts.
   353  func (c *EMRContainers) DeleteManagedEndpointWithContext(ctx aws.Context, input *DeleteManagedEndpointInput, opts ...request.Option) (*DeleteManagedEndpointOutput, error) {
   354  	req, out := c.DeleteManagedEndpointRequest(input)
   355  	req.SetContext(ctx)
   356  	req.ApplyOptions(opts...)
   357  	return out, req.Send()
   358  }
   359  
   360  const opDeleteVirtualCluster = "DeleteVirtualCluster"
   361  
   362  // DeleteVirtualClusterRequest generates a "aws/request.Request" representing the
   363  // client's request for the DeleteVirtualCluster operation. The "output" return
   364  // value will be populated with the request's response once the request completes
   365  // successfully.
   366  //
   367  // Use "Send" method on the returned Request to send the API call to the service.
   368  // the "output" return value is not valid until after Send returns without error.
   369  //
   370  // See DeleteVirtualCluster for more information on using the DeleteVirtualCluster
   371  // API call, and error handling.
   372  //
   373  // This method is useful when you want to inject custom logic or configuration
   374  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   375  //
   376  //
   377  //    // Example sending a request using the DeleteVirtualClusterRequest method.
   378  //    req, resp := client.DeleteVirtualClusterRequest(params)
   379  //
   380  //    err := req.Send()
   381  //    if err == nil { // resp is now filled
   382  //        fmt.Println(resp)
   383  //    }
   384  //
   385  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/DeleteVirtualCluster
   386  func (c *EMRContainers) DeleteVirtualClusterRequest(input *DeleteVirtualClusterInput) (req *request.Request, output *DeleteVirtualClusterOutput) {
   387  	op := &request.Operation{
   388  		Name:       opDeleteVirtualCluster,
   389  		HTTPMethod: "DELETE",
   390  		HTTPPath:   "/virtualclusters/{virtualClusterId}",
   391  	}
   392  
   393  	if input == nil {
   394  		input = &DeleteVirtualClusterInput{}
   395  	}
   396  
   397  	output = &DeleteVirtualClusterOutput{}
   398  	req = c.newRequest(op, input, output)
   399  	return
   400  }
   401  
   402  // DeleteVirtualCluster API operation for Amazon EMR Containers.
   403  //
   404  // Deletes a virtual cluster. Virtual cluster is a managed entity on Amazon
   405  // EMR on EKS. You can create, describe, list and delete virtual clusters. They
   406  // do not consume any additional resource in your system. A single virtual cluster
   407  // maps to a single Kubernetes namespace. Given this relationship, you can model
   408  // virtual clusters the same way you model Kubernetes namespaces to meet your
   409  // requirements.
   410  //
   411  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   412  // with awserr.Error's Code and Message methods to get detailed information about
   413  // the error.
   414  //
   415  // See the AWS API reference guide for Amazon EMR Containers's
   416  // API operation DeleteVirtualCluster for usage and error information.
   417  //
   418  // Returned Error Types:
   419  //   * ValidationException
   420  //   There are invalid parameters in the client request.
   421  //
   422  //   * InternalServerException
   423  //   This is an internal server exception.
   424  //
   425  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/DeleteVirtualCluster
   426  func (c *EMRContainers) DeleteVirtualCluster(input *DeleteVirtualClusterInput) (*DeleteVirtualClusterOutput, error) {
   427  	req, out := c.DeleteVirtualClusterRequest(input)
   428  	return out, req.Send()
   429  }
   430  
   431  // DeleteVirtualClusterWithContext is the same as DeleteVirtualCluster with the addition of
   432  // the ability to pass a context and additional request options.
   433  //
   434  // See DeleteVirtualCluster for details on how to use this API operation.
   435  //
   436  // The context must be non-nil and will be used for request cancellation. If
   437  // the context is nil a panic will occur. In the future the SDK may create
   438  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   439  // for more information on using Contexts.
   440  func (c *EMRContainers) DeleteVirtualClusterWithContext(ctx aws.Context, input *DeleteVirtualClusterInput, opts ...request.Option) (*DeleteVirtualClusterOutput, error) {
   441  	req, out := c.DeleteVirtualClusterRequest(input)
   442  	req.SetContext(ctx)
   443  	req.ApplyOptions(opts...)
   444  	return out, req.Send()
   445  }
   446  
   447  const opDescribeJobRun = "DescribeJobRun"
   448  
   449  // DescribeJobRunRequest generates a "aws/request.Request" representing the
   450  // client's request for the DescribeJobRun operation. The "output" return
   451  // value will be populated with the request's response once the request completes
   452  // successfully.
   453  //
   454  // Use "Send" method on the returned Request to send the API call to the service.
   455  // the "output" return value is not valid until after Send returns without error.
   456  //
   457  // See DescribeJobRun for more information on using the DescribeJobRun
   458  // API call, and error handling.
   459  //
   460  // This method is useful when you want to inject custom logic or configuration
   461  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   462  //
   463  //
   464  //    // Example sending a request using the DescribeJobRunRequest method.
   465  //    req, resp := client.DescribeJobRunRequest(params)
   466  //
   467  //    err := req.Send()
   468  //    if err == nil { // resp is now filled
   469  //        fmt.Println(resp)
   470  //    }
   471  //
   472  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/DescribeJobRun
   473  func (c *EMRContainers) DescribeJobRunRequest(input *DescribeJobRunInput) (req *request.Request, output *DescribeJobRunOutput) {
   474  	op := &request.Operation{
   475  		Name:       opDescribeJobRun,
   476  		HTTPMethod: "GET",
   477  		HTTPPath:   "/virtualclusters/{virtualClusterId}/jobruns/{jobRunId}",
   478  	}
   479  
   480  	if input == nil {
   481  		input = &DescribeJobRunInput{}
   482  	}
   483  
   484  	output = &DescribeJobRunOutput{}
   485  	req = c.newRequest(op, input, output)
   486  	return
   487  }
   488  
   489  // DescribeJobRun API operation for Amazon EMR Containers.
   490  //
   491  // Displays detailed information about a job run. A job run is a unit of work,
   492  // such as a Spark jar, PySpark script, or SparkSQL query, that you submit to
   493  // Amazon EMR on EKS.
   494  //
   495  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   496  // with awserr.Error's Code and Message methods to get detailed information about
   497  // the error.
   498  //
   499  // See the AWS API reference guide for Amazon EMR Containers's
   500  // API operation DescribeJobRun for usage and error information.
   501  //
   502  // Returned Error Types:
   503  //   * ValidationException
   504  //   There are invalid parameters in the client request.
   505  //
   506  //   * ResourceNotFoundException
   507  //   The specified resource was not found.
   508  //
   509  //   * InternalServerException
   510  //   This is an internal server exception.
   511  //
   512  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/DescribeJobRun
   513  func (c *EMRContainers) DescribeJobRun(input *DescribeJobRunInput) (*DescribeJobRunOutput, error) {
   514  	req, out := c.DescribeJobRunRequest(input)
   515  	return out, req.Send()
   516  }
   517  
   518  // DescribeJobRunWithContext is the same as DescribeJobRun with the addition of
   519  // the ability to pass a context and additional request options.
   520  //
   521  // See DescribeJobRun for details on how to use this API operation.
   522  //
   523  // The context must be non-nil and will be used for request cancellation. If
   524  // the context is nil a panic will occur. In the future the SDK may create
   525  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   526  // for more information on using Contexts.
   527  func (c *EMRContainers) DescribeJobRunWithContext(ctx aws.Context, input *DescribeJobRunInput, opts ...request.Option) (*DescribeJobRunOutput, error) {
   528  	req, out := c.DescribeJobRunRequest(input)
   529  	req.SetContext(ctx)
   530  	req.ApplyOptions(opts...)
   531  	return out, req.Send()
   532  }
   533  
   534  const opDescribeManagedEndpoint = "DescribeManagedEndpoint"
   535  
   536  // DescribeManagedEndpointRequest generates a "aws/request.Request" representing the
   537  // client's request for the DescribeManagedEndpoint operation. The "output" return
   538  // value will be populated with the request's response once the request completes
   539  // successfully.
   540  //
   541  // Use "Send" method on the returned Request to send the API call to the service.
   542  // the "output" return value is not valid until after Send returns without error.
   543  //
   544  // See DescribeManagedEndpoint for more information on using the DescribeManagedEndpoint
   545  // API call, and error handling.
   546  //
   547  // This method is useful when you want to inject custom logic or configuration
   548  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   549  //
   550  //
   551  //    // Example sending a request using the DescribeManagedEndpointRequest method.
   552  //    req, resp := client.DescribeManagedEndpointRequest(params)
   553  //
   554  //    err := req.Send()
   555  //    if err == nil { // resp is now filled
   556  //        fmt.Println(resp)
   557  //    }
   558  //
   559  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/DescribeManagedEndpoint
   560  func (c *EMRContainers) DescribeManagedEndpointRequest(input *DescribeManagedEndpointInput) (req *request.Request, output *DescribeManagedEndpointOutput) {
   561  	op := &request.Operation{
   562  		Name:       opDescribeManagedEndpoint,
   563  		HTTPMethod: "GET",
   564  		HTTPPath:   "/virtualclusters/{virtualClusterId}/endpoints/{endpointId}",
   565  	}
   566  
   567  	if input == nil {
   568  		input = &DescribeManagedEndpointInput{}
   569  	}
   570  
   571  	output = &DescribeManagedEndpointOutput{}
   572  	req = c.newRequest(op, input, output)
   573  	return
   574  }
   575  
   576  // DescribeManagedEndpoint API operation for Amazon EMR Containers.
   577  //
   578  // Displays detailed information about a managed endpoint. A managed endpoint
   579  // is a gateway that connects EMR Studio to Amazon EMR on EKS so that EMR Studio
   580  // can communicate with your virtual cluster.
   581  //
   582  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   583  // with awserr.Error's Code and Message methods to get detailed information about
   584  // the error.
   585  //
   586  // See the AWS API reference guide for Amazon EMR Containers's
   587  // API operation DescribeManagedEndpoint for usage and error information.
   588  //
   589  // Returned Error Types:
   590  //   * ValidationException
   591  //   There are invalid parameters in the client request.
   592  //
   593  //   * ResourceNotFoundException
   594  //   The specified resource was not found.
   595  //
   596  //   * InternalServerException
   597  //   This is an internal server exception.
   598  //
   599  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/DescribeManagedEndpoint
   600  func (c *EMRContainers) DescribeManagedEndpoint(input *DescribeManagedEndpointInput) (*DescribeManagedEndpointOutput, error) {
   601  	req, out := c.DescribeManagedEndpointRequest(input)
   602  	return out, req.Send()
   603  }
   604  
   605  // DescribeManagedEndpointWithContext is the same as DescribeManagedEndpoint with the addition of
   606  // the ability to pass a context and additional request options.
   607  //
   608  // See DescribeManagedEndpoint for details on how to use this API operation.
   609  //
   610  // The context must be non-nil and will be used for request cancellation. If
   611  // the context is nil a panic will occur. In the future the SDK may create
   612  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   613  // for more information on using Contexts.
   614  func (c *EMRContainers) DescribeManagedEndpointWithContext(ctx aws.Context, input *DescribeManagedEndpointInput, opts ...request.Option) (*DescribeManagedEndpointOutput, error) {
   615  	req, out := c.DescribeManagedEndpointRequest(input)
   616  	req.SetContext(ctx)
   617  	req.ApplyOptions(opts...)
   618  	return out, req.Send()
   619  }
   620  
   621  const opDescribeVirtualCluster = "DescribeVirtualCluster"
   622  
   623  // DescribeVirtualClusterRequest generates a "aws/request.Request" representing the
   624  // client's request for the DescribeVirtualCluster operation. The "output" return
   625  // value will be populated with the request's response once the request completes
   626  // successfully.
   627  //
   628  // Use "Send" method on the returned Request to send the API call to the service.
   629  // the "output" return value is not valid until after Send returns without error.
   630  //
   631  // See DescribeVirtualCluster for more information on using the DescribeVirtualCluster
   632  // API call, and error handling.
   633  //
   634  // This method is useful when you want to inject custom logic or configuration
   635  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   636  //
   637  //
   638  //    // Example sending a request using the DescribeVirtualClusterRequest method.
   639  //    req, resp := client.DescribeVirtualClusterRequest(params)
   640  //
   641  //    err := req.Send()
   642  //    if err == nil { // resp is now filled
   643  //        fmt.Println(resp)
   644  //    }
   645  //
   646  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/DescribeVirtualCluster
   647  func (c *EMRContainers) DescribeVirtualClusterRequest(input *DescribeVirtualClusterInput) (req *request.Request, output *DescribeVirtualClusterOutput) {
   648  	op := &request.Operation{
   649  		Name:       opDescribeVirtualCluster,
   650  		HTTPMethod: "GET",
   651  		HTTPPath:   "/virtualclusters/{virtualClusterId}",
   652  	}
   653  
   654  	if input == nil {
   655  		input = &DescribeVirtualClusterInput{}
   656  	}
   657  
   658  	output = &DescribeVirtualClusterOutput{}
   659  	req = c.newRequest(op, input, output)
   660  	return
   661  }
   662  
   663  // DescribeVirtualCluster API operation for Amazon EMR Containers.
   664  //
   665  // Displays detailed information about a specified virtual cluster. Virtual
   666  // cluster is a managed entity on Amazon EMR on EKS. You can create, describe,
   667  // list and delete virtual clusters. They do not consume any additional resource
   668  // in your system. A single virtual cluster maps to a single Kubernetes namespace.
   669  // Given this relationship, you can model virtual clusters the same way you
   670  // model Kubernetes namespaces to meet your requirements.
   671  //
   672  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   673  // with awserr.Error's Code and Message methods to get detailed information about
   674  // the error.
   675  //
   676  // See the AWS API reference guide for Amazon EMR Containers's
   677  // API operation DescribeVirtualCluster for usage and error information.
   678  //
   679  // Returned Error Types:
   680  //   * ValidationException
   681  //   There are invalid parameters in the client request.
   682  //
   683  //   * ResourceNotFoundException
   684  //   The specified resource was not found.
   685  //
   686  //   * InternalServerException
   687  //   This is an internal server exception.
   688  //
   689  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/DescribeVirtualCluster
   690  func (c *EMRContainers) DescribeVirtualCluster(input *DescribeVirtualClusterInput) (*DescribeVirtualClusterOutput, error) {
   691  	req, out := c.DescribeVirtualClusterRequest(input)
   692  	return out, req.Send()
   693  }
   694  
   695  // DescribeVirtualClusterWithContext is the same as DescribeVirtualCluster with the addition of
   696  // the ability to pass a context and additional request options.
   697  //
   698  // See DescribeVirtualCluster for details on how to use this API operation.
   699  //
   700  // The context must be non-nil and will be used for request cancellation. If
   701  // the context is nil a panic will occur. In the future the SDK may create
   702  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   703  // for more information on using Contexts.
   704  func (c *EMRContainers) DescribeVirtualClusterWithContext(ctx aws.Context, input *DescribeVirtualClusterInput, opts ...request.Option) (*DescribeVirtualClusterOutput, error) {
   705  	req, out := c.DescribeVirtualClusterRequest(input)
   706  	req.SetContext(ctx)
   707  	req.ApplyOptions(opts...)
   708  	return out, req.Send()
   709  }
   710  
   711  const opListJobRuns = "ListJobRuns"
   712  
   713  // ListJobRunsRequest generates a "aws/request.Request" representing the
   714  // client's request for the ListJobRuns operation. The "output" return
   715  // value will be populated with the request's response once the request completes
   716  // successfully.
   717  //
   718  // Use "Send" method on the returned Request to send the API call to the service.
   719  // the "output" return value is not valid until after Send returns without error.
   720  //
   721  // See ListJobRuns for more information on using the ListJobRuns
   722  // API call, and error handling.
   723  //
   724  // This method is useful when you want to inject custom logic or configuration
   725  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   726  //
   727  //
   728  //    // Example sending a request using the ListJobRunsRequest method.
   729  //    req, resp := client.ListJobRunsRequest(params)
   730  //
   731  //    err := req.Send()
   732  //    if err == nil { // resp is now filled
   733  //        fmt.Println(resp)
   734  //    }
   735  //
   736  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/ListJobRuns
   737  func (c *EMRContainers) ListJobRunsRequest(input *ListJobRunsInput) (req *request.Request, output *ListJobRunsOutput) {
   738  	op := &request.Operation{
   739  		Name:       opListJobRuns,
   740  		HTTPMethod: "GET",
   741  		HTTPPath:   "/virtualclusters/{virtualClusterId}/jobruns",
   742  		Paginator: &request.Paginator{
   743  			InputTokens:     []string{"nextToken"},
   744  			OutputTokens:    []string{"nextToken"},
   745  			LimitToken:      "maxResults",
   746  			TruncationToken: "",
   747  		},
   748  	}
   749  
   750  	if input == nil {
   751  		input = &ListJobRunsInput{}
   752  	}
   753  
   754  	output = &ListJobRunsOutput{}
   755  	req = c.newRequest(op, input, output)
   756  	return
   757  }
   758  
   759  // ListJobRuns API operation for Amazon EMR Containers.
   760  //
   761  // Lists job runs based on a set of parameters. A job run is a unit of work,
   762  // such as a Spark jar, PySpark script, or SparkSQL query, that you submit to
   763  // Amazon EMR on EKS.
   764  //
   765  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   766  // with awserr.Error's Code and Message methods to get detailed information about
   767  // the error.
   768  //
   769  // See the AWS API reference guide for Amazon EMR Containers's
   770  // API operation ListJobRuns for usage and error information.
   771  //
   772  // Returned Error Types:
   773  //   * ValidationException
   774  //   There are invalid parameters in the client request.
   775  //
   776  //   * InternalServerException
   777  //   This is an internal server exception.
   778  //
   779  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/ListJobRuns
   780  func (c *EMRContainers) ListJobRuns(input *ListJobRunsInput) (*ListJobRunsOutput, error) {
   781  	req, out := c.ListJobRunsRequest(input)
   782  	return out, req.Send()
   783  }
   784  
   785  // ListJobRunsWithContext is the same as ListJobRuns with the addition of
   786  // the ability to pass a context and additional request options.
   787  //
   788  // See ListJobRuns for details on how to use this API operation.
   789  //
   790  // The context must be non-nil and will be used for request cancellation. If
   791  // the context is nil a panic will occur. In the future the SDK may create
   792  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   793  // for more information on using Contexts.
   794  func (c *EMRContainers) ListJobRunsWithContext(ctx aws.Context, input *ListJobRunsInput, opts ...request.Option) (*ListJobRunsOutput, error) {
   795  	req, out := c.ListJobRunsRequest(input)
   796  	req.SetContext(ctx)
   797  	req.ApplyOptions(opts...)
   798  	return out, req.Send()
   799  }
   800  
   801  // ListJobRunsPages iterates over the pages of a ListJobRuns operation,
   802  // calling the "fn" function with the response data for each page. To stop
   803  // iterating, return false from the fn function.
   804  //
   805  // See ListJobRuns method for more information on how to use this operation.
   806  //
   807  // Note: This operation can generate multiple requests to a service.
   808  //
   809  //    // Example iterating over at most 3 pages of a ListJobRuns operation.
   810  //    pageNum := 0
   811  //    err := client.ListJobRunsPages(params,
   812  //        func(page *emrcontainers.ListJobRunsOutput, lastPage bool) bool {
   813  //            pageNum++
   814  //            fmt.Println(page)
   815  //            return pageNum <= 3
   816  //        })
   817  //
   818  func (c *EMRContainers) ListJobRunsPages(input *ListJobRunsInput, fn func(*ListJobRunsOutput, bool) bool) error {
   819  	return c.ListJobRunsPagesWithContext(aws.BackgroundContext(), input, fn)
   820  }
   821  
   822  // ListJobRunsPagesWithContext same as ListJobRunsPages except
   823  // it takes a Context and allows setting request options on the pages.
   824  //
   825  // The context must be non-nil and will be used for request cancellation. If
   826  // the context is nil a panic will occur. In the future the SDK may create
   827  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   828  // for more information on using Contexts.
   829  func (c *EMRContainers) ListJobRunsPagesWithContext(ctx aws.Context, input *ListJobRunsInput, fn func(*ListJobRunsOutput, bool) bool, opts ...request.Option) error {
   830  	p := request.Pagination{
   831  		NewRequest: func() (*request.Request, error) {
   832  			var inCpy *ListJobRunsInput
   833  			if input != nil {
   834  				tmp := *input
   835  				inCpy = &tmp
   836  			}
   837  			req, _ := c.ListJobRunsRequest(inCpy)
   838  			req.SetContext(ctx)
   839  			req.ApplyOptions(opts...)
   840  			return req, nil
   841  		},
   842  	}
   843  
   844  	for p.Next() {
   845  		if !fn(p.Page().(*ListJobRunsOutput), !p.HasNextPage()) {
   846  			break
   847  		}
   848  	}
   849  
   850  	return p.Err()
   851  }
   852  
   853  const opListManagedEndpoints = "ListManagedEndpoints"
   854  
   855  // ListManagedEndpointsRequest generates a "aws/request.Request" representing the
   856  // client's request for the ListManagedEndpoints operation. The "output" return
   857  // value will be populated with the request's response once the request completes
   858  // successfully.
   859  //
   860  // Use "Send" method on the returned Request to send the API call to the service.
   861  // the "output" return value is not valid until after Send returns without error.
   862  //
   863  // See ListManagedEndpoints for more information on using the ListManagedEndpoints
   864  // API call, and error handling.
   865  //
   866  // This method is useful when you want to inject custom logic or configuration
   867  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   868  //
   869  //
   870  //    // Example sending a request using the ListManagedEndpointsRequest method.
   871  //    req, resp := client.ListManagedEndpointsRequest(params)
   872  //
   873  //    err := req.Send()
   874  //    if err == nil { // resp is now filled
   875  //        fmt.Println(resp)
   876  //    }
   877  //
   878  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/ListManagedEndpoints
   879  func (c *EMRContainers) ListManagedEndpointsRequest(input *ListManagedEndpointsInput) (req *request.Request, output *ListManagedEndpointsOutput) {
   880  	op := &request.Operation{
   881  		Name:       opListManagedEndpoints,
   882  		HTTPMethod: "GET",
   883  		HTTPPath:   "/virtualclusters/{virtualClusterId}/endpoints",
   884  		Paginator: &request.Paginator{
   885  			InputTokens:     []string{"nextToken"},
   886  			OutputTokens:    []string{"nextToken"},
   887  			LimitToken:      "maxResults",
   888  			TruncationToken: "",
   889  		},
   890  	}
   891  
   892  	if input == nil {
   893  		input = &ListManagedEndpointsInput{}
   894  	}
   895  
   896  	output = &ListManagedEndpointsOutput{}
   897  	req = c.newRequest(op, input, output)
   898  	return
   899  }
   900  
   901  // ListManagedEndpoints API operation for Amazon EMR Containers.
   902  //
   903  // Lists managed endpoints based on a set of parameters. A managed endpoint
   904  // is a gateway that connects EMR Studio to Amazon EMR on EKS so that EMR Studio
   905  // can communicate with your virtual cluster.
   906  //
   907  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   908  // with awserr.Error's Code and Message methods to get detailed information about
   909  // the error.
   910  //
   911  // See the AWS API reference guide for Amazon EMR Containers's
   912  // API operation ListManagedEndpoints for usage and error information.
   913  //
   914  // Returned Error Types:
   915  //   * ValidationException
   916  //   There are invalid parameters in the client request.
   917  //
   918  //   * InternalServerException
   919  //   This is an internal server exception.
   920  //
   921  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/ListManagedEndpoints
   922  func (c *EMRContainers) ListManagedEndpoints(input *ListManagedEndpointsInput) (*ListManagedEndpointsOutput, error) {
   923  	req, out := c.ListManagedEndpointsRequest(input)
   924  	return out, req.Send()
   925  }
   926  
   927  // ListManagedEndpointsWithContext is the same as ListManagedEndpoints with the addition of
   928  // the ability to pass a context and additional request options.
   929  //
   930  // See ListManagedEndpoints for details on how to use this API operation.
   931  //
   932  // The context must be non-nil and will be used for request cancellation. If
   933  // the context is nil a panic will occur. In the future the SDK may create
   934  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   935  // for more information on using Contexts.
   936  func (c *EMRContainers) ListManagedEndpointsWithContext(ctx aws.Context, input *ListManagedEndpointsInput, opts ...request.Option) (*ListManagedEndpointsOutput, error) {
   937  	req, out := c.ListManagedEndpointsRequest(input)
   938  	req.SetContext(ctx)
   939  	req.ApplyOptions(opts...)
   940  	return out, req.Send()
   941  }
   942  
   943  // ListManagedEndpointsPages iterates over the pages of a ListManagedEndpoints operation,
   944  // calling the "fn" function with the response data for each page. To stop
   945  // iterating, return false from the fn function.
   946  //
   947  // See ListManagedEndpoints method for more information on how to use this operation.
   948  //
   949  // Note: This operation can generate multiple requests to a service.
   950  //
   951  //    // Example iterating over at most 3 pages of a ListManagedEndpoints operation.
   952  //    pageNum := 0
   953  //    err := client.ListManagedEndpointsPages(params,
   954  //        func(page *emrcontainers.ListManagedEndpointsOutput, lastPage bool) bool {
   955  //            pageNum++
   956  //            fmt.Println(page)
   957  //            return pageNum <= 3
   958  //        })
   959  //
   960  func (c *EMRContainers) ListManagedEndpointsPages(input *ListManagedEndpointsInput, fn func(*ListManagedEndpointsOutput, bool) bool) error {
   961  	return c.ListManagedEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
   962  }
   963  
   964  // ListManagedEndpointsPagesWithContext same as ListManagedEndpointsPages except
   965  // it takes a Context and allows setting request options on the pages.
   966  //
   967  // The context must be non-nil and will be used for request cancellation. If
   968  // the context is nil a panic will occur. In the future the SDK may create
   969  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   970  // for more information on using Contexts.
   971  func (c *EMRContainers) ListManagedEndpointsPagesWithContext(ctx aws.Context, input *ListManagedEndpointsInput, fn func(*ListManagedEndpointsOutput, bool) bool, opts ...request.Option) error {
   972  	p := request.Pagination{
   973  		NewRequest: func() (*request.Request, error) {
   974  			var inCpy *ListManagedEndpointsInput
   975  			if input != nil {
   976  				tmp := *input
   977  				inCpy = &tmp
   978  			}
   979  			req, _ := c.ListManagedEndpointsRequest(inCpy)
   980  			req.SetContext(ctx)
   981  			req.ApplyOptions(opts...)
   982  			return req, nil
   983  		},
   984  	}
   985  
   986  	for p.Next() {
   987  		if !fn(p.Page().(*ListManagedEndpointsOutput), !p.HasNextPage()) {
   988  			break
   989  		}
   990  	}
   991  
   992  	return p.Err()
   993  }
   994  
   995  const opListTagsForResource = "ListTagsForResource"
   996  
   997  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
   998  // client's request for the ListTagsForResource operation. The "output" return
   999  // value will be populated with the request's response once the request completes
  1000  // successfully.
  1001  //
  1002  // Use "Send" method on the returned Request to send the API call to the service.
  1003  // the "output" return value is not valid until after Send returns without error.
  1004  //
  1005  // See ListTagsForResource for more information on using the ListTagsForResource
  1006  // API call, and error handling.
  1007  //
  1008  // This method is useful when you want to inject custom logic or configuration
  1009  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1010  //
  1011  //
  1012  //    // Example sending a request using the ListTagsForResourceRequest method.
  1013  //    req, resp := client.ListTagsForResourceRequest(params)
  1014  //
  1015  //    err := req.Send()
  1016  //    if err == nil { // resp is now filled
  1017  //        fmt.Println(resp)
  1018  //    }
  1019  //
  1020  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/ListTagsForResource
  1021  func (c *EMRContainers) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  1022  	op := &request.Operation{
  1023  		Name:       opListTagsForResource,
  1024  		HTTPMethod: "GET",
  1025  		HTTPPath:   "/tags/{resourceArn}",
  1026  	}
  1027  
  1028  	if input == nil {
  1029  		input = &ListTagsForResourceInput{}
  1030  	}
  1031  
  1032  	output = &ListTagsForResourceOutput{}
  1033  	req = c.newRequest(op, input, output)
  1034  	return
  1035  }
  1036  
  1037  // ListTagsForResource API operation for Amazon EMR Containers.
  1038  //
  1039  // Lists the tags assigned to the resources.
  1040  //
  1041  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1042  // with awserr.Error's Code and Message methods to get detailed information about
  1043  // the error.
  1044  //
  1045  // See the AWS API reference guide for Amazon EMR Containers's
  1046  // API operation ListTagsForResource for usage and error information.
  1047  //
  1048  // Returned Error Types:
  1049  //   * InternalServerException
  1050  //   This is an internal server exception.
  1051  //
  1052  //   * ValidationException
  1053  //   There are invalid parameters in the client request.
  1054  //
  1055  //   * ResourceNotFoundException
  1056  //   The specified resource was not found.
  1057  //
  1058  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/ListTagsForResource
  1059  func (c *EMRContainers) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  1060  	req, out := c.ListTagsForResourceRequest(input)
  1061  	return out, req.Send()
  1062  }
  1063  
  1064  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  1065  // the ability to pass a context and additional request options.
  1066  //
  1067  // See ListTagsForResource for details on how to use this API operation.
  1068  //
  1069  // The context must be non-nil and will be used for request cancellation. If
  1070  // the context is nil a panic will occur. In the future the SDK may create
  1071  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1072  // for more information on using Contexts.
  1073  func (c *EMRContainers) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  1074  	req, out := c.ListTagsForResourceRequest(input)
  1075  	req.SetContext(ctx)
  1076  	req.ApplyOptions(opts...)
  1077  	return out, req.Send()
  1078  }
  1079  
  1080  const opListVirtualClusters = "ListVirtualClusters"
  1081  
  1082  // ListVirtualClustersRequest generates a "aws/request.Request" representing the
  1083  // client's request for the ListVirtualClusters operation. The "output" return
  1084  // value will be populated with the request's response once the request completes
  1085  // successfully.
  1086  //
  1087  // Use "Send" method on the returned Request to send the API call to the service.
  1088  // the "output" return value is not valid until after Send returns without error.
  1089  //
  1090  // See ListVirtualClusters for more information on using the ListVirtualClusters
  1091  // API call, and error handling.
  1092  //
  1093  // This method is useful when you want to inject custom logic or configuration
  1094  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1095  //
  1096  //
  1097  //    // Example sending a request using the ListVirtualClustersRequest method.
  1098  //    req, resp := client.ListVirtualClustersRequest(params)
  1099  //
  1100  //    err := req.Send()
  1101  //    if err == nil { // resp is now filled
  1102  //        fmt.Println(resp)
  1103  //    }
  1104  //
  1105  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/ListVirtualClusters
  1106  func (c *EMRContainers) ListVirtualClustersRequest(input *ListVirtualClustersInput) (req *request.Request, output *ListVirtualClustersOutput) {
  1107  	op := &request.Operation{
  1108  		Name:       opListVirtualClusters,
  1109  		HTTPMethod: "GET",
  1110  		HTTPPath:   "/virtualclusters",
  1111  		Paginator: &request.Paginator{
  1112  			InputTokens:     []string{"nextToken"},
  1113  			OutputTokens:    []string{"nextToken"},
  1114  			LimitToken:      "maxResults",
  1115  			TruncationToken: "",
  1116  		},
  1117  	}
  1118  
  1119  	if input == nil {
  1120  		input = &ListVirtualClustersInput{}
  1121  	}
  1122  
  1123  	output = &ListVirtualClustersOutput{}
  1124  	req = c.newRequest(op, input, output)
  1125  	return
  1126  }
  1127  
  1128  // ListVirtualClusters API operation for Amazon EMR Containers.
  1129  //
  1130  // Lists information about the specified virtual cluster. Virtual cluster is
  1131  // a managed entity on Amazon EMR on EKS. You can create, describe, list and
  1132  // delete virtual clusters. They do not consume any additional resource in your
  1133  // system. A single virtual cluster maps to a single Kubernetes namespace. Given
  1134  // this relationship, you can model virtual clusters the same way you model
  1135  // Kubernetes namespaces to meet your requirements.
  1136  //
  1137  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1138  // with awserr.Error's Code and Message methods to get detailed information about
  1139  // the error.
  1140  //
  1141  // See the AWS API reference guide for Amazon EMR Containers's
  1142  // API operation ListVirtualClusters for usage and error information.
  1143  //
  1144  // Returned Error Types:
  1145  //   * ValidationException
  1146  //   There are invalid parameters in the client request.
  1147  //
  1148  //   * InternalServerException
  1149  //   This is an internal server exception.
  1150  //
  1151  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/ListVirtualClusters
  1152  func (c *EMRContainers) ListVirtualClusters(input *ListVirtualClustersInput) (*ListVirtualClustersOutput, error) {
  1153  	req, out := c.ListVirtualClustersRequest(input)
  1154  	return out, req.Send()
  1155  }
  1156  
  1157  // ListVirtualClustersWithContext is the same as ListVirtualClusters with the addition of
  1158  // the ability to pass a context and additional request options.
  1159  //
  1160  // See ListVirtualClusters for details on how to use this API operation.
  1161  //
  1162  // The context must be non-nil and will be used for request cancellation. If
  1163  // the context is nil a panic will occur. In the future the SDK may create
  1164  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1165  // for more information on using Contexts.
  1166  func (c *EMRContainers) ListVirtualClustersWithContext(ctx aws.Context, input *ListVirtualClustersInput, opts ...request.Option) (*ListVirtualClustersOutput, error) {
  1167  	req, out := c.ListVirtualClustersRequest(input)
  1168  	req.SetContext(ctx)
  1169  	req.ApplyOptions(opts...)
  1170  	return out, req.Send()
  1171  }
  1172  
  1173  // ListVirtualClustersPages iterates over the pages of a ListVirtualClusters operation,
  1174  // calling the "fn" function with the response data for each page. To stop
  1175  // iterating, return false from the fn function.
  1176  //
  1177  // See ListVirtualClusters method for more information on how to use this operation.
  1178  //
  1179  // Note: This operation can generate multiple requests to a service.
  1180  //
  1181  //    // Example iterating over at most 3 pages of a ListVirtualClusters operation.
  1182  //    pageNum := 0
  1183  //    err := client.ListVirtualClustersPages(params,
  1184  //        func(page *emrcontainers.ListVirtualClustersOutput, lastPage bool) bool {
  1185  //            pageNum++
  1186  //            fmt.Println(page)
  1187  //            return pageNum <= 3
  1188  //        })
  1189  //
  1190  func (c *EMRContainers) ListVirtualClustersPages(input *ListVirtualClustersInput, fn func(*ListVirtualClustersOutput, bool) bool) error {
  1191  	return c.ListVirtualClustersPagesWithContext(aws.BackgroundContext(), input, fn)
  1192  }
  1193  
  1194  // ListVirtualClustersPagesWithContext same as ListVirtualClustersPages except
  1195  // it takes a Context and allows setting request options on the pages.
  1196  //
  1197  // The context must be non-nil and will be used for request cancellation. If
  1198  // the context is nil a panic will occur. In the future the SDK may create
  1199  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1200  // for more information on using Contexts.
  1201  func (c *EMRContainers) ListVirtualClustersPagesWithContext(ctx aws.Context, input *ListVirtualClustersInput, fn func(*ListVirtualClustersOutput, bool) bool, opts ...request.Option) error {
  1202  	p := request.Pagination{
  1203  		NewRequest: func() (*request.Request, error) {
  1204  			var inCpy *ListVirtualClustersInput
  1205  			if input != nil {
  1206  				tmp := *input
  1207  				inCpy = &tmp
  1208  			}
  1209  			req, _ := c.ListVirtualClustersRequest(inCpy)
  1210  			req.SetContext(ctx)
  1211  			req.ApplyOptions(opts...)
  1212  			return req, nil
  1213  		},
  1214  	}
  1215  
  1216  	for p.Next() {
  1217  		if !fn(p.Page().(*ListVirtualClustersOutput), !p.HasNextPage()) {
  1218  			break
  1219  		}
  1220  	}
  1221  
  1222  	return p.Err()
  1223  }
  1224  
  1225  const opStartJobRun = "StartJobRun"
  1226  
  1227  // StartJobRunRequest generates a "aws/request.Request" representing the
  1228  // client's request for the StartJobRun operation. The "output" return
  1229  // value will be populated with the request's response once the request completes
  1230  // successfully.
  1231  //
  1232  // Use "Send" method on the returned Request to send the API call to the service.
  1233  // the "output" return value is not valid until after Send returns without error.
  1234  //
  1235  // See StartJobRun for more information on using the StartJobRun
  1236  // API call, and error handling.
  1237  //
  1238  // This method is useful when you want to inject custom logic or configuration
  1239  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1240  //
  1241  //
  1242  //    // Example sending a request using the StartJobRunRequest method.
  1243  //    req, resp := client.StartJobRunRequest(params)
  1244  //
  1245  //    err := req.Send()
  1246  //    if err == nil { // resp is now filled
  1247  //        fmt.Println(resp)
  1248  //    }
  1249  //
  1250  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/StartJobRun
  1251  func (c *EMRContainers) StartJobRunRequest(input *StartJobRunInput) (req *request.Request, output *StartJobRunOutput) {
  1252  	op := &request.Operation{
  1253  		Name:       opStartJobRun,
  1254  		HTTPMethod: "POST",
  1255  		HTTPPath:   "/virtualclusters/{virtualClusterId}/jobruns",
  1256  	}
  1257  
  1258  	if input == nil {
  1259  		input = &StartJobRunInput{}
  1260  	}
  1261  
  1262  	output = &StartJobRunOutput{}
  1263  	req = c.newRequest(op, input, output)
  1264  	return
  1265  }
  1266  
  1267  // StartJobRun API operation for Amazon EMR Containers.
  1268  //
  1269  // Starts a job run. A job run is a unit of work, such as a Spark jar, PySpark
  1270  // script, or SparkSQL query, that you submit to Amazon EMR on EKS.
  1271  //
  1272  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1273  // with awserr.Error's Code and Message methods to get detailed information about
  1274  // the error.
  1275  //
  1276  // See the AWS API reference guide for Amazon EMR Containers's
  1277  // API operation StartJobRun for usage and error information.
  1278  //
  1279  // Returned Error Types:
  1280  //   * ValidationException
  1281  //   There are invalid parameters in the client request.
  1282  //
  1283  //   * ResourceNotFoundException
  1284  //   The specified resource was not found.
  1285  //
  1286  //   * InternalServerException
  1287  //   This is an internal server exception.
  1288  //
  1289  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/StartJobRun
  1290  func (c *EMRContainers) StartJobRun(input *StartJobRunInput) (*StartJobRunOutput, error) {
  1291  	req, out := c.StartJobRunRequest(input)
  1292  	return out, req.Send()
  1293  }
  1294  
  1295  // StartJobRunWithContext is the same as StartJobRun with the addition of
  1296  // the ability to pass a context and additional request options.
  1297  //
  1298  // See StartJobRun for details on how to use this API operation.
  1299  //
  1300  // The context must be non-nil and will be used for request cancellation. If
  1301  // the context is nil a panic will occur. In the future the SDK may create
  1302  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1303  // for more information on using Contexts.
  1304  func (c *EMRContainers) StartJobRunWithContext(ctx aws.Context, input *StartJobRunInput, opts ...request.Option) (*StartJobRunOutput, error) {
  1305  	req, out := c.StartJobRunRequest(input)
  1306  	req.SetContext(ctx)
  1307  	req.ApplyOptions(opts...)
  1308  	return out, req.Send()
  1309  }
  1310  
  1311  const opTagResource = "TagResource"
  1312  
  1313  // TagResourceRequest generates a "aws/request.Request" representing the
  1314  // client's request for the TagResource operation. The "output" return
  1315  // value will be populated with the request's response once the request completes
  1316  // successfully.
  1317  //
  1318  // Use "Send" method on the returned Request to send the API call to the service.
  1319  // the "output" return value is not valid until after Send returns without error.
  1320  //
  1321  // See TagResource for more information on using the TagResource
  1322  // API call, and error handling.
  1323  //
  1324  // This method is useful when you want to inject custom logic or configuration
  1325  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1326  //
  1327  //
  1328  //    // Example sending a request using the TagResourceRequest method.
  1329  //    req, resp := client.TagResourceRequest(params)
  1330  //
  1331  //    err := req.Send()
  1332  //    if err == nil { // resp is now filled
  1333  //        fmt.Println(resp)
  1334  //    }
  1335  //
  1336  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/TagResource
  1337  func (c *EMRContainers) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  1338  	op := &request.Operation{
  1339  		Name:       opTagResource,
  1340  		HTTPMethod: "POST",
  1341  		HTTPPath:   "/tags/{resourceArn}",
  1342  	}
  1343  
  1344  	if input == nil {
  1345  		input = &TagResourceInput{}
  1346  	}
  1347  
  1348  	output = &TagResourceOutput{}
  1349  	req = c.newRequest(op, input, output)
  1350  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1351  	return
  1352  }
  1353  
  1354  // TagResource API operation for Amazon EMR Containers.
  1355  //
  1356  // Assigns tags to resources. A tag is a label that you assign to an AWS resource.
  1357  // Each tag consists of a key and an optional value, both of which you define.
  1358  // Tags enable you to categorize your AWS resources by attributes such as purpose,
  1359  // owner, or environment. When you have many resources of the same type, you
  1360  // can quickly identify a specific resource based on the tags you've assigned
  1361  // to it. For example, you can define a set of tags for your Amazon EMR on EKS
  1362  // clusters to help you track each cluster's owner and stack level. We recommend
  1363  // that you devise a consistent set of tag keys for each resource type. You
  1364  // can then search and filter the resources based on the tags that you add.
  1365  //
  1366  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1367  // with awserr.Error's Code and Message methods to get detailed information about
  1368  // the error.
  1369  //
  1370  // See the AWS API reference guide for Amazon EMR Containers's
  1371  // API operation TagResource for usage and error information.
  1372  //
  1373  // Returned Error Types:
  1374  //   * InternalServerException
  1375  //   This is an internal server exception.
  1376  //
  1377  //   * ValidationException
  1378  //   There are invalid parameters in the client request.
  1379  //
  1380  //   * ResourceNotFoundException
  1381  //   The specified resource was not found.
  1382  //
  1383  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/TagResource
  1384  func (c *EMRContainers) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  1385  	req, out := c.TagResourceRequest(input)
  1386  	return out, req.Send()
  1387  }
  1388  
  1389  // TagResourceWithContext is the same as TagResource with the addition of
  1390  // the ability to pass a context and additional request options.
  1391  //
  1392  // See TagResource for details on how to use this API operation.
  1393  //
  1394  // The context must be non-nil and will be used for request cancellation. If
  1395  // the context is nil a panic will occur. In the future the SDK may create
  1396  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1397  // for more information on using Contexts.
  1398  func (c *EMRContainers) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  1399  	req, out := c.TagResourceRequest(input)
  1400  	req.SetContext(ctx)
  1401  	req.ApplyOptions(opts...)
  1402  	return out, req.Send()
  1403  }
  1404  
  1405  const opUntagResource = "UntagResource"
  1406  
  1407  // UntagResourceRequest generates a "aws/request.Request" representing the
  1408  // client's request for the UntagResource operation. The "output" return
  1409  // value will be populated with the request's response once the request completes
  1410  // successfully.
  1411  //
  1412  // Use "Send" method on the returned Request to send the API call to the service.
  1413  // the "output" return value is not valid until after Send returns without error.
  1414  //
  1415  // See UntagResource for more information on using the UntagResource
  1416  // API call, and error handling.
  1417  //
  1418  // This method is useful when you want to inject custom logic or configuration
  1419  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1420  //
  1421  //
  1422  //    // Example sending a request using the UntagResourceRequest method.
  1423  //    req, resp := client.UntagResourceRequest(params)
  1424  //
  1425  //    err := req.Send()
  1426  //    if err == nil { // resp is now filled
  1427  //        fmt.Println(resp)
  1428  //    }
  1429  //
  1430  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/UntagResource
  1431  func (c *EMRContainers) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  1432  	op := &request.Operation{
  1433  		Name:       opUntagResource,
  1434  		HTTPMethod: "DELETE",
  1435  		HTTPPath:   "/tags/{resourceArn}",
  1436  	}
  1437  
  1438  	if input == nil {
  1439  		input = &UntagResourceInput{}
  1440  	}
  1441  
  1442  	output = &UntagResourceOutput{}
  1443  	req = c.newRequest(op, input, output)
  1444  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1445  	return
  1446  }
  1447  
  1448  // UntagResource API operation for Amazon EMR Containers.
  1449  //
  1450  // Removes tags from resources.
  1451  //
  1452  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1453  // with awserr.Error's Code and Message methods to get detailed information about
  1454  // the error.
  1455  //
  1456  // See the AWS API reference guide for Amazon EMR Containers's
  1457  // API operation UntagResource for usage and error information.
  1458  //
  1459  // Returned Error Types:
  1460  //   * InternalServerException
  1461  //   This is an internal server exception.
  1462  //
  1463  //   * ValidationException
  1464  //   There are invalid parameters in the client request.
  1465  //
  1466  //   * ResourceNotFoundException
  1467  //   The specified resource was not found.
  1468  //
  1469  // See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/UntagResource
  1470  func (c *EMRContainers) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  1471  	req, out := c.UntagResourceRequest(input)
  1472  	return out, req.Send()
  1473  }
  1474  
  1475  // UntagResourceWithContext is the same as UntagResource with the addition of
  1476  // the ability to pass a context and additional request options.
  1477  //
  1478  // See UntagResource for details on how to use this API operation.
  1479  //
  1480  // The context must be non-nil and will be used for request cancellation. If
  1481  // the context is nil a panic will occur. In the future the SDK may create
  1482  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1483  // for more information on using Contexts.
  1484  func (c *EMRContainers) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  1485  	req, out := c.UntagResourceRequest(input)
  1486  	req.SetContext(ctx)
  1487  	req.ApplyOptions(opts...)
  1488  	return out, req.Send()
  1489  }
  1490  
  1491  type CancelJobRunInput struct {
  1492  	_ struct{} `type:"structure" nopayload:"true"`
  1493  
  1494  	// The ID of the job run to cancel.
  1495  	//
  1496  	// Id is a required field
  1497  	Id *string `location:"uri" locationName:"jobRunId" min:"1" type:"string" required:"true"`
  1498  
  1499  	// The ID of the virtual cluster for which the job run will be canceled.
  1500  	//
  1501  	// VirtualClusterId is a required field
  1502  	VirtualClusterId *string `location:"uri" locationName:"virtualClusterId" min:"1" type:"string" required:"true"`
  1503  }
  1504  
  1505  // String returns the string representation.
  1506  //
  1507  // API parameter values that are decorated as "sensitive" in the API will not
  1508  // be included in the string output. The member name will be present, but the
  1509  // value will be replaced with "sensitive".
  1510  func (s CancelJobRunInput) String() string {
  1511  	return awsutil.Prettify(s)
  1512  }
  1513  
  1514  // GoString returns the string representation.
  1515  //
  1516  // API parameter values that are decorated as "sensitive" in the API will not
  1517  // be included in the string output. The member name will be present, but the
  1518  // value will be replaced with "sensitive".
  1519  func (s CancelJobRunInput) GoString() string {
  1520  	return s.String()
  1521  }
  1522  
  1523  // Validate inspects the fields of the type to determine if they are valid.
  1524  func (s *CancelJobRunInput) Validate() error {
  1525  	invalidParams := request.ErrInvalidParams{Context: "CancelJobRunInput"}
  1526  	if s.Id == nil {
  1527  		invalidParams.Add(request.NewErrParamRequired("Id"))
  1528  	}
  1529  	if s.Id != nil && len(*s.Id) < 1 {
  1530  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  1531  	}
  1532  	if s.VirtualClusterId == nil {
  1533  		invalidParams.Add(request.NewErrParamRequired("VirtualClusterId"))
  1534  	}
  1535  	if s.VirtualClusterId != nil && len(*s.VirtualClusterId) < 1 {
  1536  		invalidParams.Add(request.NewErrParamMinLen("VirtualClusterId", 1))
  1537  	}
  1538  
  1539  	if invalidParams.Len() > 0 {
  1540  		return invalidParams
  1541  	}
  1542  	return nil
  1543  }
  1544  
  1545  // SetId sets the Id field's value.
  1546  func (s *CancelJobRunInput) SetId(v string) *CancelJobRunInput {
  1547  	s.Id = &v
  1548  	return s
  1549  }
  1550  
  1551  // SetVirtualClusterId sets the VirtualClusterId field's value.
  1552  func (s *CancelJobRunInput) SetVirtualClusterId(v string) *CancelJobRunInput {
  1553  	s.VirtualClusterId = &v
  1554  	return s
  1555  }
  1556  
  1557  type CancelJobRunOutput struct {
  1558  	_ struct{} `type:"structure"`
  1559  
  1560  	// The output contains the ID of the cancelled job run.
  1561  	Id *string `locationName:"id" min:"1" type:"string"`
  1562  
  1563  	// The output contains the virtual cluster ID for which the job run is cancelled.
  1564  	VirtualClusterId *string `locationName:"virtualClusterId" min:"1" type:"string"`
  1565  }
  1566  
  1567  // String returns the string representation.
  1568  //
  1569  // API parameter values that are decorated as "sensitive" in the API will not
  1570  // be included in the string output. The member name will be present, but the
  1571  // value will be replaced with "sensitive".
  1572  func (s CancelJobRunOutput) String() string {
  1573  	return awsutil.Prettify(s)
  1574  }
  1575  
  1576  // GoString returns the string representation.
  1577  //
  1578  // API parameter values that are decorated as "sensitive" in the API will not
  1579  // be included in the string output. The member name will be present, but the
  1580  // value will be replaced with "sensitive".
  1581  func (s CancelJobRunOutput) GoString() string {
  1582  	return s.String()
  1583  }
  1584  
  1585  // SetId sets the Id field's value.
  1586  func (s *CancelJobRunOutput) SetId(v string) *CancelJobRunOutput {
  1587  	s.Id = &v
  1588  	return s
  1589  }
  1590  
  1591  // SetVirtualClusterId sets the VirtualClusterId field's value.
  1592  func (s *CancelJobRunOutput) SetVirtualClusterId(v string) *CancelJobRunOutput {
  1593  	s.VirtualClusterId = &v
  1594  	return s
  1595  }
  1596  
  1597  // A configuration for CloudWatch monitoring. You can configure your jobs to
  1598  // send log information to CloudWatch Logs.
  1599  type CloudWatchMonitoringConfiguration struct {
  1600  	_ struct{} `type:"structure"`
  1601  
  1602  	// The name of the log group for log publishing.
  1603  	//
  1604  	// LogGroupName is a required field
  1605  	LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
  1606  
  1607  	// The specified name prefix for log streams.
  1608  	LogStreamNamePrefix *string `locationName:"logStreamNamePrefix" min:"1" type:"string"`
  1609  }
  1610  
  1611  // String returns the string representation.
  1612  //
  1613  // API parameter values that are decorated as "sensitive" in the API will not
  1614  // be included in the string output. The member name will be present, but the
  1615  // value will be replaced with "sensitive".
  1616  func (s CloudWatchMonitoringConfiguration) String() string {
  1617  	return awsutil.Prettify(s)
  1618  }
  1619  
  1620  // GoString returns the string representation.
  1621  //
  1622  // API parameter values that are decorated as "sensitive" in the API will not
  1623  // be included in the string output. The member name will be present, but the
  1624  // value will be replaced with "sensitive".
  1625  func (s CloudWatchMonitoringConfiguration) GoString() string {
  1626  	return s.String()
  1627  }
  1628  
  1629  // Validate inspects the fields of the type to determine if they are valid.
  1630  func (s *CloudWatchMonitoringConfiguration) Validate() error {
  1631  	invalidParams := request.ErrInvalidParams{Context: "CloudWatchMonitoringConfiguration"}
  1632  	if s.LogGroupName == nil {
  1633  		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
  1634  	}
  1635  	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
  1636  		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
  1637  	}
  1638  	if s.LogStreamNamePrefix != nil && len(*s.LogStreamNamePrefix) < 1 {
  1639  		invalidParams.Add(request.NewErrParamMinLen("LogStreamNamePrefix", 1))
  1640  	}
  1641  
  1642  	if invalidParams.Len() > 0 {
  1643  		return invalidParams
  1644  	}
  1645  	return nil
  1646  }
  1647  
  1648  // SetLogGroupName sets the LogGroupName field's value.
  1649  func (s *CloudWatchMonitoringConfiguration) SetLogGroupName(v string) *CloudWatchMonitoringConfiguration {
  1650  	s.LogGroupName = &v
  1651  	return s
  1652  }
  1653  
  1654  // SetLogStreamNamePrefix sets the LogStreamNamePrefix field's value.
  1655  func (s *CloudWatchMonitoringConfiguration) SetLogStreamNamePrefix(v string) *CloudWatchMonitoringConfiguration {
  1656  	s.LogStreamNamePrefix = &v
  1657  	return s
  1658  }
  1659  
  1660  // A configuration specification to be used when provisioning virtual clusters,
  1661  // which can include configurations for applications and software bundled with
  1662  // Amazon EMR on EKS. A configuration consists of a classification, properties,
  1663  // and optional nested configurations. A classification refers to an application-specific
  1664  // configuration file. Properties are the settings you want to change in that
  1665  // file.
  1666  type Configuration struct {
  1667  	_ struct{} `type:"structure"`
  1668  
  1669  	// The classification within a configuration.
  1670  	//
  1671  	// Classification is a required field
  1672  	Classification *string `locationName:"classification" min:"1" type:"string" required:"true"`
  1673  
  1674  	// A list of additional configurations to apply within a configuration object.
  1675  	Configurations []*Configuration `locationName:"configurations" type:"list"`
  1676  
  1677  	// A set of properties specified within a configuration classification.
  1678  	//
  1679  	// Properties is a sensitive parameter and its value will be
  1680  	// replaced with "sensitive" in string returned by Configuration's
  1681  	// String and GoString methods.
  1682  	Properties map[string]*string `locationName:"properties" type:"map" sensitive:"true"`
  1683  }
  1684  
  1685  // String returns the string representation.
  1686  //
  1687  // API parameter values that are decorated as "sensitive" in the API will not
  1688  // be included in the string output. The member name will be present, but the
  1689  // value will be replaced with "sensitive".
  1690  func (s Configuration) String() string {
  1691  	return awsutil.Prettify(s)
  1692  }
  1693  
  1694  // GoString returns the string representation.
  1695  //
  1696  // API parameter values that are decorated as "sensitive" in the API will not
  1697  // be included in the string output. The member name will be present, but the
  1698  // value will be replaced with "sensitive".
  1699  func (s Configuration) GoString() string {
  1700  	return s.String()
  1701  }
  1702  
  1703  // Validate inspects the fields of the type to determine if they are valid.
  1704  func (s *Configuration) Validate() error {
  1705  	invalidParams := request.ErrInvalidParams{Context: "Configuration"}
  1706  	if s.Classification == nil {
  1707  		invalidParams.Add(request.NewErrParamRequired("Classification"))
  1708  	}
  1709  	if s.Classification != nil && len(*s.Classification) < 1 {
  1710  		invalidParams.Add(request.NewErrParamMinLen("Classification", 1))
  1711  	}
  1712  	if s.Configurations != nil {
  1713  		for i, v := range s.Configurations {
  1714  			if v == nil {
  1715  				continue
  1716  			}
  1717  			if err := v.Validate(); err != nil {
  1718  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Configurations", i), err.(request.ErrInvalidParams))
  1719  			}
  1720  		}
  1721  	}
  1722  
  1723  	if invalidParams.Len() > 0 {
  1724  		return invalidParams
  1725  	}
  1726  	return nil
  1727  }
  1728  
  1729  // SetClassification sets the Classification field's value.
  1730  func (s *Configuration) SetClassification(v string) *Configuration {
  1731  	s.Classification = &v
  1732  	return s
  1733  }
  1734  
  1735  // SetConfigurations sets the Configurations field's value.
  1736  func (s *Configuration) SetConfigurations(v []*Configuration) *Configuration {
  1737  	s.Configurations = v
  1738  	return s
  1739  }
  1740  
  1741  // SetProperties sets the Properties field's value.
  1742  func (s *Configuration) SetProperties(v map[string]*string) *Configuration {
  1743  	s.Properties = v
  1744  	return s
  1745  }
  1746  
  1747  // A configuration specification to be used to override existing configurations.
  1748  type ConfigurationOverrides struct {
  1749  	_ struct{} `type:"structure"`
  1750  
  1751  	// The configurations for the application running by the job run.
  1752  	ApplicationConfiguration []*Configuration `locationName:"applicationConfiguration" type:"list"`
  1753  
  1754  	// The configurations for monitoring.
  1755  	MonitoringConfiguration *MonitoringConfiguration `locationName:"monitoringConfiguration" type:"structure"`
  1756  }
  1757  
  1758  // String returns the string representation.
  1759  //
  1760  // API parameter values that are decorated as "sensitive" in the API will not
  1761  // be included in the string output. The member name will be present, but the
  1762  // value will be replaced with "sensitive".
  1763  func (s ConfigurationOverrides) String() string {
  1764  	return awsutil.Prettify(s)
  1765  }
  1766  
  1767  // GoString returns the string representation.
  1768  //
  1769  // API parameter values that are decorated as "sensitive" in the API will not
  1770  // be included in the string output. The member name will be present, but the
  1771  // value will be replaced with "sensitive".
  1772  func (s ConfigurationOverrides) GoString() string {
  1773  	return s.String()
  1774  }
  1775  
  1776  // Validate inspects the fields of the type to determine if they are valid.
  1777  func (s *ConfigurationOverrides) Validate() error {
  1778  	invalidParams := request.ErrInvalidParams{Context: "ConfigurationOverrides"}
  1779  	if s.ApplicationConfiguration != nil {
  1780  		for i, v := range s.ApplicationConfiguration {
  1781  			if v == nil {
  1782  				continue
  1783  			}
  1784  			if err := v.Validate(); err != nil {
  1785  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ApplicationConfiguration", i), err.(request.ErrInvalidParams))
  1786  			}
  1787  		}
  1788  	}
  1789  	if s.MonitoringConfiguration != nil {
  1790  		if err := s.MonitoringConfiguration.Validate(); err != nil {
  1791  			invalidParams.AddNested("MonitoringConfiguration", err.(request.ErrInvalidParams))
  1792  		}
  1793  	}
  1794  
  1795  	if invalidParams.Len() > 0 {
  1796  		return invalidParams
  1797  	}
  1798  	return nil
  1799  }
  1800  
  1801  // SetApplicationConfiguration sets the ApplicationConfiguration field's value.
  1802  func (s *ConfigurationOverrides) SetApplicationConfiguration(v []*Configuration) *ConfigurationOverrides {
  1803  	s.ApplicationConfiguration = v
  1804  	return s
  1805  }
  1806  
  1807  // SetMonitoringConfiguration sets the MonitoringConfiguration field's value.
  1808  func (s *ConfigurationOverrides) SetMonitoringConfiguration(v *MonitoringConfiguration) *ConfigurationOverrides {
  1809  	s.MonitoringConfiguration = v
  1810  	return s
  1811  }
  1812  
  1813  // The information about the container used for a job run or a managed endpoint.
  1814  type ContainerInfo struct {
  1815  	_ struct{} `type:"structure"`
  1816  
  1817  	// The information about the EKS cluster.
  1818  	EksInfo *EksInfo `locationName:"eksInfo" type:"structure"`
  1819  }
  1820  
  1821  // String returns the string representation.
  1822  //
  1823  // API parameter values that are decorated as "sensitive" in the API will not
  1824  // be included in the string output. The member name will be present, but the
  1825  // value will be replaced with "sensitive".
  1826  func (s ContainerInfo) String() string {
  1827  	return awsutil.Prettify(s)
  1828  }
  1829  
  1830  // GoString returns the string representation.
  1831  //
  1832  // API parameter values that are decorated as "sensitive" in the API will not
  1833  // be included in the string output. The member name will be present, but the
  1834  // value will be replaced with "sensitive".
  1835  func (s ContainerInfo) GoString() string {
  1836  	return s.String()
  1837  }
  1838  
  1839  // Validate inspects the fields of the type to determine if they are valid.
  1840  func (s *ContainerInfo) Validate() error {
  1841  	invalidParams := request.ErrInvalidParams{Context: "ContainerInfo"}
  1842  	if s.EksInfo != nil {
  1843  		if err := s.EksInfo.Validate(); err != nil {
  1844  			invalidParams.AddNested("EksInfo", err.(request.ErrInvalidParams))
  1845  		}
  1846  	}
  1847  
  1848  	if invalidParams.Len() > 0 {
  1849  		return invalidParams
  1850  	}
  1851  	return nil
  1852  }
  1853  
  1854  // SetEksInfo sets the EksInfo field's value.
  1855  func (s *ContainerInfo) SetEksInfo(v *EksInfo) *ContainerInfo {
  1856  	s.EksInfo = v
  1857  	return s
  1858  }
  1859  
  1860  // The information about the container provider.
  1861  type ContainerProvider struct {
  1862  	_ struct{} `type:"structure"`
  1863  
  1864  	// The ID of the container cluster.
  1865  	//
  1866  	// Id is a required field
  1867  	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
  1868  
  1869  	// The information about the container cluster.
  1870  	Info *ContainerInfo `locationName:"info" type:"structure"`
  1871  
  1872  	// The type of the container provider. EKS is the only supported type as of
  1873  	// now.
  1874  	//
  1875  	// Type is a required field
  1876  	Type *string `locationName:"type" type:"string" required:"true" enum:"ContainerProviderType"`
  1877  }
  1878  
  1879  // String returns the string representation.
  1880  //
  1881  // API parameter values that are decorated as "sensitive" in the API will not
  1882  // be included in the string output. The member name will be present, but the
  1883  // value will be replaced with "sensitive".
  1884  func (s ContainerProvider) String() string {
  1885  	return awsutil.Prettify(s)
  1886  }
  1887  
  1888  // GoString returns the string representation.
  1889  //
  1890  // API parameter values that are decorated as "sensitive" in the API will not
  1891  // be included in the string output. The member name will be present, but the
  1892  // value will be replaced with "sensitive".
  1893  func (s ContainerProvider) GoString() string {
  1894  	return s.String()
  1895  }
  1896  
  1897  // Validate inspects the fields of the type to determine if they are valid.
  1898  func (s *ContainerProvider) Validate() error {
  1899  	invalidParams := request.ErrInvalidParams{Context: "ContainerProvider"}
  1900  	if s.Id == nil {
  1901  		invalidParams.Add(request.NewErrParamRequired("Id"))
  1902  	}
  1903  	if s.Id != nil && len(*s.Id) < 1 {
  1904  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  1905  	}
  1906  	if s.Type == nil {
  1907  		invalidParams.Add(request.NewErrParamRequired("Type"))
  1908  	}
  1909  	if s.Info != nil {
  1910  		if err := s.Info.Validate(); err != nil {
  1911  			invalidParams.AddNested("Info", err.(request.ErrInvalidParams))
  1912  		}
  1913  	}
  1914  
  1915  	if invalidParams.Len() > 0 {
  1916  		return invalidParams
  1917  	}
  1918  	return nil
  1919  }
  1920  
  1921  // SetId sets the Id field's value.
  1922  func (s *ContainerProvider) SetId(v string) *ContainerProvider {
  1923  	s.Id = &v
  1924  	return s
  1925  }
  1926  
  1927  // SetInfo sets the Info field's value.
  1928  func (s *ContainerProvider) SetInfo(v *ContainerInfo) *ContainerProvider {
  1929  	s.Info = v
  1930  	return s
  1931  }
  1932  
  1933  // SetType sets the Type field's value.
  1934  func (s *ContainerProvider) SetType(v string) *ContainerProvider {
  1935  	s.Type = &v
  1936  	return s
  1937  }
  1938  
  1939  type CreateManagedEndpointInput struct {
  1940  	_ struct{} `type:"structure"`
  1941  
  1942  	// The certificate ARN of the managed endpoint.
  1943  	//
  1944  	// CertificateArn is a required field
  1945  	CertificateArn *string `locationName:"certificateArn" min:"44" type:"string" required:"true"`
  1946  
  1947  	// The client idempotency token for this create call.
  1948  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  1949  
  1950  	// The configuration settings that will be used to override existing configurations.
  1951  	ConfigurationOverrides *ConfigurationOverrides `locationName:"configurationOverrides" type:"structure"`
  1952  
  1953  	// The ARN of the execution role.
  1954  	//
  1955  	// ExecutionRoleArn is a required field
  1956  	ExecutionRoleArn *string `locationName:"executionRoleArn" min:"20" type:"string" required:"true"`
  1957  
  1958  	// The name of the managed endpoint.
  1959  	//
  1960  	// Name is a required field
  1961  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  1962  
  1963  	// The Amazon EMR release version.
  1964  	//
  1965  	// ReleaseLabel is a required field
  1966  	ReleaseLabel *string `locationName:"releaseLabel" min:"1" type:"string" required:"true"`
  1967  
  1968  	// The tags of the managed endpoint.
  1969  	Tags map[string]*string `locationName:"tags" type:"map"`
  1970  
  1971  	// The type of the managed endpoint.
  1972  	//
  1973  	// Type is a required field
  1974  	Type *string `locationName:"type" min:"1" type:"string" required:"true"`
  1975  
  1976  	// The ID of the virtual cluster for which a managed endpoint is created.
  1977  	//
  1978  	// VirtualClusterId is a required field
  1979  	VirtualClusterId *string `location:"uri" locationName:"virtualClusterId" min:"1" type:"string" required:"true"`
  1980  }
  1981  
  1982  // String returns the string representation.
  1983  //
  1984  // API parameter values that are decorated as "sensitive" in the API will not
  1985  // be included in the string output. The member name will be present, but the
  1986  // value will be replaced with "sensitive".
  1987  func (s CreateManagedEndpointInput) String() string {
  1988  	return awsutil.Prettify(s)
  1989  }
  1990  
  1991  // GoString returns the string representation.
  1992  //
  1993  // API parameter values that are decorated as "sensitive" in the API will not
  1994  // be included in the string output. The member name will be present, but the
  1995  // value will be replaced with "sensitive".
  1996  func (s CreateManagedEndpointInput) GoString() string {
  1997  	return s.String()
  1998  }
  1999  
  2000  // Validate inspects the fields of the type to determine if they are valid.
  2001  func (s *CreateManagedEndpointInput) Validate() error {
  2002  	invalidParams := request.ErrInvalidParams{Context: "CreateManagedEndpointInput"}
  2003  	if s.CertificateArn == nil {
  2004  		invalidParams.Add(request.NewErrParamRequired("CertificateArn"))
  2005  	}
  2006  	if s.CertificateArn != nil && len(*s.CertificateArn) < 44 {
  2007  		invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 44))
  2008  	}
  2009  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  2010  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  2011  	}
  2012  	if s.ExecutionRoleArn == nil {
  2013  		invalidParams.Add(request.NewErrParamRequired("ExecutionRoleArn"))
  2014  	}
  2015  	if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 20 {
  2016  		invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 20))
  2017  	}
  2018  	if s.Name == nil {
  2019  		invalidParams.Add(request.NewErrParamRequired("Name"))
  2020  	}
  2021  	if s.Name != nil && len(*s.Name) < 1 {
  2022  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  2023  	}
  2024  	if s.ReleaseLabel == nil {
  2025  		invalidParams.Add(request.NewErrParamRequired("ReleaseLabel"))
  2026  	}
  2027  	if s.ReleaseLabel != nil && len(*s.ReleaseLabel) < 1 {
  2028  		invalidParams.Add(request.NewErrParamMinLen("ReleaseLabel", 1))
  2029  	}
  2030  	if s.Type == nil {
  2031  		invalidParams.Add(request.NewErrParamRequired("Type"))
  2032  	}
  2033  	if s.Type != nil && len(*s.Type) < 1 {
  2034  		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
  2035  	}
  2036  	if s.VirtualClusterId == nil {
  2037  		invalidParams.Add(request.NewErrParamRequired("VirtualClusterId"))
  2038  	}
  2039  	if s.VirtualClusterId != nil && len(*s.VirtualClusterId) < 1 {
  2040  		invalidParams.Add(request.NewErrParamMinLen("VirtualClusterId", 1))
  2041  	}
  2042  	if s.ConfigurationOverrides != nil {
  2043  		if err := s.ConfigurationOverrides.Validate(); err != nil {
  2044  			invalidParams.AddNested("ConfigurationOverrides", err.(request.ErrInvalidParams))
  2045  		}
  2046  	}
  2047  
  2048  	if invalidParams.Len() > 0 {
  2049  		return invalidParams
  2050  	}
  2051  	return nil
  2052  }
  2053  
  2054  // SetCertificateArn sets the CertificateArn field's value.
  2055  func (s *CreateManagedEndpointInput) SetCertificateArn(v string) *CreateManagedEndpointInput {
  2056  	s.CertificateArn = &v
  2057  	return s
  2058  }
  2059  
  2060  // SetClientToken sets the ClientToken field's value.
  2061  func (s *CreateManagedEndpointInput) SetClientToken(v string) *CreateManagedEndpointInput {
  2062  	s.ClientToken = &v
  2063  	return s
  2064  }
  2065  
  2066  // SetConfigurationOverrides sets the ConfigurationOverrides field's value.
  2067  func (s *CreateManagedEndpointInput) SetConfigurationOverrides(v *ConfigurationOverrides) *CreateManagedEndpointInput {
  2068  	s.ConfigurationOverrides = v
  2069  	return s
  2070  }
  2071  
  2072  // SetExecutionRoleArn sets the ExecutionRoleArn field's value.
  2073  func (s *CreateManagedEndpointInput) SetExecutionRoleArn(v string) *CreateManagedEndpointInput {
  2074  	s.ExecutionRoleArn = &v
  2075  	return s
  2076  }
  2077  
  2078  // SetName sets the Name field's value.
  2079  func (s *CreateManagedEndpointInput) SetName(v string) *CreateManagedEndpointInput {
  2080  	s.Name = &v
  2081  	return s
  2082  }
  2083  
  2084  // SetReleaseLabel sets the ReleaseLabel field's value.
  2085  func (s *CreateManagedEndpointInput) SetReleaseLabel(v string) *CreateManagedEndpointInput {
  2086  	s.ReleaseLabel = &v
  2087  	return s
  2088  }
  2089  
  2090  // SetTags sets the Tags field's value.
  2091  func (s *CreateManagedEndpointInput) SetTags(v map[string]*string) *CreateManagedEndpointInput {
  2092  	s.Tags = v
  2093  	return s
  2094  }
  2095  
  2096  // SetType sets the Type field's value.
  2097  func (s *CreateManagedEndpointInput) SetType(v string) *CreateManagedEndpointInput {
  2098  	s.Type = &v
  2099  	return s
  2100  }
  2101  
  2102  // SetVirtualClusterId sets the VirtualClusterId field's value.
  2103  func (s *CreateManagedEndpointInput) SetVirtualClusterId(v string) *CreateManagedEndpointInput {
  2104  	s.VirtualClusterId = &v
  2105  	return s
  2106  }
  2107  
  2108  type CreateManagedEndpointOutput struct {
  2109  	_ struct{} `type:"structure"`
  2110  
  2111  	// The output contains the ARN of the managed endpoint.
  2112  	Arn *string `locationName:"arn" min:"60" type:"string"`
  2113  
  2114  	// The output contains the ID of the managed endpoint.
  2115  	Id *string `locationName:"id" min:"1" type:"string"`
  2116  
  2117  	// The output contains the name of the managed endpoint.
  2118  	Name *string `locationName:"name" min:"1" type:"string"`
  2119  
  2120  	// The output contains the ID of the virtual cluster.
  2121  	VirtualClusterId *string `locationName:"virtualClusterId" min:"1" type:"string"`
  2122  }
  2123  
  2124  // String returns the string representation.
  2125  //
  2126  // API parameter values that are decorated as "sensitive" in the API will not
  2127  // be included in the string output. The member name will be present, but the
  2128  // value will be replaced with "sensitive".
  2129  func (s CreateManagedEndpointOutput) String() string {
  2130  	return awsutil.Prettify(s)
  2131  }
  2132  
  2133  // GoString returns the string representation.
  2134  //
  2135  // API parameter values that are decorated as "sensitive" in the API will not
  2136  // be included in the string output. The member name will be present, but the
  2137  // value will be replaced with "sensitive".
  2138  func (s CreateManagedEndpointOutput) GoString() string {
  2139  	return s.String()
  2140  }
  2141  
  2142  // SetArn sets the Arn field's value.
  2143  func (s *CreateManagedEndpointOutput) SetArn(v string) *CreateManagedEndpointOutput {
  2144  	s.Arn = &v
  2145  	return s
  2146  }
  2147  
  2148  // SetId sets the Id field's value.
  2149  func (s *CreateManagedEndpointOutput) SetId(v string) *CreateManagedEndpointOutput {
  2150  	s.Id = &v
  2151  	return s
  2152  }
  2153  
  2154  // SetName sets the Name field's value.
  2155  func (s *CreateManagedEndpointOutput) SetName(v string) *CreateManagedEndpointOutput {
  2156  	s.Name = &v
  2157  	return s
  2158  }
  2159  
  2160  // SetVirtualClusterId sets the VirtualClusterId field's value.
  2161  func (s *CreateManagedEndpointOutput) SetVirtualClusterId(v string) *CreateManagedEndpointOutput {
  2162  	s.VirtualClusterId = &v
  2163  	return s
  2164  }
  2165  
  2166  type CreateVirtualClusterInput struct {
  2167  	_ struct{} `type:"structure"`
  2168  
  2169  	// The client token of the virtual cluster.
  2170  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  2171  
  2172  	// The container provider of the virtual cluster.
  2173  	//
  2174  	// ContainerProvider is a required field
  2175  	ContainerProvider *ContainerProvider `locationName:"containerProvider" type:"structure" required:"true"`
  2176  
  2177  	// The specified name of the virtual cluster.
  2178  	//
  2179  	// Name is a required field
  2180  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  2181  
  2182  	// The tags assigned to the virtual cluster.
  2183  	Tags map[string]*string `locationName:"tags" type:"map"`
  2184  }
  2185  
  2186  // String returns the string representation.
  2187  //
  2188  // API parameter values that are decorated as "sensitive" in the API will not
  2189  // be included in the string output. The member name will be present, but the
  2190  // value will be replaced with "sensitive".
  2191  func (s CreateVirtualClusterInput) String() string {
  2192  	return awsutil.Prettify(s)
  2193  }
  2194  
  2195  // GoString returns the string representation.
  2196  //
  2197  // API parameter values that are decorated as "sensitive" in the API will not
  2198  // be included in the string output. The member name will be present, but the
  2199  // value will be replaced with "sensitive".
  2200  func (s CreateVirtualClusterInput) GoString() string {
  2201  	return s.String()
  2202  }
  2203  
  2204  // Validate inspects the fields of the type to determine if they are valid.
  2205  func (s *CreateVirtualClusterInput) Validate() error {
  2206  	invalidParams := request.ErrInvalidParams{Context: "CreateVirtualClusterInput"}
  2207  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  2208  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  2209  	}
  2210  	if s.ContainerProvider == nil {
  2211  		invalidParams.Add(request.NewErrParamRequired("ContainerProvider"))
  2212  	}
  2213  	if s.Name == nil {
  2214  		invalidParams.Add(request.NewErrParamRequired("Name"))
  2215  	}
  2216  	if s.Name != nil && len(*s.Name) < 1 {
  2217  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  2218  	}
  2219  	if s.ContainerProvider != nil {
  2220  		if err := s.ContainerProvider.Validate(); err != nil {
  2221  			invalidParams.AddNested("ContainerProvider", err.(request.ErrInvalidParams))
  2222  		}
  2223  	}
  2224  
  2225  	if invalidParams.Len() > 0 {
  2226  		return invalidParams
  2227  	}
  2228  	return nil
  2229  }
  2230  
  2231  // SetClientToken sets the ClientToken field's value.
  2232  func (s *CreateVirtualClusterInput) SetClientToken(v string) *CreateVirtualClusterInput {
  2233  	s.ClientToken = &v
  2234  	return s
  2235  }
  2236  
  2237  // SetContainerProvider sets the ContainerProvider field's value.
  2238  func (s *CreateVirtualClusterInput) SetContainerProvider(v *ContainerProvider) *CreateVirtualClusterInput {
  2239  	s.ContainerProvider = v
  2240  	return s
  2241  }
  2242  
  2243  // SetName sets the Name field's value.
  2244  func (s *CreateVirtualClusterInput) SetName(v string) *CreateVirtualClusterInput {
  2245  	s.Name = &v
  2246  	return s
  2247  }
  2248  
  2249  // SetTags sets the Tags field's value.
  2250  func (s *CreateVirtualClusterInput) SetTags(v map[string]*string) *CreateVirtualClusterInput {
  2251  	s.Tags = v
  2252  	return s
  2253  }
  2254  
  2255  type CreateVirtualClusterOutput struct {
  2256  	_ struct{} `type:"structure"`
  2257  
  2258  	// This output contains the ARN of virtual cluster.
  2259  	Arn *string `locationName:"arn" min:"60" type:"string"`
  2260  
  2261  	// This output contains the virtual cluster ID.
  2262  	Id *string `locationName:"id" min:"1" type:"string"`
  2263  
  2264  	// This output contains the name of the virtual cluster.
  2265  	Name *string `locationName:"name" min:"1" type:"string"`
  2266  }
  2267  
  2268  // String returns the string representation.
  2269  //
  2270  // API parameter values that are decorated as "sensitive" in the API will not
  2271  // be included in the string output. The member name will be present, but the
  2272  // value will be replaced with "sensitive".
  2273  func (s CreateVirtualClusterOutput) String() string {
  2274  	return awsutil.Prettify(s)
  2275  }
  2276  
  2277  // GoString returns the string representation.
  2278  //
  2279  // API parameter values that are decorated as "sensitive" in the API will not
  2280  // be included in the string output. The member name will be present, but the
  2281  // value will be replaced with "sensitive".
  2282  func (s CreateVirtualClusterOutput) GoString() string {
  2283  	return s.String()
  2284  }
  2285  
  2286  // SetArn sets the Arn field's value.
  2287  func (s *CreateVirtualClusterOutput) SetArn(v string) *CreateVirtualClusterOutput {
  2288  	s.Arn = &v
  2289  	return s
  2290  }
  2291  
  2292  // SetId sets the Id field's value.
  2293  func (s *CreateVirtualClusterOutput) SetId(v string) *CreateVirtualClusterOutput {
  2294  	s.Id = &v
  2295  	return s
  2296  }
  2297  
  2298  // SetName sets the Name field's value.
  2299  func (s *CreateVirtualClusterOutput) SetName(v string) *CreateVirtualClusterOutput {
  2300  	s.Name = &v
  2301  	return s
  2302  }
  2303  
  2304  type DeleteManagedEndpointInput struct {
  2305  	_ struct{} `type:"structure" nopayload:"true"`
  2306  
  2307  	// The ID of the managed endpoint.
  2308  	//
  2309  	// Id is a required field
  2310  	Id *string `location:"uri" locationName:"endpointId" min:"1" type:"string" required:"true"`
  2311  
  2312  	// The ID of the endpoint's virtual cluster.
  2313  	//
  2314  	// VirtualClusterId is a required field
  2315  	VirtualClusterId *string `location:"uri" locationName:"virtualClusterId" min:"1" type:"string" required:"true"`
  2316  }
  2317  
  2318  // String returns the string representation.
  2319  //
  2320  // API parameter values that are decorated as "sensitive" in the API will not
  2321  // be included in the string output. The member name will be present, but the
  2322  // value will be replaced with "sensitive".
  2323  func (s DeleteManagedEndpointInput) String() string {
  2324  	return awsutil.Prettify(s)
  2325  }
  2326  
  2327  // GoString returns the string representation.
  2328  //
  2329  // API parameter values that are decorated as "sensitive" in the API will not
  2330  // be included in the string output. The member name will be present, but the
  2331  // value will be replaced with "sensitive".
  2332  func (s DeleteManagedEndpointInput) GoString() string {
  2333  	return s.String()
  2334  }
  2335  
  2336  // Validate inspects the fields of the type to determine if they are valid.
  2337  func (s *DeleteManagedEndpointInput) Validate() error {
  2338  	invalidParams := request.ErrInvalidParams{Context: "DeleteManagedEndpointInput"}
  2339  	if s.Id == nil {
  2340  		invalidParams.Add(request.NewErrParamRequired("Id"))
  2341  	}
  2342  	if s.Id != nil && len(*s.Id) < 1 {
  2343  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  2344  	}
  2345  	if s.VirtualClusterId == nil {
  2346  		invalidParams.Add(request.NewErrParamRequired("VirtualClusterId"))
  2347  	}
  2348  	if s.VirtualClusterId != nil && len(*s.VirtualClusterId) < 1 {
  2349  		invalidParams.Add(request.NewErrParamMinLen("VirtualClusterId", 1))
  2350  	}
  2351  
  2352  	if invalidParams.Len() > 0 {
  2353  		return invalidParams
  2354  	}
  2355  	return nil
  2356  }
  2357  
  2358  // SetId sets the Id field's value.
  2359  func (s *DeleteManagedEndpointInput) SetId(v string) *DeleteManagedEndpointInput {
  2360  	s.Id = &v
  2361  	return s
  2362  }
  2363  
  2364  // SetVirtualClusterId sets the VirtualClusterId field's value.
  2365  func (s *DeleteManagedEndpointInput) SetVirtualClusterId(v string) *DeleteManagedEndpointInput {
  2366  	s.VirtualClusterId = &v
  2367  	return s
  2368  }
  2369  
  2370  type DeleteManagedEndpointOutput struct {
  2371  	_ struct{} `type:"structure"`
  2372  
  2373  	// The output displays the ID of the managed endpoint.
  2374  	Id *string `locationName:"id" min:"1" type:"string"`
  2375  
  2376  	// The output displays the ID of the endpoint's virtual cluster.
  2377  	VirtualClusterId *string `locationName:"virtualClusterId" min:"1" type:"string"`
  2378  }
  2379  
  2380  // String returns the string representation.
  2381  //
  2382  // API parameter values that are decorated as "sensitive" in the API will not
  2383  // be included in the string output. The member name will be present, but the
  2384  // value will be replaced with "sensitive".
  2385  func (s DeleteManagedEndpointOutput) String() string {
  2386  	return awsutil.Prettify(s)
  2387  }
  2388  
  2389  // GoString returns the string representation.
  2390  //
  2391  // API parameter values that are decorated as "sensitive" in the API will not
  2392  // be included in the string output. The member name will be present, but the
  2393  // value will be replaced with "sensitive".
  2394  func (s DeleteManagedEndpointOutput) GoString() string {
  2395  	return s.String()
  2396  }
  2397  
  2398  // SetId sets the Id field's value.
  2399  func (s *DeleteManagedEndpointOutput) SetId(v string) *DeleteManagedEndpointOutput {
  2400  	s.Id = &v
  2401  	return s
  2402  }
  2403  
  2404  // SetVirtualClusterId sets the VirtualClusterId field's value.
  2405  func (s *DeleteManagedEndpointOutput) SetVirtualClusterId(v string) *DeleteManagedEndpointOutput {
  2406  	s.VirtualClusterId = &v
  2407  	return s
  2408  }
  2409  
  2410  type DeleteVirtualClusterInput struct {
  2411  	_ struct{} `type:"structure" nopayload:"true"`
  2412  
  2413  	// The ID of the virtual cluster that will be deleted.
  2414  	//
  2415  	// Id is a required field
  2416  	Id *string `location:"uri" locationName:"virtualClusterId" min:"1" type:"string" required:"true"`
  2417  }
  2418  
  2419  // String returns the string representation.
  2420  //
  2421  // API parameter values that are decorated as "sensitive" in the API will not
  2422  // be included in the string output. The member name will be present, but the
  2423  // value will be replaced with "sensitive".
  2424  func (s DeleteVirtualClusterInput) String() string {
  2425  	return awsutil.Prettify(s)
  2426  }
  2427  
  2428  // GoString returns the string representation.
  2429  //
  2430  // API parameter values that are decorated as "sensitive" in the API will not
  2431  // be included in the string output. The member name will be present, but the
  2432  // value will be replaced with "sensitive".
  2433  func (s DeleteVirtualClusterInput) GoString() string {
  2434  	return s.String()
  2435  }
  2436  
  2437  // Validate inspects the fields of the type to determine if they are valid.
  2438  func (s *DeleteVirtualClusterInput) Validate() error {
  2439  	invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualClusterInput"}
  2440  	if s.Id == nil {
  2441  		invalidParams.Add(request.NewErrParamRequired("Id"))
  2442  	}
  2443  	if s.Id != nil && len(*s.Id) < 1 {
  2444  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  2445  	}
  2446  
  2447  	if invalidParams.Len() > 0 {
  2448  		return invalidParams
  2449  	}
  2450  	return nil
  2451  }
  2452  
  2453  // SetId sets the Id field's value.
  2454  func (s *DeleteVirtualClusterInput) SetId(v string) *DeleteVirtualClusterInput {
  2455  	s.Id = &v
  2456  	return s
  2457  }
  2458  
  2459  type DeleteVirtualClusterOutput struct {
  2460  	_ struct{} `type:"structure"`
  2461  
  2462  	// This output contains the ID of the virtual cluster that will be deleted.
  2463  	Id *string `locationName:"id" min:"1" type:"string"`
  2464  }
  2465  
  2466  // String returns the string representation.
  2467  //
  2468  // API parameter values that are decorated as "sensitive" in the API will not
  2469  // be included in the string output. The member name will be present, but the
  2470  // value will be replaced with "sensitive".
  2471  func (s DeleteVirtualClusterOutput) String() string {
  2472  	return awsutil.Prettify(s)
  2473  }
  2474  
  2475  // GoString returns the string representation.
  2476  //
  2477  // API parameter values that are decorated as "sensitive" in the API will not
  2478  // be included in the string output. The member name will be present, but the
  2479  // value will be replaced with "sensitive".
  2480  func (s DeleteVirtualClusterOutput) GoString() string {
  2481  	return s.String()
  2482  }
  2483  
  2484  // SetId sets the Id field's value.
  2485  func (s *DeleteVirtualClusterOutput) SetId(v string) *DeleteVirtualClusterOutput {
  2486  	s.Id = &v
  2487  	return s
  2488  }
  2489  
  2490  type DescribeJobRunInput struct {
  2491  	_ struct{} `type:"structure" nopayload:"true"`
  2492  
  2493  	// The ID of the job run request.
  2494  	//
  2495  	// Id is a required field
  2496  	Id *string `location:"uri" locationName:"jobRunId" min:"1" type:"string" required:"true"`
  2497  
  2498  	// The ID of the virtual cluster for which the job run is submitted.
  2499  	//
  2500  	// VirtualClusterId is a required field
  2501  	VirtualClusterId *string `location:"uri" locationName:"virtualClusterId" min:"1" type:"string" required:"true"`
  2502  }
  2503  
  2504  // String returns the string representation.
  2505  //
  2506  // API parameter values that are decorated as "sensitive" in the API will not
  2507  // be included in the string output. The member name will be present, but the
  2508  // value will be replaced with "sensitive".
  2509  func (s DescribeJobRunInput) String() string {
  2510  	return awsutil.Prettify(s)
  2511  }
  2512  
  2513  // GoString returns the string representation.
  2514  //
  2515  // API parameter values that are decorated as "sensitive" in the API will not
  2516  // be included in the string output. The member name will be present, but the
  2517  // value will be replaced with "sensitive".
  2518  func (s DescribeJobRunInput) GoString() string {
  2519  	return s.String()
  2520  }
  2521  
  2522  // Validate inspects the fields of the type to determine if they are valid.
  2523  func (s *DescribeJobRunInput) Validate() error {
  2524  	invalidParams := request.ErrInvalidParams{Context: "DescribeJobRunInput"}
  2525  	if s.Id == nil {
  2526  		invalidParams.Add(request.NewErrParamRequired("Id"))
  2527  	}
  2528  	if s.Id != nil && len(*s.Id) < 1 {
  2529  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  2530  	}
  2531  	if s.VirtualClusterId == nil {
  2532  		invalidParams.Add(request.NewErrParamRequired("VirtualClusterId"))
  2533  	}
  2534  	if s.VirtualClusterId != nil && len(*s.VirtualClusterId) < 1 {
  2535  		invalidParams.Add(request.NewErrParamMinLen("VirtualClusterId", 1))
  2536  	}
  2537  
  2538  	if invalidParams.Len() > 0 {
  2539  		return invalidParams
  2540  	}
  2541  	return nil
  2542  }
  2543  
  2544  // SetId sets the Id field's value.
  2545  func (s *DescribeJobRunInput) SetId(v string) *DescribeJobRunInput {
  2546  	s.Id = &v
  2547  	return s
  2548  }
  2549  
  2550  // SetVirtualClusterId sets the VirtualClusterId field's value.
  2551  func (s *DescribeJobRunInput) SetVirtualClusterId(v string) *DescribeJobRunInput {
  2552  	s.VirtualClusterId = &v
  2553  	return s
  2554  }
  2555  
  2556  type DescribeJobRunOutput struct {
  2557  	_ struct{} `type:"structure"`
  2558  
  2559  	// The output displays information about a job run.
  2560  	JobRun *JobRun `locationName:"jobRun" type:"structure"`
  2561  }
  2562  
  2563  // String returns the string representation.
  2564  //
  2565  // API parameter values that are decorated as "sensitive" in the API will not
  2566  // be included in the string output. The member name will be present, but the
  2567  // value will be replaced with "sensitive".
  2568  func (s DescribeJobRunOutput) String() string {
  2569  	return awsutil.Prettify(s)
  2570  }
  2571  
  2572  // GoString returns the string representation.
  2573  //
  2574  // API parameter values that are decorated as "sensitive" in the API will not
  2575  // be included in the string output. The member name will be present, but the
  2576  // value will be replaced with "sensitive".
  2577  func (s DescribeJobRunOutput) GoString() string {
  2578  	return s.String()
  2579  }
  2580  
  2581  // SetJobRun sets the JobRun field's value.
  2582  func (s *DescribeJobRunOutput) SetJobRun(v *JobRun) *DescribeJobRunOutput {
  2583  	s.JobRun = v
  2584  	return s
  2585  }
  2586  
  2587  type DescribeManagedEndpointInput struct {
  2588  	_ struct{} `type:"structure" nopayload:"true"`
  2589  
  2590  	// This output displays ID of the managed endpoint.
  2591  	//
  2592  	// Id is a required field
  2593  	Id *string `location:"uri" locationName:"endpointId" min:"1" type:"string" required:"true"`
  2594  
  2595  	// The ID of the endpoint's virtual cluster.
  2596  	//
  2597  	// VirtualClusterId is a required field
  2598  	VirtualClusterId *string `location:"uri" locationName:"virtualClusterId" min:"1" type:"string" required:"true"`
  2599  }
  2600  
  2601  // String returns the string representation.
  2602  //
  2603  // API parameter values that are decorated as "sensitive" in the API will not
  2604  // be included in the string output. The member name will be present, but the
  2605  // value will be replaced with "sensitive".
  2606  func (s DescribeManagedEndpointInput) String() string {
  2607  	return awsutil.Prettify(s)
  2608  }
  2609  
  2610  // GoString returns the string representation.
  2611  //
  2612  // API parameter values that are decorated as "sensitive" in the API will not
  2613  // be included in the string output. The member name will be present, but the
  2614  // value will be replaced with "sensitive".
  2615  func (s DescribeManagedEndpointInput) GoString() string {
  2616  	return s.String()
  2617  }
  2618  
  2619  // Validate inspects the fields of the type to determine if they are valid.
  2620  func (s *DescribeManagedEndpointInput) Validate() error {
  2621  	invalidParams := request.ErrInvalidParams{Context: "DescribeManagedEndpointInput"}
  2622  	if s.Id == nil {
  2623  		invalidParams.Add(request.NewErrParamRequired("Id"))
  2624  	}
  2625  	if s.Id != nil && len(*s.Id) < 1 {
  2626  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  2627  	}
  2628  	if s.VirtualClusterId == nil {
  2629  		invalidParams.Add(request.NewErrParamRequired("VirtualClusterId"))
  2630  	}
  2631  	if s.VirtualClusterId != nil && len(*s.VirtualClusterId) < 1 {
  2632  		invalidParams.Add(request.NewErrParamMinLen("VirtualClusterId", 1))
  2633  	}
  2634  
  2635  	if invalidParams.Len() > 0 {
  2636  		return invalidParams
  2637  	}
  2638  	return nil
  2639  }
  2640  
  2641  // SetId sets the Id field's value.
  2642  func (s *DescribeManagedEndpointInput) SetId(v string) *DescribeManagedEndpointInput {
  2643  	s.Id = &v
  2644  	return s
  2645  }
  2646  
  2647  // SetVirtualClusterId sets the VirtualClusterId field's value.
  2648  func (s *DescribeManagedEndpointInput) SetVirtualClusterId(v string) *DescribeManagedEndpointInput {
  2649  	s.VirtualClusterId = &v
  2650  	return s
  2651  }
  2652  
  2653  type DescribeManagedEndpointOutput struct {
  2654  	_ struct{} `type:"structure"`
  2655  
  2656  	// This output displays information about a managed endpoint.
  2657  	Endpoint *Endpoint `locationName:"endpoint" type:"structure"`
  2658  }
  2659  
  2660  // String returns the string representation.
  2661  //
  2662  // API parameter values that are decorated as "sensitive" in the API will not
  2663  // be included in the string output. The member name will be present, but the
  2664  // value will be replaced with "sensitive".
  2665  func (s DescribeManagedEndpointOutput) String() string {
  2666  	return awsutil.Prettify(s)
  2667  }
  2668  
  2669  // GoString returns the string representation.
  2670  //
  2671  // API parameter values that are decorated as "sensitive" in the API will not
  2672  // be included in the string output. The member name will be present, but the
  2673  // value will be replaced with "sensitive".
  2674  func (s DescribeManagedEndpointOutput) GoString() string {
  2675  	return s.String()
  2676  }
  2677  
  2678  // SetEndpoint sets the Endpoint field's value.
  2679  func (s *DescribeManagedEndpointOutput) SetEndpoint(v *Endpoint) *DescribeManagedEndpointOutput {
  2680  	s.Endpoint = v
  2681  	return s
  2682  }
  2683  
  2684  type DescribeVirtualClusterInput struct {
  2685  	_ struct{} `type:"structure" nopayload:"true"`
  2686  
  2687  	// The ID of the virtual cluster that will be described.
  2688  	//
  2689  	// Id is a required field
  2690  	Id *string `location:"uri" locationName:"virtualClusterId" min:"1" type:"string" required:"true"`
  2691  }
  2692  
  2693  // String returns the string representation.
  2694  //
  2695  // API parameter values that are decorated as "sensitive" in the API will not
  2696  // be included in the string output. The member name will be present, but the
  2697  // value will be replaced with "sensitive".
  2698  func (s DescribeVirtualClusterInput) String() string {
  2699  	return awsutil.Prettify(s)
  2700  }
  2701  
  2702  // GoString returns the string representation.
  2703  //
  2704  // API parameter values that are decorated as "sensitive" in the API will not
  2705  // be included in the string output. The member name will be present, but the
  2706  // value will be replaced with "sensitive".
  2707  func (s DescribeVirtualClusterInput) GoString() string {
  2708  	return s.String()
  2709  }
  2710  
  2711  // Validate inspects the fields of the type to determine if they are valid.
  2712  func (s *DescribeVirtualClusterInput) Validate() error {
  2713  	invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualClusterInput"}
  2714  	if s.Id == nil {
  2715  		invalidParams.Add(request.NewErrParamRequired("Id"))
  2716  	}
  2717  	if s.Id != nil && len(*s.Id) < 1 {
  2718  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  2719  	}
  2720  
  2721  	if invalidParams.Len() > 0 {
  2722  		return invalidParams
  2723  	}
  2724  	return nil
  2725  }
  2726  
  2727  // SetId sets the Id field's value.
  2728  func (s *DescribeVirtualClusterInput) SetId(v string) *DescribeVirtualClusterInput {
  2729  	s.Id = &v
  2730  	return s
  2731  }
  2732  
  2733  type DescribeVirtualClusterOutput struct {
  2734  	_ struct{} `type:"structure"`
  2735  
  2736  	// This output displays information about the specified virtual cluster.
  2737  	VirtualCluster *VirtualCluster `locationName:"virtualCluster" type:"structure"`
  2738  }
  2739  
  2740  // String returns the string representation.
  2741  //
  2742  // API parameter values that are decorated as "sensitive" in the API will not
  2743  // be included in the string output. The member name will be present, but the
  2744  // value will be replaced with "sensitive".
  2745  func (s DescribeVirtualClusterOutput) String() string {
  2746  	return awsutil.Prettify(s)
  2747  }
  2748  
  2749  // GoString returns the string representation.
  2750  //
  2751  // API parameter values that are decorated as "sensitive" in the API will not
  2752  // be included in the string output. The member name will be present, but the
  2753  // value will be replaced with "sensitive".
  2754  func (s DescribeVirtualClusterOutput) GoString() string {
  2755  	return s.String()
  2756  }
  2757  
  2758  // SetVirtualCluster sets the VirtualCluster field's value.
  2759  func (s *DescribeVirtualClusterOutput) SetVirtualCluster(v *VirtualCluster) *DescribeVirtualClusterOutput {
  2760  	s.VirtualCluster = v
  2761  	return s
  2762  }
  2763  
  2764  // The information about the EKS cluster.
  2765  type EksInfo struct {
  2766  	_ struct{} `type:"structure"`
  2767  
  2768  	// The namespaces of the EKS cluster.
  2769  	Namespace *string `locationName:"namespace" min:"1" type:"string"`
  2770  }
  2771  
  2772  // String returns the string representation.
  2773  //
  2774  // API parameter values that are decorated as "sensitive" in the API will not
  2775  // be included in the string output. The member name will be present, but the
  2776  // value will be replaced with "sensitive".
  2777  func (s EksInfo) String() string {
  2778  	return awsutil.Prettify(s)
  2779  }
  2780  
  2781  // GoString returns the string representation.
  2782  //
  2783  // API parameter values that are decorated as "sensitive" in the API will not
  2784  // be included in the string output. The member name will be present, but the
  2785  // value will be replaced with "sensitive".
  2786  func (s EksInfo) GoString() string {
  2787  	return s.String()
  2788  }
  2789  
  2790  // Validate inspects the fields of the type to determine if they are valid.
  2791  func (s *EksInfo) Validate() error {
  2792  	invalidParams := request.ErrInvalidParams{Context: "EksInfo"}
  2793  	if s.Namespace != nil && len(*s.Namespace) < 1 {
  2794  		invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
  2795  	}
  2796  
  2797  	if invalidParams.Len() > 0 {
  2798  		return invalidParams
  2799  	}
  2800  	return nil
  2801  }
  2802  
  2803  // SetNamespace sets the Namespace field's value.
  2804  func (s *EksInfo) SetNamespace(v string) *EksInfo {
  2805  	s.Namespace = &v
  2806  	return s
  2807  }
  2808  
  2809  // This entity represents the endpoint that is managed by Amazon EMR on EKS.
  2810  type Endpoint struct {
  2811  	_ struct{} `type:"structure"`
  2812  
  2813  	// The ARN of the endpoint.
  2814  	Arn *string `locationName:"arn" min:"60" type:"string"`
  2815  
  2816  	// The certificate ARN of the endpoint.
  2817  	CertificateArn *string `locationName:"certificateArn" min:"44" type:"string"`
  2818  
  2819  	// The configuration settings that are used to override existing configurations
  2820  	// for endpoints.
  2821  	ConfigurationOverrides *ConfigurationOverrides `locationName:"configurationOverrides" type:"structure"`
  2822  
  2823  	// The date and time when the endpoint was created.
  2824  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"`
  2825  
  2826  	// The execution role ARN of the endpoint.
  2827  	ExecutionRoleArn *string `locationName:"executionRoleArn" min:"20" type:"string"`
  2828  
  2829  	// The reasons why the endpoint has failed.
  2830  	FailureReason *string `locationName:"failureReason" type:"string" enum:"FailureReason"`
  2831  
  2832  	// The ID of the endpoint.
  2833  	Id *string `locationName:"id" min:"1" type:"string"`
  2834  
  2835  	// The name of the endpoint.
  2836  	Name *string `locationName:"name" min:"1" type:"string"`
  2837  
  2838  	// The EMR release version to be used for the endpoint.
  2839  	ReleaseLabel *string `locationName:"releaseLabel" min:"1" type:"string"`
  2840  
  2841  	// The security group configuration of the endpoint.
  2842  	SecurityGroup *string `locationName:"securityGroup" min:"1" type:"string"`
  2843  
  2844  	// The server URL of the endpoint.
  2845  	ServerUrl *string `locationName:"serverUrl" min:"1" type:"string"`
  2846  
  2847  	// The state of the endpoint.
  2848  	State *string `locationName:"state" type:"string" enum:"EndpointState"`
  2849  
  2850  	// Additional details of the endpoint state.
  2851  	StateDetails *string `locationName:"stateDetails" min:"1" type:"string"`
  2852  
  2853  	// The subnet IDs of the endpoint.
  2854  	SubnetIds []*string `locationName:"subnetIds" type:"list"`
  2855  
  2856  	// The tags of the endpoint.
  2857  	Tags map[string]*string `locationName:"tags" type:"map"`
  2858  
  2859  	// The type of the endpoint.
  2860  	Type *string `locationName:"type" min:"1" type:"string"`
  2861  
  2862  	// The ID of the endpoint's virtual cluster.
  2863  	VirtualClusterId *string `locationName:"virtualClusterId" min:"1" type:"string"`
  2864  }
  2865  
  2866  // String returns the string representation.
  2867  //
  2868  // API parameter values that are decorated as "sensitive" in the API will not
  2869  // be included in the string output. The member name will be present, but the
  2870  // value will be replaced with "sensitive".
  2871  func (s Endpoint) String() string {
  2872  	return awsutil.Prettify(s)
  2873  }
  2874  
  2875  // GoString returns the string representation.
  2876  //
  2877  // API parameter values that are decorated as "sensitive" in the API will not
  2878  // be included in the string output. The member name will be present, but the
  2879  // value will be replaced with "sensitive".
  2880  func (s Endpoint) GoString() string {
  2881  	return s.String()
  2882  }
  2883  
  2884  // SetArn sets the Arn field's value.
  2885  func (s *Endpoint) SetArn(v string) *Endpoint {
  2886  	s.Arn = &v
  2887  	return s
  2888  }
  2889  
  2890  // SetCertificateArn sets the CertificateArn field's value.
  2891  func (s *Endpoint) SetCertificateArn(v string) *Endpoint {
  2892  	s.CertificateArn = &v
  2893  	return s
  2894  }
  2895  
  2896  // SetConfigurationOverrides sets the ConfigurationOverrides field's value.
  2897  func (s *Endpoint) SetConfigurationOverrides(v *ConfigurationOverrides) *Endpoint {
  2898  	s.ConfigurationOverrides = v
  2899  	return s
  2900  }
  2901  
  2902  // SetCreatedAt sets the CreatedAt field's value.
  2903  func (s *Endpoint) SetCreatedAt(v time.Time) *Endpoint {
  2904  	s.CreatedAt = &v
  2905  	return s
  2906  }
  2907  
  2908  // SetExecutionRoleArn sets the ExecutionRoleArn field's value.
  2909  func (s *Endpoint) SetExecutionRoleArn(v string) *Endpoint {
  2910  	s.ExecutionRoleArn = &v
  2911  	return s
  2912  }
  2913  
  2914  // SetFailureReason sets the FailureReason field's value.
  2915  func (s *Endpoint) SetFailureReason(v string) *Endpoint {
  2916  	s.FailureReason = &v
  2917  	return s
  2918  }
  2919  
  2920  // SetId sets the Id field's value.
  2921  func (s *Endpoint) SetId(v string) *Endpoint {
  2922  	s.Id = &v
  2923  	return s
  2924  }
  2925  
  2926  // SetName sets the Name field's value.
  2927  func (s *Endpoint) SetName(v string) *Endpoint {
  2928  	s.Name = &v
  2929  	return s
  2930  }
  2931  
  2932  // SetReleaseLabel sets the ReleaseLabel field's value.
  2933  func (s *Endpoint) SetReleaseLabel(v string) *Endpoint {
  2934  	s.ReleaseLabel = &v
  2935  	return s
  2936  }
  2937  
  2938  // SetSecurityGroup sets the SecurityGroup field's value.
  2939  func (s *Endpoint) SetSecurityGroup(v string) *Endpoint {
  2940  	s.SecurityGroup = &v
  2941  	return s
  2942  }
  2943  
  2944  // SetServerUrl sets the ServerUrl field's value.
  2945  func (s *Endpoint) SetServerUrl(v string) *Endpoint {
  2946  	s.ServerUrl = &v
  2947  	return s
  2948  }
  2949  
  2950  // SetState sets the State field's value.
  2951  func (s *Endpoint) SetState(v string) *Endpoint {
  2952  	s.State = &v
  2953  	return s
  2954  }
  2955  
  2956  // SetStateDetails sets the StateDetails field's value.
  2957  func (s *Endpoint) SetStateDetails(v string) *Endpoint {
  2958  	s.StateDetails = &v
  2959  	return s
  2960  }
  2961  
  2962  // SetSubnetIds sets the SubnetIds field's value.
  2963  func (s *Endpoint) SetSubnetIds(v []*string) *Endpoint {
  2964  	s.SubnetIds = v
  2965  	return s
  2966  }
  2967  
  2968  // SetTags sets the Tags field's value.
  2969  func (s *Endpoint) SetTags(v map[string]*string) *Endpoint {
  2970  	s.Tags = v
  2971  	return s
  2972  }
  2973  
  2974  // SetType sets the Type field's value.
  2975  func (s *Endpoint) SetType(v string) *Endpoint {
  2976  	s.Type = &v
  2977  	return s
  2978  }
  2979  
  2980  // SetVirtualClusterId sets the VirtualClusterId field's value.
  2981  func (s *Endpoint) SetVirtualClusterId(v string) *Endpoint {
  2982  	s.VirtualClusterId = &v
  2983  	return s
  2984  }
  2985  
  2986  // This is an internal server exception.
  2987  type InternalServerException struct {
  2988  	_            struct{}                  `type:"structure"`
  2989  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2990  
  2991  	Message_ *string `locationName:"message" min:"1" type:"string"`
  2992  }
  2993  
  2994  // String returns the string representation.
  2995  //
  2996  // API parameter values that are decorated as "sensitive" in the API will not
  2997  // be included in the string output. The member name will be present, but the
  2998  // value will be replaced with "sensitive".
  2999  func (s InternalServerException) String() string {
  3000  	return awsutil.Prettify(s)
  3001  }
  3002  
  3003  // GoString returns the string representation.
  3004  //
  3005  // API parameter values that are decorated as "sensitive" in the API will not
  3006  // be included in the string output. The member name will be present, but the
  3007  // value will be replaced with "sensitive".
  3008  func (s InternalServerException) GoString() string {
  3009  	return s.String()
  3010  }
  3011  
  3012  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  3013  	return &InternalServerException{
  3014  		RespMetadata: v,
  3015  	}
  3016  }
  3017  
  3018  // Code returns the exception type name.
  3019  func (s *InternalServerException) Code() string {
  3020  	return "InternalServerException"
  3021  }
  3022  
  3023  // Message returns the exception's message.
  3024  func (s *InternalServerException) Message() string {
  3025  	if s.Message_ != nil {
  3026  		return *s.Message_
  3027  	}
  3028  	return ""
  3029  }
  3030  
  3031  // OrigErr always returns nil, satisfies awserr.Error interface.
  3032  func (s *InternalServerException) OrigErr() error {
  3033  	return nil
  3034  }
  3035  
  3036  func (s *InternalServerException) Error() string {
  3037  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3038  }
  3039  
  3040  // Status code returns the HTTP status code for the request's response error.
  3041  func (s *InternalServerException) StatusCode() int {
  3042  	return s.RespMetadata.StatusCode
  3043  }
  3044  
  3045  // RequestID returns the service's response RequestID for request.
  3046  func (s *InternalServerException) RequestID() string {
  3047  	return s.RespMetadata.RequestID
  3048  }
  3049  
  3050  // Specify the driver that the job runs on.
  3051  type JobDriver struct {
  3052  	_ struct{} `type:"structure"`
  3053  
  3054  	// The job driver parameters specified for spark submit.
  3055  	SparkSubmitJobDriver *SparkSubmitJobDriver `locationName:"sparkSubmitJobDriver" type:"structure"`
  3056  }
  3057  
  3058  // String returns the string representation.
  3059  //
  3060  // API parameter values that are decorated as "sensitive" in the API will not
  3061  // be included in the string output. The member name will be present, but the
  3062  // value will be replaced with "sensitive".
  3063  func (s JobDriver) String() string {
  3064  	return awsutil.Prettify(s)
  3065  }
  3066  
  3067  // GoString returns the string representation.
  3068  //
  3069  // API parameter values that are decorated as "sensitive" in the API will not
  3070  // be included in the string output. The member name will be present, but the
  3071  // value will be replaced with "sensitive".
  3072  func (s JobDriver) GoString() string {
  3073  	return s.String()
  3074  }
  3075  
  3076  // Validate inspects the fields of the type to determine if they are valid.
  3077  func (s *JobDriver) Validate() error {
  3078  	invalidParams := request.ErrInvalidParams{Context: "JobDriver"}
  3079  	if s.SparkSubmitJobDriver != nil {
  3080  		if err := s.SparkSubmitJobDriver.Validate(); err != nil {
  3081  			invalidParams.AddNested("SparkSubmitJobDriver", err.(request.ErrInvalidParams))
  3082  		}
  3083  	}
  3084  
  3085  	if invalidParams.Len() > 0 {
  3086  		return invalidParams
  3087  	}
  3088  	return nil
  3089  }
  3090  
  3091  // SetSparkSubmitJobDriver sets the SparkSubmitJobDriver field's value.
  3092  func (s *JobDriver) SetSparkSubmitJobDriver(v *SparkSubmitJobDriver) *JobDriver {
  3093  	s.SparkSubmitJobDriver = v
  3094  	return s
  3095  }
  3096  
  3097  // This entity describes a job run. A job run is a unit of work, such as a Spark
  3098  // jar, PySpark script, or SparkSQL query, that you submit to Amazon EMR on
  3099  // EKS.
  3100  type JobRun struct {
  3101  	_ struct{} `type:"structure"`
  3102  
  3103  	// The ARN of job run.
  3104  	Arn *string `locationName:"arn" min:"60" type:"string"`
  3105  
  3106  	// The client token used to start a job run.
  3107  	ClientToken *string `locationName:"clientToken" min:"1" type:"string"`
  3108  
  3109  	// The configuration settings that are used to override default configuration.
  3110  	ConfigurationOverrides *ConfigurationOverrides `locationName:"configurationOverrides" type:"structure"`
  3111  
  3112  	// The date and time when the job run was created.
  3113  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"`
  3114  
  3115  	// The user who created the job run.
  3116  	CreatedBy *string `locationName:"createdBy" min:"20" type:"string"`
  3117  
  3118  	// The execution role ARN of the job run.
  3119  	ExecutionRoleArn *string `locationName:"executionRoleArn" min:"20" type:"string"`
  3120  
  3121  	// The reasons why the job run has failed.
  3122  	FailureReason *string `locationName:"failureReason" type:"string" enum:"FailureReason"`
  3123  
  3124  	// The date and time when the job run has finished.
  3125  	FinishedAt *time.Time `locationName:"finishedAt" type:"timestamp" timestampFormat:"iso8601"`
  3126  
  3127  	// The ID of the job run.
  3128  	Id *string `locationName:"id" min:"1" type:"string"`
  3129  
  3130  	// Parameters of job driver for the job run.
  3131  	JobDriver *JobDriver `locationName:"jobDriver" type:"structure"`
  3132  
  3133  	// The name of the job run.
  3134  	Name *string `locationName:"name" min:"1" type:"string"`
  3135  
  3136  	// The release version of Amazon EMR.
  3137  	ReleaseLabel *string `locationName:"releaseLabel" min:"1" type:"string"`
  3138  
  3139  	// The state of the job run.
  3140  	State *string `locationName:"state" type:"string" enum:"JobRunState"`
  3141  
  3142  	// Additional details of the job run state.
  3143  	StateDetails *string `locationName:"stateDetails" min:"1" type:"string"`
  3144  
  3145  	// The assigned tags of the job run.
  3146  	Tags map[string]*string `locationName:"tags" type:"map"`
  3147  
  3148  	// The ID of the job run's virtual cluster.
  3149  	VirtualClusterId *string `locationName:"virtualClusterId" min:"1" type:"string"`
  3150  }
  3151  
  3152  // String returns the string representation.
  3153  //
  3154  // API parameter values that are decorated as "sensitive" in the API will not
  3155  // be included in the string output. The member name will be present, but the
  3156  // value will be replaced with "sensitive".
  3157  func (s JobRun) String() string {
  3158  	return awsutil.Prettify(s)
  3159  }
  3160  
  3161  // GoString returns the string representation.
  3162  //
  3163  // API parameter values that are decorated as "sensitive" in the API will not
  3164  // be included in the string output. The member name will be present, but the
  3165  // value will be replaced with "sensitive".
  3166  func (s JobRun) GoString() string {
  3167  	return s.String()
  3168  }
  3169  
  3170  // SetArn sets the Arn field's value.
  3171  func (s *JobRun) SetArn(v string) *JobRun {
  3172  	s.Arn = &v
  3173  	return s
  3174  }
  3175  
  3176  // SetClientToken sets the ClientToken field's value.
  3177  func (s *JobRun) SetClientToken(v string) *JobRun {
  3178  	s.ClientToken = &v
  3179  	return s
  3180  }
  3181  
  3182  // SetConfigurationOverrides sets the ConfigurationOverrides field's value.
  3183  func (s *JobRun) SetConfigurationOverrides(v *ConfigurationOverrides) *JobRun {
  3184  	s.ConfigurationOverrides = v
  3185  	return s
  3186  }
  3187  
  3188  // SetCreatedAt sets the CreatedAt field's value.
  3189  func (s *JobRun) SetCreatedAt(v time.Time) *JobRun {
  3190  	s.CreatedAt = &v
  3191  	return s
  3192  }
  3193  
  3194  // SetCreatedBy sets the CreatedBy field's value.
  3195  func (s *JobRun) SetCreatedBy(v string) *JobRun {
  3196  	s.CreatedBy = &v
  3197  	return s
  3198  }
  3199  
  3200  // SetExecutionRoleArn sets the ExecutionRoleArn field's value.
  3201  func (s *JobRun) SetExecutionRoleArn(v string) *JobRun {
  3202  	s.ExecutionRoleArn = &v
  3203  	return s
  3204  }
  3205  
  3206  // SetFailureReason sets the FailureReason field's value.
  3207  func (s *JobRun) SetFailureReason(v string) *JobRun {
  3208  	s.FailureReason = &v
  3209  	return s
  3210  }
  3211  
  3212  // SetFinishedAt sets the FinishedAt field's value.
  3213  func (s *JobRun) SetFinishedAt(v time.Time) *JobRun {
  3214  	s.FinishedAt = &v
  3215  	return s
  3216  }
  3217  
  3218  // SetId sets the Id field's value.
  3219  func (s *JobRun) SetId(v string) *JobRun {
  3220  	s.Id = &v
  3221  	return s
  3222  }
  3223  
  3224  // SetJobDriver sets the JobDriver field's value.
  3225  func (s *JobRun) SetJobDriver(v *JobDriver) *JobRun {
  3226  	s.JobDriver = v
  3227  	return s
  3228  }
  3229  
  3230  // SetName sets the Name field's value.
  3231  func (s *JobRun) SetName(v string) *JobRun {
  3232  	s.Name = &v
  3233  	return s
  3234  }
  3235  
  3236  // SetReleaseLabel sets the ReleaseLabel field's value.
  3237  func (s *JobRun) SetReleaseLabel(v string) *JobRun {
  3238  	s.ReleaseLabel = &v
  3239  	return s
  3240  }
  3241  
  3242  // SetState sets the State field's value.
  3243  func (s *JobRun) SetState(v string) *JobRun {
  3244  	s.State = &v
  3245  	return s
  3246  }
  3247  
  3248  // SetStateDetails sets the StateDetails field's value.
  3249  func (s *JobRun) SetStateDetails(v string) *JobRun {
  3250  	s.StateDetails = &v
  3251  	return s
  3252  }
  3253  
  3254  // SetTags sets the Tags field's value.
  3255  func (s *JobRun) SetTags(v map[string]*string) *JobRun {
  3256  	s.Tags = v
  3257  	return s
  3258  }
  3259  
  3260  // SetVirtualClusterId sets the VirtualClusterId field's value.
  3261  func (s *JobRun) SetVirtualClusterId(v string) *JobRun {
  3262  	s.VirtualClusterId = &v
  3263  	return s
  3264  }
  3265  
  3266  type ListJobRunsInput struct {
  3267  	_ struct{} `type:"structure" nopayload:"true"`
  3268  
  3269  	// The date and time after which the job runs were submitted.
  3270  	CreatedAfter *time.Time `location:"querystring" locationName:"createdAfter" type:"timestamp" timestampFormat:"iso8601"`
  3271  
  3272  	// The date and time before which the job runs were submitted.
  3273  	CreatedBefore *time.Time `location:"querystring" locationName:"createdBefore" type:"timestamp" timestampFormat:"iso8601"`
  3274  
  3275  	// The maximum number of job runs that can be listed.
  3276  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  3277  
  3278  	// The name of the job run.
  3279  	Name *string `location:"querystring" locationName:"name" min:"1" type:"string"`
  3280  
  3281  	// The token for the next set of job runs to return.
  3282  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  3283  
  3284  	// The states of the job run.
  3285  	States []*string `location:"querystring" locationName:"states" type:"list"`
  3286  
  3287  	// The ID of the virtual cluster for which to list the job run.
  3288  	//
  3289  	// VirtualClusterId is a required field
  3290  	VirtualClusterId *string `location:"uri" locationName:"virtualClusterId" min:"1" type:"string" required:"true"`
  3291  }
  3292  
  3293  // String returns the string representation.
  3294  //
  3295  // API parameter values that are decorated as "sensitive" in the API will not
  3296  // be included in the string output. The member name will be present, but the
  3297  // value will be replaced with "sensitive".
  3298  func (s ListJobRunsInput) String() string {
  3299  	return awsutil.Prettify(s)
  3300  }
  3301  
  3302  // GoString returns the string representation.
  3303  //
  3304  // API parameter values that are decorated as "sensitive" in the API will not
  3305  // be included in the string output. The member name will be present, but the
  3306  // value will be replaced with "sensitive".
  3307  func (s ListJobRunsInput) GoString() string {
  3308  	return s.String()
  3309  }
  3310  
  3311  // Validate inspects the fields of the type to determine if they are valid.
  3312  func (s *ListJobRunsInput) Validate() error {
  3313  	invalidParams := request.ErrInvalidParams{Context: "ListJobRunsInput"}
  3314  	if s.Name != nil && len(*s.Name) < 1 {
  3315  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  3316  	}
  3317  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  3318  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  3319  	}
  3320  	if s.VirtualClusterId == nil {
  3321  		invalidParams.Add(request.NewErrParamRequired("VirtualClusterId"))
  3322  	}
  3323  	if s.VirtualClusterId != nil && len(*s.VirtualClusterId) < 1 {
  3324  		invalidParams.Add(request.NewErrParamMinLen("VirtualClusterId", 1))
  3325  	}
  3326  
  3327  	if invalidParams.Len() > 0 {
  3328  		return invalidParams
  3329  	}
  3330  	return nil
  3331  }
  3332  
  3333  // SetCreatedAfter sets the CreatedAfter field's value.
  3334  func (s *ListJobRunsInput) SetCreatedAfter(v time.Time) *ListJobRunsInput {
  3335  	s.CreatedAfter = &v
  3336  	return s
  3337  }
  3338  
  3339  // SetCreatedBefore sets the CreatedBefore field's value.
  3340  func (s *ListJobRunsInput) SetCreatedBefore(v time.Time) *ListJobRunsInput {
  3341  	s.CreatedBefore = &v
  3342  	return s
  3343  }
  3344  
  3345  // SetMaxResults sets the MaxResults field's value.
  3346  func (s *ListJobRunsInput) SetMaxResults(v int64) *ListJobRunsInput {
  3347  	s.MaxResults = &v
  3348  	return s
  3349  }
  3350  
  3351  // SetName sets the Name field's value.
  3352  func (s *ListJobRunsInput) SetName(v string) *ListJobRunsInput {
  3353  	s.Name = &v
  3354  	return s
  3355  }
  3356  
  3357  // SetNextToken sets the NextToken field's value.
  3358  func (s *ListJobRunsInput) SetNextToken(v string) *ListJobRunsInput {
  3359  	s.NextToken = &v
  3360  	return s
  3361  }
  3362  
  3363  // SetStates sets the States field's value.
  3364  func (s *ListJobRunsInput) SetStates(v []*string) *ListJobRunsInput {
  3365  	s.States = v
  3366  	return s
  3367  }
  3368  
  3369  // SetVirtualClusterId sets the VirtualClusterId field's value.
  3370  func (s *ListJobRunsInput) SetVirtualClusterId(v string) *ListJobRunsInput {
  3371  	s.VirtualClusterId = &v
  3372  	return s
  3373  }
  3374  
  3375  type ListJobRunsOutput struct {
  3376  	_ struct{} `type:"structure"`
  3377  
  3378  	// This output lists information about the specified job runs.
  3379  	JobRuns []*JobRun `locationName:"jobRuns" type:"list"`
  3380  
  3381  	// This output displays the token for the next set of job runs.
  3382  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  3383  }
  3384  
  3385  // String returns the string representation.
  3386  //
  3387  // API parameter values that are decorated as "sensitive" in the API will not
  3388  // be included in the string output. The member name will be present, but the
  3389  // value will be replaced with "sensitive".
  3390  func (s ListJobRunsOutput) String() string {
  3391  	return awsutil.Prettify(s)
  3392  }
  3393  
  3394  // GoString returns the string representation.
  3395  //
  3396  // API parameter values that are decorated as "sensitive" in the API will not
  3397  // be included in the string output. The member name will be present, but the
  3398  // value will be replaced with "sensitive".
  3399  func (s ListJobRunsOutput) GoString() string {
  3400  	return s.String()
  3401  }
  3402  
  3403  // SetJobRuns sets the JobRuns field's value.
  3404  func (s *ListJobRunsOutput) SetJobRuns(v []*JobRun) *ListJobRunsOutput {
  3405  	s.JobRuns = v
  3406  	return s
  3407  }
  3408  
  3409  // SetNextToken sets the NextToken field's value.
  3410  func (s *ListJobRunsOutput) SetNextToken(v string) *ListJobRunsOutput {
  3411  	s.NextToken = &v
  3412  	return s
  3413  }
  3414  
  3415  type ListManagedEndpointsInput struct {
  3416  	_ struct{} `type:"structure" nopayload:"true"`
  3417  
  3418  	// The date and time after which the endpoints are created.
  3419  	CreatedAfter *time.Time `location:"querystring" locationName:"createdAfter" type:"timestamp" timestampFormat:"iso8601"`
  3420  
  3421  	// The date and time before which the endpoints are created.
  3422  	CreatedBefore *time.Time `location:"querystring" locationName:"createdBefore" type:"timestamp" timestampFormat:"iso8601"`
  3423  
  3424  	// The maximum number of managed endpoints that can be listed.
  3425  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  3426  
  3427  	// The token for the next set of managed endpoints to return.
  3428  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  3429  
  3430  	// The states of the managed endpoints.
  3431  	States []*string `location:"querystring" locationName:"states" type:"list"`
  3432  
  3433  	// The types of the managed endpoints.
  3434  	Types []*string `location:"querystring" locationName:"types" type:"list"`
  3435  
  3436  	// The ID of the virtual cluster.
  3437  	//
  3438  	// VirtualClusterId is a required field
  3439  	VirtualClusterId *string `location:"uri" locationName:"virtualClusterId" min:"1" type:"string" required:"true"`
  3440  }
  3441  
  3442  // String returns the string representation.
  3443  //
  3444  // API parameter values that are decorated as "sensitive" in the API will not
  3445  // be included in the string output. The member name will be present, but the
  3446  // value will be replaced with "sensitive".
  3447  func (s ListManagedEndpointsInput) String() string {
  3448  	return awsutil.Prettify(s)
  3449  }
  3450  
  3451  // GoString returns the string representation.
  3452  //
  3453  // API parameter values that are decorated as "sensitive" in the API will not
  3454  // be included in the string output. The member name will be present, but the
  3455  // value will be replaced with "sensitive".
  3456  func (s ListManagedEndpointsInput) GoString() string {
  3457  	return s.String()
  3458  }
  3459  
  3460  // Validate inspects the fields of the type to determine if they are valid.
  3461  func (s *ListManagedEndpointsInput) Validate() error {
  3462  	invalidParams := request.ErrInvalidParams{Context: "ListManagedEndpointsInput"}
  3463  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  3464  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  3465  	}
  3466  	if s.VirtualClusterId == nil {
  3467  		invalidParams.Add(request.NewErrParamRequired("VirtualClusterId"))
  3468  	}
  3469  	if s.VirtualClusterId != nil && len(*s.VirtualClusterId) < 1 {
  3470  		invalidParams.Add(request.NewErrParamMinLen("VirtualClusterId", 1))
  3471  	}
  3472  
  3473  	if invalidParams.Len() > 0 {
  3474  		return invalidParams
  3475  	}
  3476  	return nil
  3477  }
  3478  
  3479  // SetCreatedAfter sets the CreatedAfter field's value.
  3480  func (s *ListManagedEndpointsInput) SetCreatedAfter(v time.Time) *ListManagedEndpointsInput {
  3481  	s.CreatedAfter = &v
  3482  	return s
  3483  }
  3484  
  3485  // SetCreatedBefore sets the CreatedBefore field's value.
  3486  func (s *ListManagedEndpointsInput) SetCreatedBefore(v time.Time) *ListManagedEndpointsInput {
  3487  	s.CreatedBefore = &v
  3488  	return s
  3489  }
  3490  
  3491  // SetMaxResults sets the MaxResults field's value.
  3492  func (s *ListManagedEndpointsInput) SetMaxResults(v int64) *ListManagedEndpointsInput {
  3493  	s.MaxResults = &v
  3494  	return s
  3495  }
  3496  
  3497  // SetNextToken sets the NextToken field's value.
  3498  func (s *ListManagedEndpointsInput) SetNextToken(v string) *ListManagedEndpointsInput {
  3499  	s.NextToken = &v
  3500  	return s
  3501  }
  3502  
  3503  // SetStates sets the States field's value.
  3504  func (s *ListManagedEndpointsInput) SetStates(v []*string) *ListManagedEndpointsInput {
  3505  	s.States = v
  3506  	return s
  3507  }
  3508  
  3509  // SetTypes sets the Types field's value.
  3510  func (s *ListManagedEndpointsInput) SetTypes(v []*string) *ListManagedEndpointsInput {
  3511  	s.Types = v
  3512  	return s
  3513  }
  3514  
  3515  // SetVirtualClusterId sets the VirtualClusterId field's value.
  3516  func (s *ListManagedEndpointsInput) SetVirtualClusterId(v string) *ListManagedEndpointsInput {
  3517  	s.VirtualClusterId = &v
  3518  	return s
  3519  }
  3520  
  3521  type ListManagedEndpointsOutput struct {
  3522  	_ struct{} `type:"structure"`
  3523  
  3524  	// The managed endpoints to be listed.
  3525  	Endpoints []*Endpoint `locationName:"endpoints" type:"list"`
  3526  
  3527  	// The token for the next set of endpoints to return.
  3528  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  3529  }
  3530  
  3531  // String returns the string representation.
  3532  //
  3533  // API parameter values that are decorated as "sensitive" in the API will not
  3534  // be included in the string output. The member name will be present, but the
  3535  // value will be replaced with "sensitive".
  3536  func (s ListManagedEndpointsOutput) String() string {
  3537  	return awsutil.Prettify(s)
  3538  }
  3539  
  3540  // GoString returns the string representation.
  3541  //
  3542  // API parameter values that are decorated as "sensitive" in the API will not
  3543  // be included in the string output. The member name will be present, but the
  3544  // value will be replaced with "sensitive".
  3545  func (s ListManagedEndpointsOutput) GoString() string {
  3546  	return s.String()
  3547  }
  3548  
  3549  // SetEndpoints sets the Endpoints field's value.
  3550  func (s *ListManagedEndpointsOutput) SetEndpoints(v []*Endpoint) *ListManagedEndpointsOutput {
  3551  	s.Endpoints = v
  3552  	return s
  3553  }
  3554  
  3555  // SetNextToken sets the NextToken field's value.
  3556  func (s *ListManagedEndpointsOutput) SetNextToken(v string) *ListManagedEndpointsOutput {
  3557  	s.NextToken = &v
  3558  	return s
  3559  }
  3560  
  3561  type ListTagsForResourceInput struct {
  3562  	_ struct{} `type:"structure" nopayload:"true"`
  3563  
  3564  	// The ARN of tagged resources.
  3565  	//
  3566  	// ResourceArn is a required field
  3567  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"60" type:"string" required:"true"`
  3568  }
  3569  
  3570  // String returns the string representation.
  3571  //
  3572  // API parameter values that are decorated as "sensitive" in the API will not
  3573  // be included in the string output. The member name will be present, but the
  3574  // value will be replaced with "sensitive".
  3575  func (s ListTagsForResourceInput) String() string {
  3576  	return awsutil.Prettify(s)
  3577  }
  3578  
  3579  // GoString returns the string representation.
  3580  //
  3581  // API parameter values that are decorated as "sensitive" in the API will not
  3582  // be included in the string output. The member name will be present, but the
  3583  // value will be replaced with "sensitive".
  3584  func (s ListTagsForResourceInput) GoString() string {
  3585  	return s.String()
  3586  }
  3587  
  3588  // Validate inspects the fields of the type to determine if they are valid.
  3589  func (s *ListTagsForResourceInput) Validate() error {
  3590  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  3591  	if s.ResourceArn == nil {
  3592  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  3593  	}
  3594  	if s.ResourceArn != nil && len(*s.ResourceArn) < 60 {
  3595  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 60))
  3596  	}
  3597  
  3598  	if invalidParams.Len() > 0 {
  3599  		return invalidParams
  3600  	}
  3601  	return nil
  3602  }
  3603  
  3604  // SetResourceArn sets the ResourceArn field's value.
  3605  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  3606  	s.ResourceArn = &v
  3607  	return s
  3608  }
  3609  
  3610  type ListTagsForResourceOutput struct {
  3611  	_ struct{} `type:"structure"`
  3612  
  3613  	// The tags assigned to resources.
  3614  	Tags map[string]*string `locationName:"tags" type:"map"`
  3615  }
  3616  
  3617  // String returns the string representation.
  3618  //
  3619  // API parameter values that are decorated as "sensitive" in the API will not
  3620  // be included in the string output. The member name will be present, but the
  3621  // value will be replaced with "sensitive".
  3622  func (s ListTagsForResourceOutput) String() string {
  3623  	return awsutil.Prettify(s)
  3624  }
  3625  
  3626  // GoString returns the string representation.
  3627  //
  3628  // API parameter values that are decorated as "sensitive" in the API will not
  3629  // be included in the string output. The member name will be present, but the
  3630  // value will be replaced with "sensitive".
  3631  func (s ListTagsForResourceOutput) GoString() string {
  3632  	return s.String()
  3633  }
  3634  
  3635  // SetTags sets the Tags field's value.
  3636  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  3637  	s.Tags = v
  3638  	return s
  3639  }
  3640  
  3641  type ListVirtualClustersInput struct {
  3642  	_ struct{} `type:"structure" nopayload:"true"`
  3643  
  3644  	// The container provider ID of the virtual cluster.
  3645  	ContainerProviderId *string `location:"querystring" locationName:"containerProviderId" min:"1" type:"string"`
  3646  
  3647  	// The container provider type of the virtual cluster. EKS is the only supported
  3648  	// type as of now.
  3649  	ContainerProviderType *string `location:"querystring" locationName:"containerProviderType" type:"string" enum:"ContainerProviderType"`
  3650  
  3651  	// The date and time after which the virtual clusters are created.
  3652  	CreatedAfter *time.Time `location:"querystring" locationName:"createdAfter" type:"timestamp" timestampFormat:"iso8601"`
  3653  
  3654  	// The date and time before which the virtual clusters are created.
  3655  	CreatedBefore *time.Time `location:"querystring" locationName:"createdBefore" type:"timestamp" timestampFormat:"iso8601"`
  3656  
  3657  	// The maximum number of virtual clusters that can be listed.
  3658  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  3659  
  3660  	// The token for the next set of virtual clusters to return.
  3661  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  3662  
  3663  	// The states of the requested virtual clusters.
  3664  	States []*string `location:"querystring" locationName:"states" type:"list"`
  3665  }
  3666  
  3667  // String returns the string representation.
  3668  //
  3669  // API parameter values that are decorated as "sensitive" in the API will not
  3670  // be included in the string output. The member name will be present, but the
  3671  // value will be replaced with "sensitive".
  3672  func (s ListVirtualClustersInput) String() string {
  3673  	return awsutil.Prettify(s)
  3674  }
  3675  
  3676  // GoString returns the string representation.
  3677  //
  3678  // API parameter values that are decorated as "sensitive" in the API will not
  3679  // be included in the string output. The member name will be present, but the
  3680  // value will be replaced with "sensitive".
  3681  func (s ListVirtualClustersInput) GoString() string {
  3682  	return s.String()
  3683  }
  3684  
  3685  // Validate inspects the fields of the type to determine if they are valid.
  3686  func (s *ListVirtualClustersInput) Validate() error {
  3687  	invalidParams := request.ErrInvalidParams{Context: "ListVirtualClustersInput"}
  3688  	if s.ContainerProviderId != nil && len(*s.ContainerProviderId) < 1 {
  3689  		invalidParams.Add(request.NewErrParamMinLen("ContainerProviderId", 1))
  3690  	}
  3691  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  3692  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  3693  	}
  3694  
  3695  	if invalidParams.Len() > 0 {
  3696  		return invalidParams
  3697  	}
  3698  	return nil
  3699  }
  3700  
  3701  // SetContainerProviderId sets the ContainerProviderId field's value.
  3702  func (s *ListVirtualClustersInput) SetContainerProviderId(v string) *ListVirtualClustersInput {
  3703  	s.ContainerProviderId = &v
  3704  	return s
  3705  }
  3706  
  3707  // SetContainerProviderType sets the ContainerProviderType field's value.
  3708  func (s *ListVirtualClustersInput) SetContainerProviderType(v string) *ListVirtualClustersInput {
  3709  	s.ContainerProviderType = &v
  3710  	return s
  3711  }
  3712  
  3713  // SetCreatedAfter sets the CreatedAfter field's value.
  3714  func (s *ListVirtualClustersInput) SetCreatedAfter(v time.Time) *ListVirtualClustersInput {
  3715  	s.CreatedAfter = &v
  3716  	return s
  3717  }
  3718  
  3719  // SetCreatedBefore sets the CreatedBefore field's value.
  3720  func (s *ListVirtualClustersInput) SetCreatedBefore(v time.Time) *ListVirtualClustersInput {
  3721  	s.CreatedBefore = &v
  3722  	return s
  3723  }
  3724  
  3725  // SetMaxResults sets the MaxResults field's value.
  3726  func (s *ListVirtualClustersInput) SetMaxResults(v int64) *ListVirtualClustersInput {
  3727  	s.MaxResults = &v
  3728  	return s
  3729  }
  3730  
  3731  // SetNextToken sets the NextToken field's value.
  3732  func (s *ListVirtualClustersInput) SetNextToken(v string) *ListVirtualClustersInput {
  3733  	s.NextToken = &v
  3734  	return s
  3735  }
  3736  
  3737  // SetStates sets the States field's value.
  3738  func (s *ListVirtualClustersInput) SetStates(v []*string) *ListVirtualClustersInput {
  3739  	s.States = v
  3740  	return s
  3741  }
  3742  
  3743  type ListVirtualClustersOutput struct {
  3744  	_ struct{} `type:"structure"`
  3745  
  3746  	// This output displays the token for the next set of virtual clusters.
  3747  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  3748  
  3749  	// This output lists the specified virtual clusters.
  3750  	VirtualClusters []*VirtualCluster `locationName:"virtualClusters" type:"list"`
  3751  }
  3752  
  3753  // String returns the string representation.
  3754  //
  3755  // API parameter values that are decorated as "sensitive" in the API will not
  3756  // be included in the string output. The member name will be present, but the
  3757  // value will be replaced with "sensitive".
  3758  func (s ListVirtualClustersOutput) String() string {
  3759  	return awsutil.Prettify(s)
  3760  }
  3761  
  3762  // GoString returns the string representation.
  3763  //
  3764  // API parameter values that are decorated as "sensitive" in the API will not
  3765  // be included in the string output. The member name will be present, but the
  3766  // value will be replaced with "sensitive".
  3767  func (s ListVirtualClustersOutput) GoString() string {
  3768  	return s.String()
  3769  }
  3770  
  3771  // SetNextToken sets the NextToken field's value.
  3772  func (s *ListVirtualClustersOutput) SetNextToken(v string) *ListVirtualClustersOutput {
  3773  	s.NextToken = &v
  3774  	return s
  3775  }
  3776  
  3777  // SetVirtualClusters sets the VirtualClusters field's value.
  3778  func (s *ListVirtualClustersOutput) SetVirtualClusters(v []*VirtualCluster) *ListVirtualClustersOutput {
  3779  	s.VirtualClusters = v
  3780  	return s
  3781  }
  3782  
  3783  // Configuration setting for monitoring.
  3784  type MonitoringConfiguration struct {
  3785  	_ struct{} `type:"structure"`
  3786  
  3787  	// Monitoring configurations for CloudWatch.
  3788  	CloudWatchMonitoringConfiguration *CloudWatchMonitoringConfiguration `locationName:"cloudWatchMonitoringConfiguration" type:"structure"`
  3789  
  3790  	// Monitoring configurations for the persistent application UI.
  3791  	PersistentAppUI *string `locationName:"persistentAppUI" type:"string" enum:"PersistentAppUI"`
  3792  
  3793  	// Amazon S3 configuration for monitoring log publishing.
  3794  	S3MonitoringConfiguration *S3MonitoringConfiguration `locationName:"s3MonitoringConfiguration" type:"structure"`
  3795  }
  3796  
  3797  // String returns the string representation.
  3798  //
  3799  // API parameter values that are decorated as "sensitive" in the API will not
  3800  // be included in the string output. The member name will be present, but the
  3801  // value will be replaced with "sensitive".
  3802  func (s MonitoringConfiguration) String() string {
  3803  	return awsutil.Prettify(s)
  3804  }
  3805  
  3806  // GoString returns the string representation.
  3807  //
  3808  // API parameter values that are decorated as "sensitive" in the API will not
  3809  // be included in the string output. The member name will be present, but the
  3810  // value will be replaced with "sensitive".
  3811  func (s MonitoringConfiguration) GoString() string {
  3812  	return s.String()
  3813  }
  3814  
  3815  // Validate inspects the fields of the type to determine if they are valid.
  3816  func (s *MonitoringConfiguration) Validate() error {
  3817  	invalidParams := request.ErrInvalidParams{Context: "MonitoringConfiguration"}
  3818  	if s.CloudWatchMonitoringConfiguration != nil {
  3819  		if err := s.CloudWatchMonitoringConfiguration.Validate(); err != nil {
  3820  			invalidParams.AddNested("CloudWatchMonitoringConfiguration", err.(request.ErrInvalidParams))
  3821  		}
  3822  	}
  3823  	if s.S3MonitoringConfiguration != nil {
  3824  		if err := s.S3MonitoringConfiguration.Validate(); err != nil {
  3825  			invalidParams.AddNested("S3MonitoringConfiguration", err.(request.ErrInvalidParams))
  3826  		}
  3827  	}
  3828  
  3829  	if invalidParams.Len() > 0 {
  3830  		return invalidParams
  3831  	}
  3832  	return nil
  3833  }
  3834  
  3835  // SetCloudWatchMonitoringConfiguration sets the CloudWatchMonitoringConfiguration field's value.
  3836  func (s *MonitoringConfiguration) SetCloudWatchMonitoringConfiguration(v *CloudWatchMonitoringConfiguration) *MonitoringConfiguration {
  3837  	s.CloudWatchMonitoringConfiguration = v
  3838  	return s
  3839  }
  3840  
  3841  // SetPersistentAppUI sets the PersistentAppUI field's value.
  3842  func (s *MonitoringConfiguration) SetPersistentAppUI(v string) *MonitoringConfiguration {
  3843  	s.PersistentAppUI = &v
  3844  	return s
  3845  }
  3846  
  3847  // SetS3MonitoringConfiguration sets the S3MonitoringConfiguration field's value.
  3848  func (s *MonitoringConfiguration) SetS3MonitoringConfiguration(v *S3MonitoringConfiguration) *MonitoringConfiguration {
  3849  	s.S3MonitoringConfiguration = v
  3850  	return s
  3851  }
  3852  
  3853  // The specified resource was not found.
  3854  type ResourceNotFoundException struct {
  3855  	_            struct{}                  `type:"structure"`
  3856  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3857  
  3858  	Message_ *string `locationName:"message" min:"1" type:"string"`
  3859  }
  3860  
  3861  // String returns the string representation.
  3862  //
  3863  // API parameter values that are decorated as "sensitive" in the API will not
  3864  // be included in the string output. The member name will be present, but the
  3865  // value will be replaced with "sensitive".
  3866  func (s ResourceNotFoundException) String() string {
  3867  	return awsutil.Prettify(s)
  3868  }
  3869  
  3870  // GoString returns the string representation.
  3871  //
  3872  // API parameter values that are decorated as "sensitive" in the API will not
  3873  // be included in the string output. The member name will be present, but the
  3874  // value will be replaced with "sensitive".
  3875  func (s ResourceNotFoundException) GoString() string {
  3876  	return s.String()
  3877  }
  3878  
  3879  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  3880  	return &ResourceNotFoundException{
  3881  		RespMetadata: v,
  3882  	}
  3883  }
  3884  
  3885  // Code returns the exception type name.
  3886  func (s *ResourceNotFoundException) Code() string {
  3887  	return "ResourceNotFoundException"
  3888  }
  3889  
  3890  // Message returns the exception's message.
  3891  func (s *ResourceNotFoundException) Message() string {
  3892  	if s.Message_ != nil {
  3893  		return *s.Message_
  3894  	}
  3895  	return ""
  3896  }
  3897  
  3898  // OrigErr always returns nil, satisfies awserr.Error interface.
  3899  func (s *ResourceNotFoundException) OrigErr() error {
  3900  	return nil
  3901  }
  3902  
  3903  func (s *ResourceNotFoundException) Error() string {
  3904  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3905  }
  3906  
  3907  // Status code returns the HTTP status code for the request's response error.
  3908  func (s *ResourceNotFoundException) StatusCode() int {
  3909  	return s.RespMetadata.StatusCode
  3910  }
  3911  
  3912  // RequestID returns the service's response RequestID for request.
  3913  func (s *ResourceNotFoundException) RequestID() string {
  3914  	return s.RespMetadata.RequestID
  3915  }
  3916  
  3917  // Amazon S3 configuration for monitoring log publishing. You can configure
  3918  // your jobs to send log information to Amazon S3.
  3919  type S3MonitoringConfiguration struct {
  3920  	_ struct{} `type:"structure"`
  3921  
  3922  	// Amazon S3 destination URI for log publishing.
  3923  	//
  3924  	// LogUri is a required field
  3925  	LogUri *string `locationName:"logUri" min:"1" type:"string" required:"true"`
  3926  }
  3927  
  3928  // String returns the string representation.
  3929  //
  3930  // API parameter values that are decorated as "sensitive" in the API will not
  3931  // be included in the string output. The member name will be present, but the
  3932  // value will be replaced with "sensitive".
  3933  func (s S3MonitoringConfiguration) String() string {
  3934  	return awsutil.Prettify(s)
  3935  }
  3936  
  3937  // GoString returns the string representation.
  3938  //
  3939  // API parameter values that are decorated as "sensitive" in the API will not
  3940  // be included in the string output. The member name will be present, but the
  3941  // value will be replaced with "sensitive".
  3942  func (s S3MonitoringConfiguration) GoString() string {
  3943  	return s.String()
  3944  }
  3945  
  3946  // Validate inspects the fields of the type to determine if they are valid.
  3947  func (s *S3MonitoringConfiguration) Validate() error {
  3948  	invalidParams := request.ErrInvalidParams{Context: "S3MonitoringConfiguration"}
  3949  	if s.LogUri == nil {
  3950  		invalidParams.Add(request.NewErrParamRequired("LogUri"))
  3951  	}
  3952  	if s.LogUri != nil && len(*s.LogUri) < 1 {
  3953  		invalidParams.Add(request.NewErrParamMinLen("LogUri", 1))
  3954  	}
  3955  
  3956  	if invalidParams.Len() > 0 {
  3957  		return invalidParams
  3958  	}
  3959  	return nil
  3960  }
  3961  
  3962  // SetLogUri sets the LogUri field's value.
  3963  func (s *S3MonitoringConfiguration) SetLogUri(v string) *S3MonitoringConfiguration {
  3964  	s.LogUri = &v
  3965  	return s
  3966  }
  3967  
  3968  // The information about job driver for Spark submit.
  3969  type SparkSubmitJobDriver struct {
  3970  	_ struct{} `type:"structure"`
  3971  
  3972  	// The entry point of job application.
  3973  	//
  3974  	// EntryPoint is a sensitive parameter and its value will be
  3975  	// replaced with "sensitive" in string returned by SparkSubmitJobDriver's
  3976  	// String and GoString methods.
  3977  	//
  3978  	// EntryPoint is a required field
  3979  	EntryPoint *string `locationName:"entryPoint" min:"1" type:"string" required:"true" sensitive:"true"`
  3980  
  3981  	// The arguments for job application.
  3982  	EntryPointArguments []*string `locationName:"entryPointArguments" type:"list"`
  3983  
  3984  	// The Spark submit parameters that are used for job runs.
  3985  	//
  3986  	// SparkSubmitParameters is a sensitive parameter and its value will be
  3987  	// replaced with "sensitive" in string returned by SparkSubmitJobDriver's
  3988  	// String and GoString methods.
  3989  	SparkSubmitParameters *string `locationName:"sparkSubmitParameters" min:"1" type:"string" sensitive:"true"`
  3990  }
  3991  
  3992  // String returns the string representation.
  3993  //
  3994  // API parameter values that are decorated as "sensitive" in the API will not
  3995  // be included in the string output. The member name will be present, but the
  3996  // value will be replaced with "sensitive".
  3997  func (s SparkSubmitJobDriver) String() string {
  3998  	return awsutil.Prettify(s)
  3999  }
  4000  
  4001  // GoString returns the string representation.
  4002  //
  4003  // API parameter values that are decorated as "sensitive" in the API will not
  4004  // be included in the string output. The member name will be present, but the
  4005  // value will be replaced with "sensitive".
  4006  func (s SparkSubmitJobDriver) GoString() string {
  4007  	return s.String()
  4008  }
  4009  
  4010  // Validate inspects the fields of the type to determine if they are valid.
  4011  func (s *SparkSubmitJobDriver) Validate() error {
  4012  	invalidParams := request.ErrInvalidParams{Context: "SparkSubmitJobDriver"}
  4013  	if s.EntryPoint == nil {
  4014  		invalidParams.Add(request.NewErrParamRequired("EntryPoint"))
  4015  	}
  4016  	if s.EntryPoint != nil && len(*s.EntryPoint) < 1 {
  4017  		invalidParams.Add(request.NewErrParamMinLen("EntryPoint", 1))
  4018  	}
  4019  	if s.SparkSubmitParameters != nil && len(*s.SparkSubmitParameters) < 1 {
  4020  		invalidParams.Add(request.NewErrParamMinLen("SparkSubmitParameters", 1))
  4021  	}
  4022  
  4023  	if invalidParams.Len() > 0 {
  4024  		return invalidParams
  4025  	}
  4026  	return nil
  4027  }
  4028  
  4029  // SetEntryPoint sets the EntryPoint field's value.
  4030  func (s *SparkSubmitJobDriver) SetEntryPoint(v string) *SparkSubmitJobDriver {
  4031  	s.EntryPoint = &v
  4032  	return s
  4033  }
  4034  
  4035  // SetEntryPointArguments sets the EntryPointArguments field's value.
  4036  func (s *SparkSubmitJobDriver) SetEntryPointArguments(v []*string) *SparkSubmitJobDriver {
  4037  	s.EntryPointArguments = v
  4038  	return s
  4039  }
  4040  
  4041  // SetSparkSubmitParameters sets the SparkSubmitParameters field's value.
  4042  func (s *SparkSubmitJobDriver) SetSparkSubmitParameters(v string) *SparkSubmitJobDriver {
  4043  	s.SparkSubmitParameters = &v
  4044  	return s
  4045  }
  4046  
  4047  type StartJobRunInput struct {
  4048  	_ struct{} `type:"structure"`
  4049  
  4050  	// The client idempotency token of the job run request.
  4051  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  4052  
  4053  	// The configuration overrides for the job run.
  4054  	ConfigurationOverrides *ConfigurationOverrides `locationName:"configurationOverrides" type:"structure"`
  4055  
  4056  	// The execution role ARN for the job run.
  4057  	//
  4058  	// ExecutionRoleArn is a required field
  4059  	ExecutionRoleArn *string `locationName:"executionRoleArn" min:"20" type:"string" required:"true"`
  4060  
  4061  	// The job driver for the job run.
  4062  	//
  4063  	// JobDriver is a required field
  4064  	JobDriver *JobDriver `locationName:"jobDriver" type:"structure" required:"true"`
  4065  
  4066  	// The name of the job run.
  4067  	Name *string `locationName:"name" min:"1" type:"string"`
  4068  
  4069  	// The Amazon EMR release version to use for the job run.
  4070  	//
  4071  	// ReleaseLabel is a required field
  4072  	ReleaseLabel *string `locationName:"releaseLabel" min:"1" type:"string" required:"true"`
  4073  
  4074  	// The tags assigned to job runs.
  4075  	Tags map[string]*string `locationName:"tags" type:"map"`
  4076  
  4077  	// The virtual cluster ID for which the job run request is submitted.
  4078  	//
  4079  	// VirtualClusterId is a required field
  4080  	VirtualClusterId *string `location:"uri" locationName:"virtualClusterId" min:"1" type:"string" required:"true"`
  4081  }
  4082  
  4083  // String returns the string representation.
  4084  //
  4085  // API parameter values that are decorated as "sensitive" in the API will not
  4086  // be included in the string output. The member name will be present, but the
  4087  // value will be replaced with "sensitive".
  4088  func (s StartJobRunInput) String() string {
  4089  	return awsutil.Prettify(s)
  4090  }
  4091  
  4092  // GoString returns the string representation.
  4093  //
  4094  // API parameter values that are decorated as "sensitive" in the API will not
  4095  // be included in the string output. The member name will be present, but the
  4096  // value will be replaced with "sensitive".
  4097  func (s StartJobRunInput) GoString() string {
  4098  	return s.String()
  4099  }
  4100  
  4101  // Validate inspects the fields of the type to determine if they are valid.
  4102  func (s *StartJobRunInput) Validate() error {
  4103  	invalidParams := request.ErrInvalidParams{Context: "StartJobRunInput"}
  4104  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  4105  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  4106  	}
  4107  	if s.ExecutionRoleArn == nil {
  4108  		invalidParams.Add(request.NewErrParamRequired("ExecutionRoleArn"))
  4109  	}
  4110  	if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 20 {
  4111  		invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 20))
  4112  	}
  4113  	if s.JobDriver == nil {
  4114  		invalidParams.Add(request.NewErrParamRequired("JobDriver"))
  4115  	}
  4116  	if s.Name != nil && len(*s.Name) < 1 {
  4117  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  4118  	}
  4119  	if s.ReleaseLabel == nil {
  4120  		invalidParams.Add(request.NewErrParamRequired("ReleaseLabel"))
  4121  	}
  4122  	if s.ReleaseLabel != nil && len(*s.ReleaseLabel) < 1 {
  4123  		invalidParams.Add(request.NewErrParamMinLen("ReleaseLabel", 1))
  4124  	}
  4125  	if s.VirtualClusterId == nil {
  4126  		invalidParams.Add(request.NewErrParamRequired("VirtualClusterId"))
  4127  	}
  4128  	if s.VirtualClusterId != nil && len(*s.VirtualClusterId) < 1 {
  4129  		invalidParams.Add(request.NewErrParamMinLen("VirtualClusterId", 1))
  4130  	}
  4131  	if s.ConfigurationOverrides != nil {
  4132  		if err := s.ConfigurationOverrides.Validate(); err != nil {
  4133  			invalidParams.AddNested("ConfigurationOverrides", err.(request.ErrInvalidParams))
  4134  		}
  4135  	}
  4136  	if s.JobDriver != nil {
  4137  		if err := s.JobDriver.Validate(); err != nil {
  4138  			invalidParams.AddNested("JobDriver", err.(request.ErrInvalidParams))
  4139  		}
  4140  	}
  4141  
  4142  	if invalidParams.Len() > 0 {
  4143  		return invalidParams
  4144  	}
  4145  	return nil
  4146  }
  4147  
  4148  // SetClientToken sets the ClientToken field's value.
  4149  func (s *StartJobRunInput) SetClientToken(v string) *StartJobRunInput {
  4150  	s.ClientToken = &v
  4151  	return s
  4152  }
  4153  
  4154  // SetConfigurationOverrides sets the ConfigurationOverrides field's value.
  4155  func (s *StartJobRunInput) SetConfigurationOverrides(v *ConfigurationOverrides) *StartJobRunInput {
  4156  	s.ConfigurationOverrides = v
  4157  	return s
  4158  }
  4159  
  4160  // SetExecutionRoleArn sets the ExecutionRoleArn field's value.
  4161  func (s *StartJobRunInput) SetExecutionRoleArn(v string) *StartJobRunInput {
  4162  	s.ExecutionRoleArn = &v
  4163  	return s
  4164  }
  4165  
  4166  // SetJobDriver sets the JobDriver field's value.
  4167  func (s *StartJobRunInput) SetJobDriver(v *JobDriver) *StartJobRunInput {
  4168  	s.JobDriver = v
  4169  	return s
  4170  }
  4171  
  4172  // SetName sets the Name field's value.
  4173  func (s *StartJobRunInput) SetName(v string) *StartJobRunInput {
  4174  	s.Name = &v
  4175  	return s
  4176  }
  4177  
  4178  // SetReleaseLabel sets the ReleaseLabel field's value.
  4179  func (s *StartJobRunInput) SetReleaseLabel(v string) *StartJobRunInput {
  4180  	s.ReleaseLabel = &v
  4181  	return s
  4182  }
  4183  
  4184  // SetTags sets the Tags field's value.
  4185  func (s *StartJobRunInput) SetTags(v map[string]*string) *StartJobRunInput {
  4186  	s.Tags = v
  4187  	return s
  4188  }
  4189  
  4190  // SetVirtualClusterId sets the VirtualClusterId field's value.
  4191  func (s *StartJobRunInput) SetVirtualClusterId(v string) *StartJobRunInput {
  4192  	s.VirtualClusterId = &v
  4193  	return s
  4194  }
  4195  
  4196  type StartJobRunOutput struct {
  4197  	_ struct{} `type:"structure"`
  4198  
  4199  	// This output lists the ARN of job run.
  4200  	Arn *string `locationName:"arn" min:"60" type:"string"`
  4201  
  4202  	// This output displays the started job run ID.
  4203  	Id *string `locationName:"id" min:"1" type:"string"`
  4204  
  4205  	// This output displays the name of the started job run.
  4206  	Name *string `locationName:"name" min:"1" type:"string"`
  4207  
  4208  	// This output displays the virtual cluster ID for which the job run was submitted.
  4209  	VirtualClusterId *string `locationName:"virtualClusterId" min:"1" type:"string"`
  4210  }
  4211  
  4212  // String returns the string representation.
  4213  //
  4214  // API parameter values that are decorated as "sensitive" in the API will not
  4215  // be included in the string output. The member name will be present, but the
  4216  // value will be replaced with "sensitive".
  4217  func (s StartJobRunOutput) String() string {
  4218  	return awsutil.Prettify(s)
  4219  }
  4220  
  4221  // GoString returns the string representation.
  4222  //
  4223  // API parameter values that are decorated as "sensitive" in the API will not
  4224  // be included in the string output. The member name will be present, but the
  4225  // value will be replaced with "sensitive".
  4226  func (s StartJobRunOutput) GoString() string {
  4227  	return s.String()
  4228  }
  4229  
  4230  // SetArn sets the Arn field's value.
  4231  func (s *StartJobRunOutput) SetArn(v string) *StartJobRunOutput {
  4232  	s.Arn = &v
  4233  	return s
  4234  }
  4235  
  4236  // SetId sets the Id field's value.
  4237  func (s *StartJobRunOutput) SetId(v string) *StartJobRunOutput {
  4238  	s.Id = &v
  4239  	return s
  4240  }
  4241  
  4242  // SetName sets the Name field's value.
  4243  func (s *StartJobRunOutput) SetName(v string) *StartJobRunOutput {
  4244  	s.Name = &v
  4245  	return s
  4246  }
  4247  
  4248  // SetVirtualClusterId sets the VirtualClusterId field's value.
  4249  func (s *StartJobRunOutput) SetVirtualClusterId(v string) *StartJobRunOutput {
  4250  	s.VirtualClusterId = &v
  4251  	return s
  4252  }
  4253  
  4254  type TagResourceInput struct {
  4255  	_ struct{} `type:"structure"`
  4256  
  4257  	// The ARN of resources.
  4258  	//
  4259  	// ResourceArn is a required field
  4260  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"60" type:"string" required:"true"`
  4261  
  4262  	// The tags assigned to resources.
  4263  	//
  4264  	// Tags is a required field
  4265  	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
  4266  }
  4267  
  4268  // String returns the string representation.
  4269  //
  4270  // API parameter values that are decorated as "sensitive" in the API will not
  4271  // be included in the string output. The member name will be present, but the
  4272  // value will be replaced with "sensitive".
  4273  func (s TagResourceInput) String() string {
  4274  	return awsutil.Prettify(s)
  4275  }
  4276  
  4277  // GoString returns the string representation.
  4278  //
  4279  // API parameter values that are decorated as "sensitive" in the API will not
  4280  // be included in the string output. The member name will be present, but the
  4281  // value will be replaced with "sensitive".
  4282  func (s TagResourceInput) GoString() string {
  4283  	return s.String()
  4284  }
  4285  
  4286  // Validate inspects the fields of the type to determine if they are valid.
  4287  func (s *TagResourceInput) Validate() error {
  4288  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  4289  	if s.ResourceArn == nil {
  4290  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  4291  	}
  4292  	if s.ResourceArn != nil && len(*s.ResourceArn) < 60 {
  4293  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 60))
  4294  	}
  4295  	if s.Tags == nil {
  4296  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  4297  	}
  4298  
  4299  	if invalidParams.Len() > 0 {
  4300  		return invalidParams
  4301  	}
  4302  	return nil
  4303  }
  4304  
  4305  // SetResourceArn sets the ResourceArn field's value.
  4306  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  4307  	s.ResourceArn = &v
  4308  	return s
  4309  }
  4310  
  4311  // SetTags sets the Tags field's value.
  4312  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
  4313  	s.Tags = v
  4314  	return s
  4315  }
  4316  
  4317  type TagResourceOutput struct {
  4318  	_ struct{} `type:"structure" nopayload:"true"`
  4319  }
  4320  
  4321  // String returns the string representation.
  4322  //
  4323  // API parameter values that are decorated as "sensitive" in the API will not
  4324  // be included in the string output. The member name will be present, but the
  4325  // value will be replaced with "sensitive".
  4326  func (s TagResourceOutput) String() string {
  4327  	return awsutil.Prettify(s)
  4328  }
  4329  
  4330  // GoString returns the string representation.
  4331  //
  4332  // API parameter values that are decorated as "sensitive" in the API will not
  4333  // be included in the string output. The member name will be present, but the
  4334  // value will be replaced with "sensitive".
  4335  func (s TagResourceOutput) GoString() string {
  4336  	return s.String()
  4337  }
  4338  
  4339  type UntagResourceInput struct {
  4340  	_ struct{} `type:"structure" nopayload:"true"`
  4341  
  4342  	// The ARN of resources.
  4343  	//
  4344  	// ResourceArn is a required field
  4345  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"60" type:"string" required:"true"`
  4346  
  4347  	// The tag keys of the resources.
  4348  	//
  4349  	// TagKeys is a required field
  4350  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
  4351  }
  4352  
  4353  // String returns the string representation.
  4354  //
  4355  // API parameter values that are decorated as "sensitive" in the API will not
  4356  // be included in the string output. The member name will be present, but the
  4357  // value will be replaced with "sensitive".
  4358  func (s UntagResourceInput) String() string {
  4359  	return awsutil.Prettify(s)
  4360  }
  4361  
  4362  // GoString returns the string representation.
  4363  //
  4364  // API parameter values that are decorated as "sensitive" in the API will not
  4365  // be included in the string output. The member name will be present, but the
  4366  // value will be replaced with "sensitive".
  4367  func (s UntagResourceInput) GoString() string {
  4368  	return s.String()
  4369  }
  4370  
  4371  // Validate inspects the fields of the type to determine if they are valid.
  4372  func (s *UntagResourceInput) Validate() error {
  4373  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  4374  	if s.ResourceArn == nil {
  4375  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  4376  	}
  4377  	if s.ResourceArn != nil && len(*s.ResourceArn) < 60 {
  4378  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 60))
  4379  	}
  4380  	if s.TagKeys == nil {
  4381  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  4382  	}
  4383  
  4384  	if invalidParams.Len() > 0 {
  4385  		return invalidParams
  4386  	}
  4387  	return nil
  4388  }
  4389  
  4390  // SetResourceArn sets the ResourceArn field's value.
  4391  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  4392  	s.ResourceArn = &v
  4393  	return s
  4394  }
  4395  
  4396  // SetTagKeys sets the TagKeys field's value.
  4397  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  4398  	s.TagKeys = v
  4399  	return s
  4400  }
  4401  
  4402  type UntagResourceOutput struct {
  4403  	_ struct{} `type:"structure" nopayload:"true"`
  4404  }
  4405  
  4406  // String returns the string representation.
  4407  //
  4408  // API parameter values that are decorated as "sensitive" in the API will not
  4409  // be included in the string output. The member name will be present, but the
  4410  // value will be replaced with "sensitive".
  4411  func (s UntagResourceOutput) String() string {
  4412  	return awsutil.Prettify(s)
  4413  }
  4414  
  4415  // GoString returns the string representation.
  4416  //
  4417  // API parameter values that are decorated as "sensitive" in the API will not
  4418  // be included in the string output. The member name will be present, but the
  4419  // value will be replaced with "sensitive".
  4420  func (s UntagResourceOutput) GoString() string {
  4421  	return s.String()
  4422  }
  4423  
  4424  // There are invalid parameters in the client request.
  4425  type ValidationException struct {
  4426  	_            struct{}                  `type:"structure"`
  4427  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4428  
  4429  	Message_ *string `locationName:"message" min:"1" type:"string"`
  4430  }
  4431  
  4432  // String returns the string representation.
  4433  //
  4434  // API parameter values that are decorated as "sensitive" in the API will not
  4435  // be included in the string output. The member name will be present, but the
  4436  // value will be replaced with "sensitive".
  4437  func (s ValidationException) String() string {
  4438  	return awsutil.Prettify(s)
  4439  }
  4440  
  4441  // GoString returns the string representation.
  4442  //
  4443  // API parameter values that are decorated as "sensitive" in the API will not
  4444  // be included in the string output. The member name will be present, but the
  4445  // value will be replaced with "sensitive".
  4446  func (s ValidationException) GoString() string {
  4447  	return s.String()
  4448  }
  4449  
  4450  func newErrorValidationException(v protocol.ResponseMetadata) error {
  4451  	return &ValidationException{
  4452  		RespMetadata: v,
  4453  	}
  4454  }
  4455  
  4456  // Code returns the exception type name.
  4457  func (s *ValidationException) Code() string {
  4458  	return "ValidationException"
  4459  }
  4460  
  4461  // Message returns the exception's message.
  4462  func (s *ValidationException) Message() string {
  4463  	if s.Message_ != nil {
  4464  		return *s.Message_
  4465  	}
  4466  	return ""
  4467  }
  4468  
  4469  // OrigErr always returns nil, satisfies awserr.Error interface.
  4470  func (s *ValidationException) OrigErr() error {
  4471  	return nil
  4472  }
  4473  
  4474  func (s *ValidationException) Error() string {
  4475  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4476  }
  4477  
  4478  // Status code returns the HTTP status code for the request's response error.
  4479  func (s *ValidationException) StatusCode() int {
  4480  	return s.RespMetadata.StatusCode
  4481  }
  4482  
  4483  // RequestID returns the service's response RequestID for request.
  4484  func (s *ValidationException) RequestID() string {
  4485  	return s.RespMetadata.RequestID
  4486  }
  4487  
  4488  // This entity describes a virtual cluster. A virtual cluster is a Kubernetes
  4489  // namespace that Amazon EMR is registered with. Amazon EMR uses virtual clusters
  4490  // to run jobs and host endpoints. Multiple virtual clusters can be backed by
  4491  // the same physical cluster. However, each virtual cluster maps to one namespace
  4492  // on an EKS cluster. Virtual clusters do not create any active resources that
  4493  // contribute to your bill or that require lifecycle management outside the
  4494  // service.
  4495  type VirtualCluster struct {
  4496  	_ struct{} `type:"structure"`
  4497  
  4498  	// The ARN of the virtual cluster.
  4499  	Arn *string `locationName:"arn" min:"60" type:"string"`
  4500  
  4501  	// The container provider of the virtual cluster.
  4502  	ContainerProvider *ContainerProvider `locationName:"containerProvider" type:"structure"`
  4503  
  4504  	// The date and time when the virtual cluster is created.
  4505  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"`
  4506  
  4507  	// The ID of the virtual cluster.
  4508  	Id *string `locationName:"id" min:"1" type:"string"`
  4509  
  4510  	// The name of the virtual cluster.
  4511  	Name *string `locationName:"name" min:"1" type:"string"`
  4512  
  4513  	// The state of the virtual cluster.
  4514  	State *string `locationName:"state" type:"string" enum:"VirtualClusterState"`
  4515  
  4516  	// The assigned tags of the virtual cluster.
  4517  	Tags map[string]*string `locationName:"tags" type:"map"`
  4518  }
  4519  
  4520  // String returns the string representation.
  4521  //
  4522  // API parameter values that are decorated as "sensitive" in the API will not
  4523  // be included in the string output. The member name will be present, but the
  4524  // value will be replaced with "sensitive".
  4525  func (s VirtualCluster) String() string {
  4526  	return awsutil.Prettify(s)
  4527  }
  4528  
  4529  // GoString returns the string representation.
  4530  //
  4531  // API parameter values that are decorated as "sensitive" in the API will not
  4532  // be included in the string output. The member name will be present, but the
  4533  // value will be replaced with "sensitive".
  4534  func (s VirtualCluster) GoString() string {
  4535  	return s.String()
  4536  }
  4537  
  4538  // SetArn sets the Arn field's value.
  4539  func (s *VirtualCluster) SetArn(v string) *VirtualCluster {
  4540  	s.Arn = &v
  4541  	return s
  4542  }
  4543  
  4544  // SetContainerProvider sets the ContainerProvider field's value.
  4545  func (s *VirtualCluster) SetContainerProvider(v *ContainerProvider) *VirtualCluster {
  4546  	s.ContainerProvider = v
  4547  	return s
  4548  }
  4549  
  4550  // SetCreatedAt sets the CreatedAt field's value.
  4551  func (s *VirtualCluster) SetCreatedAt(v time.Time) *VirtualCluster {
  4552  	s.CreatedAt = &v
  4553  	return s
  4554  }
  4555  
  4556  // SetId sets the Id field's value.
  4557  func (s *VirtualCluster) SetId(v string) *VirtualCluster {
  4558  	s.Id = &v
  4559  	return s
  4560  }
  4561  
  4562  // SetName sets the Name field's value.
  4563  func (s *VirtualCluster) SetName(v string) *VirtualCluster {
  4564  	s.Name = &v
  4565  	return s
  4566  }
  4567  
  4568  // SetState sets the State field's value.
  4569  func (s *VirtualCluster) SetState(v string) *VirtualCluster {
  4570  	s.State = &v
  4571  	return s
  4572  }
  4573  
  4574  // SetTags sets the Tags field's value.
  4575  func (s *VirtualCluster) SetTags(v map[string]*string) *VirtualCluster {
  4576  	s.Tags = v
  4577  	return s
  4578  }
  4579  
  4580  const (
  4581  	// ContainerProviderTypeEks is a ContainerProviderType enum value
  4582  	ContainerProviderTypeEks = "EKS"
  4583  )
  4584  
  4585  // ContainerProviderType_Values returns all elements of the ContainerProviderType enum
  4586  func ContainerProviderType_Values() []string {
  4587  	return []string{
  4588  		ContainerProviderTypeEks,
  4589  	}
  4590  }
  4591  
  4592  const (
  4593  	// EndpointStateCreating is a EndpointState enum value
  4594  	EndpointStateCreating = "CREATING"
  4595  
  4596  	// EndpointStateActive is a EndpointState enum value
  4597  	EndpointStateActive = "ACTIVE"
  4598  
  4599  	// EndpointStateTerminating is a EndpointState enum value
  4600  	EndpointStateTerminating = "TERMINATING"
  4601  
  4602  	// EndpointStateTerminated is a EndpointState enum value
  4603  	EndpointStateTerminated = "TERMINATED"
  4604  
  4605  	// EndpointStateTerminatedWithErrors is a EndpointState enum value
  4606  	EndpointStateTerminatedWithErrors = "TERMINATED_WITH_ERRORS"
  4607  )
  4608  
  4609  // EndpointState_Values returns all elements of the EndpointState enum
  4610  func EndpointState_Values() []string {
  4611  	return []string{
  4612  		EndpointStateCreating,
  4613  		EndpointStateActive,
  4614  		EndpointStateTerminating,
  4615  		EndpointStateTerminated,
  4616  		EndpointStateTerminatedWithErrors,
  4617  	}
  4618  }
  4619  
  4620  const (
  4621  	// FailureReasonInternalError is a FailureReason enum value
  4622  	FailureReasonInternalError = "INTERNAL_ERROR"
  4623  
  4624  	// FailureReasonUserError is a FailureReason enum value
  4625  	FailureReasonUserError = "USER_ERROR"
  4626  
  4627  	// FailureReasonValidationError is a FailureReason enum value
  4628  	FailureReasonValidationError = "VALIDATION_ERROR"
  4629  
  4630  	// FailureReasonClusterUnavailable is a FailureReason enum value
  4631  	FailureReasonClusterUnavailable = "CLUSTER_UNAVAILABLE"
  4632  )
  4633  
  4634  // FailureReason_Values returns all elements of the FailureReason enum
  4635  func FailureReason_Values() []string {
  4636  	return []string{
  4637  		FailureReasonInternalError,
  4638  		FailureReasonUserError,
  4639  		FailureReasonValidationError,
  4640  		FailureReasonClusterUnavailable,
  4641  	}
  4642  }
  4643  
  4644  const (
  4645  	// JobRunStatePending is a JobRunState enum value
  4646  	JobRunStatePending = "PENDING"
  4647  
  4648  	// JobRunStateSubmitted is a JobRunState enum value
  4649  	JobRunStateSubmitted = "SUBMITTED"
  4650  
  4651  	// JobRunStateRunning is a JobRunState enum value
  4652  	JobRunStateRunning = "RUNNING"
  4653  
  4654  	// JobRunStateFailed is a JobRunState enum value
  4655  	JobRunStateFailed = "FAILED"
  4656  
  4657  	// JobRunStateCancelled is a JobRunState enum value
  4658  	JobRunStateCancelled = "CANCELLED"
  4659  
  4660  	// JobRunStateCancelPending is a JobRunState enum value
  4661  	JobRunStateCancelPending = "CANCEL_PENDING"
  4662  
  4663  	// JobRunStateCompleted is a JobRunState enum value
  4664  	JobRunStateCompleted = "COMPLETED"
  4665  )
  4666  
  4667  // JobRunState_Values returns all elements of the JobRunState enum
  4668  func JobRunState_Values() []string {
  4669  	return []string{
  4670  		JobRunStatePending,
  4671  		JobRunStateSubmitted,
  4672  		JobRunStateRunning,
  4673  		JobRunStateFailed,
  4674  		JobRunStateCancelled,
  4675  		JobRunStateCancelPending,
  4676  		JobRunStateCompleted,
  4677  	}
  4678  }
  4679  
  4680  const (
  4681  	// PersistentAppUIEnabled is a PersistentAppUI enum value
  4682  	PersistentAppUIEnabled = "ENABLED"
  4683  
  4684  	// PersistentAppUIDisabled is a PersistentAppUI enum value
  4685  	PersistentAppUIDisabled = "DISABLED"
  4686  )
  4687  
  4688  // PersistentAppUI_Values returns all elements of the PersistentAppUI enum
  4689  func PersistentAppUI_Values() []string {
  4690  	return []string{
  4691  		PersistentAppUIEnabled,
  4692  		PersistentAppUIDisabled,
  4693  	}
  4694  }
  4695  
  4696  const (
  4697  	// VirtualClusterStateRunning is a VirtualClusterState enum value
  4698  	VirtualClusterStateRunning = "RUNNING"
  4699  
  4700  	// VirtualClusterStateTerminating is a VirtualClusterState enum value
  4701  	VirtualClusterStateTerminating = "TERMINATING"
  4702  
  4703  	// VirtualClusterStateTerminated is a VirtualClusterState enum value
  4704  	VirtualClusterStateTerminated = "TERMINATED"
  4705  
  4706  	// VirtualClusterStateArrested is a VirtualClusterState enum value
  4707  	VirtualClusterStateArrested = "ARRESTED"
  4708  )
  4709  
  4710  // VirtualClusterState_Values returns all elements of the VirtualClusterState enum
  4711  func VirtualClusterState_Values() []string {
  4712  	return []string{
  4713  		VirtualClusterStateRunning,
  4714  		VirtualClusterStateTerminating,
  4715  		VirtualClusterStateTerminated,
  4716  		VirtualClusterStateArrested,
  4717  	}
  4718  }