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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package codeartifact
     4  
     5  import (
     6  	"fmt"
     7  	"io"
     8  	"time"
     9  
    10  	"github.com/aavshr/aws-sdk-go/aws"
    11  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    12  	"github.com/aavshr/aws-sdk-go/aws/request"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol"
    14  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    15  )
    16  
    17  const opAssociateExternalConnection = "AssociateExternalConnection"
    18  
    19  // AssociateExternalConnectionRequest generates a "aws/request.Request" representing the
    20  // client's request for the AssociateExternalConnection operation. The "output" return
    21  // value will be populated with the request's response once the request completes
    22  // successfully.
    23  //
    24  // Use "Send" method on the returned Request to send the API call to the service.
    25  // the "output" return value is not valid until after Send returns without error.
    26  //
    27  // See AssociateExternalConnection for more information on using the AssociateExternalConnection
    28  // API call, and error handling.
    29  //
    30  // This method is useful when you want to inject custom logic or configuration
    31  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    32  //
    33  //
    34  //    // Example sending a request using the AssociateExternalConnectionRequest method.
    35  //    req, resp := client.AssociateExternalConnectionRequest(params)
    36  //
    37  //    err := req.Send()
    38  //    if err == nil { // resp is now filled
    39  //        fmt.Println(resp)
    40  //    }
    41  //
    42  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/AssociateExternalConnection
    43  func (c *CodeArtifact) AssociateExternalConnectionRequest(input *AssociateExternalConnectionInput) (req *request.Request, output *AssociateExternalConnectionOutput) {
    44  	op := &request.Operation{
    45  		Name:       opAssociateExternalConnection,
    46  		HTTPMethod: "POST",
    47  		HTTPPath:   "/v1/repository/external-connection",
    48  	}
    49  
    50  	if input == nil {
    51  		input = &AssociateExternalConnectionInput{}
    52  	}
    53  
    54  	output = &AssociateExternalConnectionOutput{}
    55  	req = c.newRequest(op, input, output)
    56  	return
    57  }
    58  
    59  // AssociateExternalConnection API operation for CodeArtifact.
    60  //
    61  // Adds an existing external connection to a repository. One external connection
    62  // is allowed per repository.
    63  //
    64  // A repository can have one or more upstream repositories, or an external connection.
    65  //
    66  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    67  // with awserr.Error's Code and Message methods to get detailed information about
    68  // the error.
    69  //
    70  // See the AWS API reference guide for CodeArtifact's
    71  // API operation AssociateExternalConnection for usage and error information.
    72  //
    73  // Returned Error Types:
    74  //   * AccessDeniedException
    75  //   The operation did not succeed because of an unauthorized access attempt.
    76  //
    77  //   * ConflictException
    78  //   The operation did not succeed because prerequisites are not met.
    79  //
    80  //   * InternalServerException
    81  //   The operation did not succeed because of an error that occurred inside AWS
    82  //   CodeArtifact.
    83  //
    84  //   * ResourceNotFoundException
    85  //   The operation did not succeed because the resource requested is not found
    86  //   in the service.
    87  //
    88  //   * ServiceQuotaExceededException
    89  //   The operation did not succeed because it would have exceeded a service limit
    90  //   for your account.
    91  //
    92  //   * ThrottlingException
    93  //   The operation did not succeed because too many requests are sent to the service.
    94  //
    95  //   * ValidationException
    96  //   The operation did not succeed because a parameter in the request was sent
    97  //   with an invalid value.
    98  //
    99  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/AssociateExternalConnection
   100  func (c *CodeArtifact) AssociateExternalConnection(input *AssociateExternalConnectionInput) (*AssociateExternalConnectionOutput, error) {
   101  	req, out := c.AssociateExternalConnectionRequest(input)
   102  	return out, req.Send()
   103  }
   104  
   105  // AssociateExternalConnectionWithContext is the same as AssociateExternalConnection with the addition of
   106  // the ability to pass a context and additional request options.
   107  //
   108  // See AssociateExternalConnection for details on how to use this API operation.
   109  //
   110  // The context must be non-nil and will be used for request cancellation. If
   111  // the context is nil a panic will occur. In the future the SDK may create
   112  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   113  // for more information on using Contexts.
   114  func (c *CodeArtifact) AssociateExternalConnectionWithContext(ctx aws.Context, input *AssociateExternalConnectionInput, opts ...request.Option) (*AssociateExternalConnectionOutput, error) {
   115  	req, out := c.AssociateExternalConnectionRequest(input)
   116  	req.SetContext(ctx)
   117  	req.ApplyOptions(opts...)
   118  	return out, req.Send()
   119  }
   120  
   121  const opCopyPackageVersions = "CopyPackageVersions"
   122  
   123  // CopyPackageVersionsRequest generates a "aws/request.Request" representing the
   124  // client's request for the CopyPackageVersions operation. The "output" return
   125  // value will be populated with the request's response once the request completes
   126  // successfully.
   127  //
   128  // Use "Send" method on the returned Request to send the API call to the service.
   129  // the "output" return value is not valid until after Send returns without error.
   130  //
   131  // See CopyPackageVersions for more information on using the CopyPackageVersions
   132  // API call, and error handling.
   133  //
   134  // This method is useful when you want to inject custom logic or configuration
   135  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   136  //
   137  //
   138  //    // Example sending a request using the CopyPackageVersionsRequest method.
   139  //    req, resp := client.CopyPackageVersionsRequest(params)
   140  //
   141  //    err := req.Send()
   142  //    if err == nil { // resp is now filled
   143  //        fmt.Println(resp)
   144  //    }
   145  //
   146  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/CopyPackageVersions
   147  func (c *CodeArtifact) CopyPackageVersionsRequest(input *CopyPackageVersionsInput) (req *request.Request, output *CopyPackageVersionsOutput) {
   148  	op := &request.Operation{
   149  		Name:       opCopyPackageVersions,
   150  		HTTPMethod: "POST",
   151  		HTTPPath:   "/v1/package/versions/copy",
   152  	}
   153  
   154  	if input == nil {
   155  		input = &CopyPackageVersionsInput{}
   156  	}
   157  
   158  	output = &CopyPackageVersionsOutput{}
   159  	req = c.newRequest(op, input, output)
   160  	return
   161  }
   162  
   163  // CopyPackageVersions API operation for CodeArtifact.
   164  //
   165  // Copies package versions from one repository to another repository in the
   166  // same domain.
   167  //
   168  // You must specify versions or versionRevisions. You cannot specify both.
   169  //
   170  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   171  // with awserr.Error's Code and Message methods to get detailed information about
   172  // the error.
   173  //
   174  // See the AWS API reference guide for CodeArtifact's
   175  // API operation CopyPackageVersions for usage and error information.
   176  //
   177  // Returned Error Types:
   178  //   * AccessDeniedException
   179  //   The operation did not succeed because of an unauthorized access attempt.
   180  //
   181  //   * ConflictException
   182  //   The operation did not succeed because prerequisites are not met.
   183  //
   184  //   * InternalServerException
   185  //   The operation did not succeed because of an error that occurred inside AWS
   186  //   CodeArtifact.
   187  //
   188  //   * ResourceNotFoundException
   189  //   The operation did not succeed because the resource requested is not found
   190  //   in the service.
   191  //
   192  //   * ServiceQuotaExceededException
   193  //   The operation did not succeed because it would have exceeded a service limit
   194  //   for your account.
   195  //
   196  //   * ThrottlingException
   197  //   The operation did not succeed because too many requests are sent to the service.
   198  //
   199  //   * ValidationException
   200  //   The operation did not succeed because a parameter in the request was sent
   201  //   with an invalid value.
   202  //
   203  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/CopyPackageVersions
   204  func (c *CodeArtifact) CopyPackageVersions(input *CopyPackageVersionsInput) (*CopyPackageVersionsOutput, error) {
   205  	req, out := c.CopyPackageVersionsRequest(input)
   206  	return out, req.Send()
   207  }
   208  
   209  // CopyPackageVersionsWithContext is the same as CopyPackageVersions with the addition of
   210  // the ability to pass a context and additional request options.
   211  //
   212  // See CopyPackageVersions for details on how to use this API operation.
   213  //
   214  // The context must be non-nil and will be used for request cancellation. If
   215  // the context is nil a panic will occur. In the future the SDK may create
   216  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   217  // for more information on using Contexts.
   218  func (c *CodeArtifact) CopyPackageVersionsWithContext(ctx aws.Context, input *CopyPackageVersionsInput, opts ...request.Option) (*CopyPackageVersionsOutput, error) {
   219  	req, out := c.CopyPackageVersionsRequest(input)
   220  	req.SetContext(ctx)
   221  	req.ApplyOptions(opts...)
   222  	return out, req.Send()
   223  }
   224  
   225  const opCreateDomain = "CreateDomain"
   226  
   227  // CreateDomainRequest generates a "aws/request.Request" representing the
   228  // client's request for the CreateDomain operation. The "output" return
   229  // value will be populated with the request's response once the request completes
   230  // successfully.
   231  //
   232  // Use "Send" method on the returned Request to send the API call to the service.
   233  // the "output" return value is not valid until after Send returns without error.
   234  //
   235  // See CreateDomain for more information on using the CreateDomain
   236  // API call, and error handling.
   237  //
   238  // This method is useful when you want to inject custom logic or configuration
   239  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   240  //
   241  //
   242  //    // Example sending a request using the CreateDomainRequest method.
   243  //    req, resp := client.CreateDomainRequest(params)
   244  //
   245  //    err := req.Send()
   246  //    if err == nil { // resp is now filled
   247  //        fmt.Println(resp)
   248  //    }
   249  //
   250  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/CreateDomain
   251  func (c *CodeArtifact) CreateDomainRequest(input *CreateDomainInput) (req *request.Request, output *CreateDomainOutput) {
   252  	op := &request.Operation{
   253  		Name:       opCreateDomain,
   254  		HTTPMethod: "POST",
   255  		HTTPPath:   "/v1/domain",
   256  	}
   257  
   258  	if input == nil {
   259  		input = &CreateDomainInput{}
   260  	}
   261  
   262  	output = &CreateDomainOutput{}
   263  	req = c.newRequest(op, input, output)
   264  	return
   265  }
   266  
   267  // CreateDomain API operation for CodeArtifact.
   268  //
   269  // Creates a domain. CodeArtifact domains make it easier to manage multiple
   270  // repositories across an organization. You can use a domain to apply permissions
   271  // across many repositories owned by different AWS accounts. An asset is stored
   272  // only once in a domain, even if it's in multiple repositories.
   273  //
   274  // Although you can have multiple domains, we recommend a single production
   275  // domain that contains all published artifacts so that your development teams
   276  // can find and share packages. You can use a second pre-production domain to
   277  // test changes to the production domain configuration.
   278  //
   279  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   280  // with awserr.Error's Code and Message methods to get detailed information about
   281  // the error.
   282  //
   283  // See the AWS API reference guide for CodeArtifact's
   284  // API operation CreateDomain for usage and error information.
   285  //
   286  // Returned Error Types:
   287  //   * AccessDeniedException
   288  //   The operation did not succeed because of an unauthorized access attempt.
   289  //
   290  //   * ConflictException
   291  //   The operation did not succeed because prerequisites are not met.
   292  //
   293  //   * InternalServerException
   294  //   The operation did not succeed because of an error that occurred inside AWS
   295  //   CodeArtifact.
   296  //
   297  //   * ResourceNotFoundException
   298  //   The operation did not succeed because the resource requested is not found
   299  //   in the service.
   300  //
   301  //   * ServiceQuotaExceededException
   302  //   The operation did not succeed because it would have exceeded a service limit
   303  //   for your account.
   304  //
   305  //   * ThrottlingException
   306  //   The operation did not succeed because too many requests are sent to the service.
   307  //
   308  //   * ValidationException
   309  //   The operation did not succeed because a parameter in the request was sent
   310  //   with an invalid value.
   311  //
   312  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/CreateDomain
   313  func (c *CodeArtifact) CreateDomain(input *CreateDomainInput) (*CreateDomainOutput, error) {
   314  	req, out := c.CreateDomainRequest(input)
   315  	return out, req.Send()
   316  }
   317  
   318  // CreateDomainWithContext is the same as CreateDomain with the addition of
   319  // the ability to pass a context and additional request options.
   320  //
   321  // See CreateDomain for details on how to use this API operation.
   322  //
   323  // The context must be non-nil and will be used for request cancellation. If
   324  // the context is nil a panic will occur. In the future the SDK may create
   325  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   326  // for more information on using Contexts.
   327  func (c *CodeArtifact) CreateDomainWithContext(ctx aws.Context, input *CreateDomainInput, opts ...request.Option) (*CreateDomainOutput, error) {
   328  	req, out := c.CreateDomainRequest(input)
   329  	req.SetContext(ctx)
   330  	req.ApplyOptions(opts...)
   331  	return out, req.Send()
   332  }
   333  
   334  const opCreateRepository = "CreateRepository"
   335  
   336  // CreateRepositoryRequest generates a "aws/request.Request" representing the
   337  // client's request for the CreateRepository operation. The "output" return
   338  // value will be populated with the request's response once the request completes
   339  // successfully.
   340  //
   341  // Use "Send" method on the returned Request to send the API call to the service.
   342  // the "output" return value is not valid until after Send returns without error.
   343  //
   344  // See CreateRepository for more information on using the CreateRepository
   345  // API call, and error handling.
   346  //
   347  // This method is useful when you want to inject custom logic or configuration
   348  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   349  //
   350  //
   351  //    // Example sending a request using the CreateRepositoryRequest method.
   352  //    req, resp := client.CreateRepositoryRequest(params)
   353  //
   354  //    err := req.Send()
   355  //    if err == nil { // resp is now filled
   356  //        fmt.Println(resp)
   357  //    }
   358  //
   359  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/CreateRepository
   360  func (c *CodeArtifact) CreateRepositoryRequest(input *CreateRepositoryInput) (req *request.Request, output *CreateRepositoryOutput) {
   361  	op := &request.Operation{
   362  		Name:       opCreateRepository,
   363  		HTTPMethod: "POST",
   364  		HTTPPath:   "/v1/repository",
   365  	}
   366  
   367  	if input == nil {
   368  		input = &CreateRepositoryInput{}
   369  	}
   370  
   371  	output = &CreateRepositoryOutput{}
   372  	req = c.newRequest(op, input, output)
   373  	return
   374  }
   375  
   376  // CreateRepository API operation for CodeArtifact.
   377  //
   378  // Creates a repository.
   379  //
   380  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   381  // with awserr.Error's Code and Message methods to get detailed information about
   382  // the error.
   383  //
   384  // See the AWS API reference guide for CodeArtifact's
   385  // API operation CreateRepository for usage and error information.
   386  //
   387  // Returned Error Types:
   388  //   * AccessDeniedException
   389  //   The operation did not succeed because of an unauthorized access attempt.
   390  //
   391  //   * ConflictException
   392  //   The operation did not succeed because prerequisites are not met.
   393  //
   394  //   * InternalServerException
   395  //   The operation did not succeed because of an error that occurred inside AWS
   396  //   CodeArtifact.
   397  //
   398  //   * ResourceNotFoundException
   399  //   The operation did not succeed because the resource requested is not found
   400  //   in the service.
   401  //
   402  //   * ServiceQuotaExceededException
   403  //   The operation did not succeed because it would have exceeded a service limit
   404  //   for your account.
   405  //
   406  //   * ThrottlingException
   407  //   The operation did not succeed because too many requests are sent to the service.
   408  //
   409  //   * ValidationException
   410  //   The operation did not succeed because a parameter in the request was sent
   411  //   with an invalid value.
   412  //
   413  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/CreateRepository
   414  func (c *CodeArtifact) CreateRepository(input *CreateRepositoryInput) (*CreateRepositoryOutput, error) {
   415  	req, out := c.CreateRepositoryRequest(input)
   416  	return out, req.Send()
   417  }
   418  
   419  // CreateRepositoryWithContext is the same as CreateRepository with the addition of
   420  // the ability to pass a context and additional request options.
   421  //
   422  // See CreateRepository for details on how to use this API operation.
   423  //
   424  // The context must be non-nil and will be used for request cancellation. If
   425  // the context is nil a panic will occur. In the future the SDK may create
   426  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   427  // for more information on using Contexts.
   428  func (c *CodeArtifact) CreateRepositoryWithContext(ctx aws.Context, input *CreateRepositoryInput, opts ...request.Option) (*CreateRepositoryOutput, error) {
   429  	req, out := c.CreateRepositoryRequest(input)
   430  	req.SetContext(ctx)
   431  	req.ApplyOptions(opts...)
   432  	return out, req.Send()
   433  }
   434  
   435  const opDeleteDomain = "DeleteDomain"
   436  
   437  // DeleteDomainRequest generates a "aws/request.Request" representing the
   438  // client's request for the DeleteDomain operation. The "output" return
   439  // value will be populated with the request's response once the request completes
   440  // successfully.
   441  //
   442  // Use "Send" method on the returned Request to send the API call to the service.
   443  // the "output" return value is not valid until after Send returns without error.
   444  //
   445  // See DeleteDomain for more information on using the DeleteDomain
   446  // API call, and error handling.
   447  //
   448  // This method is useful when you want to inject custom logic or configuration
   449  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   450  //
   451  //
   452  //    // Example sending a request using the DeleteDomainRequest method.
   453  //    req, resp := client.DeleteDomainRequest(params)
   454  //
   455  //    err := req.Send()
   456  //    if err == nil { // resp is now filled
   457  //        fmt.Println(resp)
   458  //    }
   459  //
   460  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeleteDomain
   461  func (c *CodeArtifact) DeleteDomainRequest(input *DeleteDomainInput) (req *request.Request, output *DeleteDomainOutput) {
   462  	op := &request.Operation{
   463  		Name:       opDeleteDomain,
   464  		HTTPMethod: "DELETE",
   465  		HTTPPath:   "/v1/domain",
   466  	}
   467  
   468  	if input == nil {
   469  		input = &DeleteDomainInput{}
   470  	}
   471  
   472  	output = &DeleteDomainOutput{}
   473  	req = c.newRequest(op, input, output)
   474  	return
   475  }
   476  
   477  // DeleteDomain API operation for CodeArtifact.
   478  //
   479  // Deletes a domain. You cannot delete a domain that contains repositories.
   480  // If you want to delete a domain with repositories, first delete its repositories.
   481  //
   482  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   483  // with awserr.Error's Code and Message methods to get detailed information about
   484  // the error.
   485  //
   486  // See the AWS API reference guide for CodeArtifact's
   487  // API operation DeleteDomain for usage and error information.
   488  //
   489  // Returned Error Types:
   490  //   * AccessDeniedException
   491  //   The operation did not succeed because of an unauthorized access attempt.
   492  //
   493  //   * ConflictException
   494  //   The operation did not succeed because prerequisites are not met.
   495  //
   496  //   * InternalServerException
   497  //   The operation did not succeed because of an error that occurred inside AWS
   498  //   CodeArtifact.
   499  //
   500  //   * ThrottlingException
   501  //   The operation did not succeed because too many requests are sent to the service.
   502  //
   503  //   * ValidationException
   504  //   The operation did not succeed because a parameter in the request was sent
   505  //   with an invalid value.
   506  //
   507  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeleteDomain
   508  func (c *CodeArtifact) DeleteDomain(input *DeleteDomainInput) (*DeleteDomainOutput, error) {
   509  	req, out := c.DeleteDomainRequest(input)
   510  	return out, req.Send()
   511  }
   512  
   513  // DeleteDomainWithContext is the same as DeleteDomain with the addition of
   514  // the ability to pass a context and additional request options.
   515  //
   516  // See DeleteDomain for details on how to use this API operation.
   517  //
   518  // The context must be non-nil and will be used for request cancellation. If
   519  // the context is nil a panic will occur. In the future the SDK may create
   520  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   521  // for more information on using Contexts.
   522  func (c *CodeArtifact) DeleteDomainWithContext(ctx aws.Context, input *DeleteDomainInput, opts ...request.Option) (*DeleteDomainOutput, error) {
   523  	req, out := c.DeleteDomainRequest(input)
   524  	req.SetContext(ctx)
   525  	req.ApplyOptions(opts...)
   526  	return out, req.Send()
   527  }
   528  
   529  const opDeleteDomainPermissionsPolicy = "DeleteDomainPermissionsPolicy"
   530  
   531  // DeleteDomainPermissionsPolicyRequest generates a "aws/request.Request" representing the
   532  // client's request for the DeleteDomainPermissionsPolicy operation. The "output" return
   533  // value will be populated with the request's response once the request completes
   534  // successfully.
   535  //
   536  // Use "Send" method on the returned Request to send the API call to the service.
   537  // the "output" return value is not valid until after Send returns without error.
   538  //
   539  // See DeleteDomainPermissionsPolicy for more information on using the DeleteDomainPermissionsPolicy
   540  // API call, and error handling.
   541  //
   542  // This method is useful when you want to inject custom logic or configuration
   543  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   544  //
   545  //
   546  //    // Example sending a request using the DeleteDomainPermissionsPolicyRequest method.
   547  //    req, resp := client.DeleteDomainPermissionsPolicyRequest(params)
   548  //
   549  //    err := req.Send()
   550  //    if err == nil { // resp is now filled
   551  //        fmt.Println(resp)
   552  //    }
   553  //
   554  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeleteDomainPermissionsPolicy
   555  func (c *CodeArtifact) DeleteDomainPermissionsPolicyRequest(input *DeleteDomainPermissionsPolicyInput) (req *request.Request, output *DeleteDomainPermissionsPolicyOutput) {
   556  	op := &request.Operation{
   557  		Name:       opDeleteDomainPermissionsPolicy,
   558  		HTTPMethod: "DELETE",
   559  		HTTPPath:   "/v1/domain/permissions/policy",
   560  	}
   561  
   562  	if input == nil {
   563  		input = &DeleteDomainPermissionsPolicyInput{}
   564  	}
   565  
   566  	output = &DeleteDomainPermissionsPolicyOutput{}
   567  	req = c.newRequest(op, input, output)
   568  	return
   569  }
   570  
   571  // DeleteDomainPermissionsPolicy API operation for CodeArtifact.
   572  //
   573  // Deletes the resource policy set on a domain.
   574  //
   575  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   576  // with awserr.Error's Code and Message methods to get detailed information about
   577  // the error.
   578  //
   579  // See the AWS API reference guide for CodeArtifact's
   580  // API operation DeleteDomainPermissionsPolicy for usage and error information.
   581  //
   582  // Returned Error Types:
   583  //   * AccessDeniedException
   584  //   The operation did not succeed because of an unauthorized access attempt.
   585  //
   586  //   * ConflictException
   587  //   The operation did not succeed because prerequisites are not met.
   588  //
   589  //   * InternalServerException
   590  //   The operation did not succeed because of an error that occurred inside AWS
   591  //   CodeArtifact.
   592  //
   593  //   * ResourceNotFoundException
   594  //   The operation did not succeed because the resource requested is not found
   595  //   in the service.
   596  //
   597  //   * ThrottlingException
   598  //   The operation did not succeed because too many requests are sent to the service.
   599  //
   600  //   * ValidationException
   601  //   The operation did not succeed because a parameter in the request was sent
   602  //   with an invalid value.
   603  //
   604  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeleteDomainPermissionsPolicy
   605  func (c *CodeArtifact) DeleteDomainPermissionsPolicy(input *DeleteDomainPermissionsPolicyInput) (*DeleteDomainPermissionsPolicyOutput, error) {
   606  	req, out := c.DeleteDomainPermissionsPolicyRequest(input)
   607  	return out, req.Send()
   608  }
   609  
   610  // DeleteDomainPermissionsPolicyWithContext is the same as DeleteDomainPermissionsPolicy with the addition of
   611  // the ability to pass a context and additional request options.
   612  //
   613  // See DeleteDomainPermissionsPolicy for details on how to use this API operation.
   614  //
   615  // The context must be non-nil and will be used for request cancellation. If
   616  // the context is nil a panic will occur. In the future the SDK may create
   617  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   618  // for more information on using Contexts.
   619  func (c *CodeArtifact) DeleteDomainPermissionsPolicyWithContext(ctx aws.Context, input *DeleteDomainPermissionsPolicyInput, opts ...request.Option) (*DeleteDomainPermissionsPolicyOutput, error) {
   620  	req, out := c.DeleteDomainPermissionsPolicyRequest(input)
   621  	req.SetContext(ctx)
   622  	req.ApplyOptions(opts...)
   623  	return out, req.Send()
   624  }
   625  
   626  const opDeletePackageVersions = "DeletePackageVersions"
   627  
   628  // DeletePackageVersionsRequest generates a "aws/request.Request" representing the
   629  // client's request for the DeletePackageVersions operation. The "output" return
   630  // value will be populated with the request's response once the request completes
   631  // successfully.
   632  //
   633  // Use "Send" method on the returned Request to send the API call to the service.
   634  // the "output" return value is not valid until after Send returns without error.
   635  //
   636  // See DeletePackageVersions for more information on using the DeletePackageVersions
   637  // API call, and error handling.
   638  //
   639  // This method is useful when you want to inject custom logic or configuration
   640  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   641  //
   642  //
   643  //    // Example sending a request using the DeletePackageVersionsRequest method.
   644  //    req, resp := client.DeletePackageVersionsRequest(params)
   645  //
   646  //    err := req.Send()
   647  //    if err == nil { // resp is now filled
   648  //        fmt.Println(resp)
   649  //    }
   650  //
   651  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeletePackageVersions
   652  func (c *CodeArtifact) DeletePackageVersionsRequest(input *DeletePackageVersionsInput) (req *request.Request, output *DeletePackageVersionsOutput) {
   653  	op := &request.Operation{
   654  		Name:       opDeletePackageVersions,
   655  		HTTPMethod: "POST",
   656  		HTTPPath:   "/v1/package/versions/delete",
   657  	}
   658  
   659  	if input == nil {
   660  		input = &DeletePackageVersionsInput{}
   661  	}
   662  
   663  	output = &DeletePackageVersionsOutput{}
   664  	req = c.newRequest(op, input, output)
   665  	return
   666  }
   667  
   668  // DeletePackageVersions API operation for CodeArtifact.
   669  //
   670  // Deletes one or more versions of a package. A deleted package version cannot
   671  // be restored in your repository. If you want to remove a package version from
   672  // your repository and be able to restore it later, set its status to Archived.
   673  // Archived packages cannot be downloaded from a repository and don't show up
   674  // with list package APIs (for example, ListackageVersions (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackageVersions.html)),
   675  // but you can restore them using UpdatePackageVersionsStatus (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_UpdatePackageVersionsStatus.html).
   676  //
   677  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   678  // with awserr.Error's Code and Message methods to get detailed information about
   679  // the error.
   680  //
   681  // See the AWS API reference guide for CodeArtifact's
   682  // API operation DeletePackageVersions for usage and error information.
   683  //
   684  // Returned Error Types:
   685  //   * AccessDeniedException
   686  //   The operation did not succeed because of an unauthorized access attempt.
   687  //
   688  //   * ConflictException
   689  //   The operation did not succeed because prerequisites are not met.
   690  //
   691  //   * InternalServerException
   692  //   The operation did not succeed because of an error that occurred inside AWS
   693  //   CodeArtifact.
   694  //
   695  //   * ResourceNotFoundException
   696  //   The operation did not succeed because the resource requested is not found
   697  //   in the service.
   698  //
   699  //   * ThrottlingException
   700  //   The operation did not succeed because too many requests are sent to the service.
   701  //
   702  //   * ValidationException
   703  //   The operation did not succeed because a parameter in the request was sent
   704  //   with an invalid value.
   705  //
   706  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeletePackageVersions
   707  func (c *CodeArtifact) DeletePackageVersions(input *DeletePackageVersionsInput) (*DeletePackageVersionsOutput, error) {
   708  	req, out := c.DeletePackageVersionsRequest(input)
   709  	return out, req.Send()
   710  }
   711  
   712  // DeletePackageVersionsWithContext is the same as DeletePackageVersions with the addition of
   713  // the ability to pass a context and additional request options.
   714  //
   715  // See DeletePackageVersions for details on how to use this API operation.
   716  //
   717  // The context must be non-nil and will be used for request cancellation. If
   718  // the context is nil a panic will occur. In the future the SDK may create
   719  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   720  // for more information on using Contexts.
   721  func (c *CodeArtifact) DeletePackageVersionsWithContext(ctx aws.Context, input *DeletePackageVersionsInput, opts ...request.Option) (*DeletePackageVersionsOutput, error) {
   722  	req, out := c.DeletePackageVersionsRequest(input)
   723  	req.SetContext(ctx)
   724  	req.ApplyOptions(opts...)
   725  	return out, req.Send()
   726  }
   727  
   728  const opDeleteRepository = "DeleteRepository"
   729  
   730  // DeleteRepositoryRequest generates a "aws/request.Request" representing the
   731  // client's request for the DeleteRepository operation. The "output" return
   732  // value will be populated with the request's response once the request completes
   733  // successfully.
   734  //
   735  // Use "Send" method on the returned Request to send the API call to the service.
   736  // the "output" return value is not valid until after Send returns without error.
   737  //
   738  // See DeleteRepository for more information on using the DeleteRepository
   739  // API call, and error handling.
   740  //
   741  // This method is useful when you want to inject custom logic or configuration
   742  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   743  //
   744  //
   745  //    // Example sending a request using the DeleteRepositoryRequest method.
   746  //    req, resp := client.DeleteRepositoryRequest(params)
   747  //
   748  //    err := req.Send()
   749  //    if err == nil { // resp is now filled
   750  //        fmt.Println(resp)
   751  //    }
   752  //
   753  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeleteRepository
   754  func (c *CodeArtifact) DeleteRepositoryRequest(input *DeleteRepositoryInput) (req *request.Request, output *DeleteRepositoryOutput) {
   755  	op := &request.Operation{
   756  		Name:       opDeleteRepository,
   757  		HTTPMethod: "DELETE",
   758  		HTTPPath:   "/v1/repository",
   759  	}
   760  
   761  	if input == nil {
   762  		input = &DeleteRepositoryInput{}
   763  	}
   764  
   765  	output = &DeleteRepositoryOutput{}
   766  	req = c.newRequest(op, input, output)
   767  	return
   768  }
   769  
   770  // DeleteRepository API operation for CodeArtifact.
   771  //
   772  // Deletes a repository.
   773  //
   774  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   775  // with awserr.Error's Code and Message methods to get detailed information about
   776  // the error.
   777  //
   778  // See the AWS API reference guide for CodeArtifact's
   779  // API operation DeleteRepository for usage and error information.
   780  //
   781  // Returned Error Types:
   782  //   * AccessDeniedException
   783  //   The operation did not succeed because of an unauthorized access attempt.
   784  //
   785  //   * ConflictException
   786  //   The operation did not succeed because prerequisites are not met.
   787  //
   788  //   * InternalServerException
   789  //   The operation did not succeed because of an error that occurred inside AWS
   790  //   CodeArtifact.
   791  //
   792  //   * ResourceNotFoundException
   793  //   The operation did not succeed because the resource requested is not found
   794  //   in the service.
   795  //
   796  //   * ThrottlingException
   797  //   The operation did not succeed because too many requests are sent to the service.
   798  //
   799  //   * ValidationException
   800  //   The operation did not succeed because a parameter in the request was sent
   801  //   with an invalid value.
   802  //
   803  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeleteRepository
   804  func (c *CodeArtifact) DeleteRepository(input *DeleteRepositoryInput) (*DeleteRepositoryOutput, error) {
   805  	req, out := c.DeleteRepositoryRequest(input)
   806  	return out, req.Send()
   807  }
   808  
   809  // DeleteRepositoryWithContext is the same as DeleteRepository with the addition of
   810  // the ability to pass a context and additional request options.
   811  //
   812  // See DeleteRepository for details on how to use this API operation.
   813  //
   814  // The context must be non-nil and will be used for request cancellation. If
   815  // the context is nil a panic will occur. In the future the SDK may create
   816  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   817  // for more information on using Contexts.
   818  func (c *CodeArtifact) DeleteRepositoryWithContext(ctx aws.Context, input *DeleteRepositoryInput, opts ...request.Option) (*DeleteRepositoryOutput, error) {
   819  	req, out := c.DeleteRepositoryRequest(input)
   820  	req.SetContext(ctx)
   821  	req.ApplyOptions(opts...)
   822  	return out, req.Send()
   823  }
   824  
   825  const opDeleteRepositoryPermissionsPolicy = "DeleteRepositoryPermissionsPolicy"
   826  
   827  // DeleteRepositoryPermissionsPolicyRequest generates a "aws/request.Request" representing the
   828  // client's request for the DeleteRepositoryPermissionsPolicy operation. The "output" return
   829  // value will be populated with the request's response once the request completes
   830  // successfully.
   831  //
   832  // Use "Send" method on the returned Request to send the API call to the service.
   833  // the "output" return value is not valid until after Send returns without error.
   834  //
   835  // See DeleteRepositoryPermissionsPolicy for more information on using the DeleteRepositoryPermissionsPolicy
   836  // API call, and error handling.
   837  //
   838  // This method is useful when you want to inject custom logic or configuration
   839  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   840  //
   841  //
   842  //    // Example sending a request using the DeleteRepositoryPermissionsPolicyRequest method.
   843  //    req, resp := client.DeleteRepositoryPermissionsPolicyRequest(params)
   844  //
   845  //    err := req.Send()
   846  //    if err == nil { // resp is now filled
   847  //        fmt.Println(resp)
   848  //    }
   849  //
   850  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeleteRepositoryPermissionsPolicy
   851  func (c *CodeArtifact) DeleteRepositoryPermissionsPolicyRequest(input *DeleteRepositoryPermissionsPolicyInput) (req *request.Request, output *DeleteRepositoryPermissionsPolicyOutput) {
   852  	op := &request.Operation{
   853  		Name:       opDeleteRepositoryPermissionsPolicy,
   854  		HTTPMethod: "DELETE",
   855  		HTTPPath:   "/v1/repository/permissions/policies",
   856  	}
   857  
   858  	if input == nil {
   859  		input = &DeleteRepositoryPermissionsPolicyInput{}
   860  	}
   861  
   862  	output = &DeleteRepositoryPermissionsPolicyOutput{}
   863  	req = c.newRequest(op, input, output)
   864  	return
   865  }
   866  
   867  // DeleteRepositoryPermissionsPolicy API operation for CodeArtifact.
   868  //
   869  // Deletes the resource policy that is set on a repository. After a resource
   870  // policy is deleted, the permissions allowed and denied by the deleted policy
   871  // are removed. The effect of deleting a resource policy might not be immediate.
   872  //
   873  // Use DeleteRepositoryPermissionsPolicy with caution. After a policy is deleted,
   874  // AWS users, roles, and accounts lose permissions to perform the repository
   875  // actions granted by the deleted policy.
   876  //
   877  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   878  // with awserr.Error's Code and Message methods to get detailed information about
   879  // the error.
   880  //
   881  // See the AWS API reference guide for CodeArtifact's
   882  // API operation DeleteRepositoryPermissionsPolicy for usage and error information.
   883  //
   884  // Returned Error Types:
   885  //   * AccessDeniedException
   886  //   The operation did not succeed because of an unauthorized access attempt.
   887  //
   888  //   * ConflictException
   889  //   The operation did not succeed because prerequisites are not met.
   890  //
   891  //   * InternalServerException
   892  //   The operation did not succeed because of an error that occurred inside AWS
   893  //   CodeArtifact.
   894  //
   895  //   * ResourceNotFoundException
   896  //   The operation did not succeed because the resource requested is not found
   897  //   in the service.
   898  //
   899  //   * ThrottlingException
   900  //   The operation did not succeed because too many requests are sent to the service.
   901  //
   902  //   * ValidationException
   903  //   The operation did not succeed because a parameter in the request was sent
   904  //   with an invalid value.
   905  //
   906  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DeleteRepositoryPermissionsPolicy
   907  func (c *CodeArtifact) DeleteRepositoryPermissionsPolicy(input *DeleteRepositoryPermissionsPolicyInput) (*DeleteRepositoryPermissionsPolicyOutput, error) {
   908  	req, out := c.DeleteRepositoryPermissionsPolicyRequest(input)
   909  	return out, req.Send()
   910  }
   911  
   912  // DeleteRepositoryPermissionsPolicyWithContext is the same as DeleteRepositoryPermissionsPolicy with the addition of
   913  // the ability to pass a context and additional request options.
   914  //
   915  // See DeleteRepositoryPermissionsPolicy for details on how to use this API operation.
   916  //
   917  // The context must be non-nil and will be used for request cancellation. If
   918  // the context is nil a panic will occur. In the future the SDK may create
   919  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   920  // for more information on using Contexts.
   921  func (c *CodeArtifact) DeleteRepositoryPermissionsPolicyWithContext(ctx aws.Context, input *DeleteRepositoryPermissionsPolicyInput, opts ...request.Option) (*DeleteRepositoryPermissionsPolicyOutput, error) {
   922  	req, out := c.DeleteRepositoryPermissionsPolicyRequest(input)
   923  	req.SetContext(ctx)
   924  	req.ApplyOptions(opts...)
   925  	return out, req.Send()
   926  }
   927  
   928  const opDescribeDomain = "DescribeDomain"
   929  
   930  // DescribeDomainRequest generates a "aws/request.Request" representing the
   931  // client's request for the DescribeDomain operation. The "output" return
   932  // value will be populated with the request's response once the request completes
   933  // successfully.
   934  //
   935  // Use "Send" method on the returned Request to send the API call to the service.
   936  // the "output" return value is not valid until after Send returns without error.
   937  //
   938  // See DescribeDomain for more information on using the DescribeDomain
   939  // API call, and error handling.
   940  //
   941  // This method is useful when you want to inject custom logic or configuration
   942  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   943  //
   944  //
   945  //    // Example sending a request using the DescribeDomainRequest method.
   946  //    req, resp := client.DescribeDomainRequest(params)
   947  //
   948  //    err := req.Send()
   949  //    if err == nil { // resp is now filled
   950  //        fmt.Println(resp)
   951  //    }
   952  //
   953  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DescribeDomain
   954  func (c *CodeArtifact) DescribeDomainRequest(input *DescribeDomainInput) (req *request.Request, output *DescribeDomainOutput) {
   955  	op := &request.Operation{
   956  		Name:       opDescribeDomain,
   957  		HTTPMethod: "GET",
   958  		HTTPPath:   "/v1/domain",
   959  	}
   960  
   961  	if input == nil {
   962  		input = &DescribeDomainInput{}
   963  	}
   964  
   965  	output = &DescribeDomainOutput{}
   966  	req = c.newRequest(op, input, output)
   967  	return
   968  }
   969  
   970  // DescribeDomain API operation for CodeArtifact.
   971  //
   972  // Returns a DomainDescription (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DomainDescription.html)
   973  // object that contains information about the requested domain.
   974  //
   975  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   976  // with awserr.Error's Code and Message methods to get detailed information about
   977  // the error.
   978  //
   979  // See the AWS API reference guide for CodeArtifact's
   980  // API operation DescribeDomain for usage and error information.
   981  //
   982  // Returned Error Types:
   983  //   * AccessDeniedException
   984  //   The operation did not succeed because of an unauthorized access attempt.
   985  //
   986  //   * InternalServerException
   987  //   The operation did not succeed because of an error that occurred inside AWS
   988  //   CodeArtifact.
   989  //
   990  //   * ResourceNotFoundException
   991  //   The operation did not succeed because the resource requested is not found
   992  //   in the service.
   993  //
   994  //   * ThrottlingException
   995  //   The operation did not succeed because too many requests are sent to the service.
   996  //
   997  //   * ValidationException
   998  //   The operation did not succeed because a parameter in the request was sent
   999  //   with an invalid value.
  1000  //
  1001  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DescribeDomain
  1002  func (c *CodeArtifact) DescribeDomain(input *DescribeDomainInput) (*DescribeDomainOutput, error) {
  1003  	req, out := c.DescribeDomainRequest(input)
  1004  	return out, req.Send()
  1005  }
  1006  
  1007  // DescribeDomainWithContext is the same as DescribeDomain with the addition of
  1008  // the ability to pass a context and additional request options.
  1009  //
  1010  // See DescribeDomain for details on how to use this API operation.
  1011  //
  1012  // The context must be non-nil and will be used for request cancellation. If
  1013  // the context is nil a panic will occur. In the future the SDK may create
  1014  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1015  // for more information on using Contexts.
  1016  func (c *CodeArtifact) DescribeDomainWithContext(ctx aws.Context, input *DescribeDomainInput, opts ...request.Option) (*DescribeDomainOutput, error) {
  1017  	req, out := c.DescribeDomainRequest(input)
  1018  	req.SetContext(ctx)
  1019  	req.ApplyOptions(opts...)
  1020  	return out, req.Send()
  1021  }
  1022  
  1023  const opDescribePackageVersion = "DescribePackageVersion"
  1024  
  1025  // DescribePackageVersionRequest generates a "aws/request.Request" representing the
  1026  // client's request for the DescribePackageVersion operation. The "output" return
  1027  // value will be populated with the request's response once the request completes
  1028  // successfully.
  1029  //
  1030  // Use "Send" method on the returned Request to send the API call to the service.
  1031  // the "output" return value is not valid until after Send returns without error.
  1032  //
  1033  // See DescribePackageVersion for more information on using the DescribePackageVersion
  1034  // API call, and error handling.
  1035  //
  1036  // This method is useful when you want to inject custom logic or configuration
  1037  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1038  //
  1039  //
  1040  //    // Example sending a request using the DescribePackageVersionRequest method.
  1041  //    req, resp := client.DescribePackageVersionRequest(params)
  1042  //
  1043  //    err := req.Send()
  1044  //    if err == nil { // resp is now filled
  1045  //        fmt.Println(resp)
  1046  //    }
  1047  //
  1048  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DescribePackageVersion
  1049  func (c *CodeArtifact) DescribePackageVersionRequest(input *DescribePackageVersionInput) (req *request.Request, output *DescribePackageVersionOutput) {
  1050  	op := &request.Operation{
  1051  		Name:       opDescribePackageVersion,
  1052  		HTTPMethod: "GET",
  1053  		HTTPPath:   "/v1/package/version",
  1054  	}
  1055  
  1056  	if input == nil {
  1057  		input = &DescribePackageVersionInput{}
  1058  	}
  1059  
  1060  	output = &DescribePackageVersionOutput{}
  1061  	req = c.newRequest(op, input, output)
  1062  	return
  1063  }
  1064  
  1065  // DescribePackageVersion API operation for CodeArtifact.
  1066  //
  1067  // Returns a PackageVersionDescription (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionDescription.html)
  1068  // object that contains information about the requested package version.
  1069  //
  1070  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1071  // with awserr.Error's Code and Message methods to get detailed information about
  1072  // the error.
  1073  //
  1074  // See the AWS API reference guide for CodeArtifact's
  1075  // API operation DescribePackageVersion for usage and error information.
  1076  //
  1077  // Returned Error Types:
  1078  //   * AccessDeniedException
  1079  //   The operation did not succeed because of an unauthorized access attempt.
  1080  //
  1081  //   * ConflictException
  1082  //   The operation did not succeed because prerequisites are not met.
  1083  //
  1084  //   * InternalServerException
  1085  //   The operation did not succeed because of an error that occurred inside AWS
  1086  //   CodeArtifact.
  1087  //
  1088  //   * ResourceNotFoundException
  1089  //   The operation did not succeed because the resource requested is not found
  1090  //   in the service.
  1091  //
  1092  //   * ThrottlingException
  1093  //   The operation did not succeed because too many requests are sent to the service.
  1094  //
  1095  //   * ValidationException
  1096  //   The operation did not succeed because a parameter in the request was sent
  1097  //   with an invalid value.
  1098  //
  1099  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DescribePackageVersion
  1100  func (c *CodeArtifact) DescribePackageVersion(input *DescribePackageVersionInput) (*DescribePackageVersionOutput, error) {
  1101  	req, out := c.DescribePackageVersionRequest(input)
  1102  	return out, req.Send()
  1103  }
  1104  
  1105  // DescribePackageVersionWithContext is the same as DescribePackageVersion with the addition of
  1106  // the ability to pass a context and additional request options.
  1107  //
  1108  // See DescribePackageVersion for details on how to use this API operation.
  1109  //
  1110  // The context must be non-nil and will be used for request cancellation. If
  1111  // the context is nil a panic will occur. In the future the SDK may create
  1112  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1113  // for more information on using Contexts.
  1114  func (c *CodeArtifact) DescribePackageVersionWithContext(ctx aws.Context, input *DescribePackageVersionInput, opts ...request.Option) (*DescribePackageVersionOutput, error) {
  1115  	req, out := c.DescribePackageVersionRequest(input)
  1116  	req.SetContext(ctx)
  1117  	req.ApplyOptions(opts...)
  1118  	return out, req.Send()
  1119  }
  1120  
  1121  const opDescribeRepository = "DescribeRepository"
  1122  
  1123  // DescribeRepositoryRequest generates a "aws/request.Request" representing the
  1124  // client's request for the DescribeRepository operation. The "output" return
  1125  // value will be populated with the request's response once the request completes
  1126  // successfully.
  1127  //
  1128  // Use "Send" method on the returned Request to send the API call to the service.
  1129  // the "output" return value is not valid until after Send returns without error.
  1130  //
  1131  // See DescribeRepository for more information on using the DescribeRepository
  1132  // API call, and error handling.
  1133  //
  1134  // This method is useful when you want to inject custom logic or configuration
  1135  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1136  //
  1137  //
  1138  //    // Example sending a request using the DescribeRepositoryRequest method.
  1139  //    req, resp := client.DescribeRepositoryRequest(params)
  1140  //
  1141  //    err := req.Send()
  1142  //    if err == nil { // resp is now filled
  1143  //        fmt.Println(resp)
  1144  //    }
  1145  //
  1146  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DescribeRepository
  1147  func (c *CodeArtifact) DescribeRepositoryRequest(input *DescribeRepositoryInput) (req *request.Request, output *DescribeRepositoryOutput) {
  1148  	op := &request.Operation{
  1149  		Name:       opDescribeRepository,
  1150  		HTTPMethod: "GET",
  1151  		HTTPPath:   "/v1/repository",
  1152  	}
  1153  
  1154  	if input == nil {
  1155  		input = &DescribeRepositoryInput{}
  1156  	}
  1157  
  1158  	output = &DescribeRepositoryOutput{}
  1159  	req = c.newRequest(op, input, output)
  1160  	return
  1161  }
  1162  
  1163  // DescribeRepository API operation for CodeArtifact.
  1164  //
  1165  // Returns a RepositoryDescription object that contains detailed information
  1166  // about the requested repository.
  1167  //
  1168  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1169  // with awserr.Error's Code and Message methods to get detailed information about
  1170  // the error.
  1171  //
  1172  // See the AWS API reference guide for CodeArtifact's
  1173  // API operation DescribeRepository for usage and error information.
  1174  //
  1175  // Returned Error Types:
  1176  //   * AccessDeniedException
  1177  //   The operation did not succeed because of an unauthorized access attempt.
  1178  //
  1179  //   * InternalServerException
  1180  //   The operation did not succeed because of an error that occurred inside AWS
  1181  //   CodeArtifact.
  1182  //
  1183  //   * ResourceNotFoundException
  1184  //   The operation did not succeed because the resource requested is not found
  1185  //   in the service.
  1186  //
  1187  //   * ThrottlingException
  1188  //   The operation did not succeed because too many requests are sent to the service.
  1189  //
  1190  //   * ValidationException
  1191  //   The operation did not succeed because a parameter in the request was sent
  1192  //   with an invalid value.
  1193  //
  1194  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DescribeRepository
  1195  func (c *CodeArtifact) DescribeRepository(input *DescribeRepositoryInput) (*DescribeRepositoryOutput, error) {
  1196  	req, out := c.DescribeRepositoryRequest(input)
  1197  	return out, req.Send()
  1198  }
  1199  
  1200  // DescribeRepositoryWithContext is the same as DescribeRepository with the addition of
  1201  // the ability to pass a context and additional request options.
  1202  //
  1203  // See DescribeRepository for details on how to use this API operation.
  1204  //
  1205  // The context must be non-nil and will be used for request cancellation. If
  1206  // the context is nil a panic will occur. In the future the SDK may create
  1207  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1208  // for more information on using Contexts.
  1209  func (c *CodeArtifact) DescribeRepositoryWithContext(ctx aws.Context, input *DescribeRepositoryInput, opts ...request.Option) (*DescribeRepositoryOutput, error) {
  1210  	req, out := c.DescribeRepositoryRequest(input)
  1211  	req.SetContext(ctx)
  1212  	req.ApplyOptions(opts...)
  1213  	return out, req.Send()
  1214  }
  1215  
  1216  const opDisassociateExternalConnection = "DisassociateExternalConnection"
  1217  
  1218  // DisassociateExternalConnectionRequest generates a "aws/request.Request" representing the
  1219  // client's request for the DisassociateExternalConnection operation. The "output" return
  1220  // value will be populated with the request's response once the request completes
  1221  // successfully.
  1222  //
  1223  // Use "Send" method on the returned Request to send the API call to the service.
  1224  // the "output" return value is not valid until after Send returns without error.
  1225  //
  1226  // See DisassociateExternalConnection for more information on using the DisassociateExternalConnection
  1227  // API call, and error handling.
  1228  //
  1229  // This method is useful when you want to inject custom logic or configuration
  1230  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1231  //
  1232  //
  1233  //    // Example sending a request using the DisassociateExternalConnectionRequest method.
  1234  //    req, resp := client.DisassociateExternalConnectionRequest(params)
  1235  //
  1236  //    err := req.Send()
  1237  //    if err == nil { // resp is now filled
  1238  //        fmt.Println(resp)
  1239  //    }
  1240  //
  1241  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DisassociateExternalConnection
  1242  func (c *CodeArtifact) DisassociateExternalConnectionRequest(input *DisassociateExternalConnectionInput) (req *request.Request, output *DisassociateExternalConnectionOutput) {
  1243  	op := &request.Operation{
  1244  		Name:       opDisassociateExternalConnection,
  1245  		HTTPMethod: "DELETE",
  1246  		HTTPPath:   "/v1/repository/external-connection",
  1247  	}
  1248  
  1249  	if input == nil {
  1250  		input = &DisassociateExternalConnectionInput{}
  1251  	}
  1252  
  1253  	output = &DisassociateExternalConnectionOutput{}
  1254  	req = c.newRequest(op, input, output)
  1255  	return
  1256  }
  1257  
  1258  // DisassociateExternalConnection API operation for CodeArtifact.
  1259  //
  1260  // Removes an existing external connection from a repository.
  1261  //
  1262  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1263  // with awserr.Error's Code and Message methods to get detailed information about
  1264  // the error.
  1265  //
  1266  // See the AWS API reference guide for CodeArtifact's
  1267  // API operation DisassociateExternalConnection for usage and error information.
  1268  //
  1269  // Returned Error Types:
  1270  //   * AccessDeniedException
  1271  //   The operation did not succeed because of an unauthorized access attempt.
  1272  //
  1273  //   * ConflictException
  1274  //   The operation did not succeed because prerequisites are not met.
  1275  //
  1276  //   * InternalServerException
  1277  //   The operation did not succeed because of an error that occurred inside AWS
  1278  //   CodeArtifact.
  1279  //
  1280  //   * ResourceNotFoundException
  1281  //   The operation did not succeed because the resource requested is not found
  1282  //   in the service.
  1283  //
  1284  //   * ServiceQuotaExceededException
  1285  //   The operation did not succeed because it would have exceeded a service limit
  1286  //   for your account.
  1287  //
  1288  //   * ThrottlingException
  1289  //   The operation did not succeed because too many requests are sent to the service.
  1290  //
  1291  //   * ValidationException
  1292  //   The operation did not succeed because a parameter in the request was sent
  1293  //   with an invalid value.
  1294  //
  1295  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DisassociateExternalConnection
  1296  func (c *CodeArtifact) DisassociateExternalConnection(input *DisassociateExternalConnectionInput) (*DisassociateExternalConnectionOutput, error) {
  1297  	req, out := c.DisassociateExternalConnectionRequest(input)
  1298  	return out, req.Send()
  1299  }
  1300  
  1301  // DisassociateExternalConnectionWithContext is the same as DisassociateExternalConnection with the addition of
  1302  // the ability to pass a context and additional request options.
  1303  //
  1304  // See DisassociateExternalConnection for details on how to use this API operation.
  1305  //
  1306  // The context must be non-nil and will be used for request cancellation. If
  1307  // the context is nil a panic will occur. In the future the SDK may create
  1308  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1309  // for more information on using Contexts.
  1310  func (c *CodeArtifact) DisassociateExternalConnectionWithContext(ctx aws.Context, input *DisassociateExternalConnectionInput, opts ...request.Option) (*DisassociateExternalConnectionOutput, error) {
  1311  	req, out := c.DisassociateExternalConnectionRequest(input)
  1312  	req.SetContext(ctx)
  1313  	req.ApplyOptions(opts...)
  1314  	return out, req.Send()
  1315  }
  1316  
  1317  const opDisposePackageVersions = "DisposePackageVersions"
  1318  
  1319  // DisposePackageVersionsRequest generates a "aws/request.Request" representing the
  1320  // client's request for the DisposePackageVersions operation. The "output" return
  1321  // value will be populated with the request's response once the request completes
  1322  // successfully.
  1323  //
  1324  // Use "Send" method on the returned Request to send the API call to the service.
  1325  // the "output" return value is not valid until after Send returns without error.
  1326  //
  1327  // See DisposePackageVersions for more information on using the DisposePackageVersions
  1328  // API call, and error handling.
  1329  //
  1330  // This method is useful when you want to inject custom logic or configuration
  1331  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1332  //
  1333  //
  1334  //    // Example sending a request using the DisposePackageVersionsRequest method.
  1335  //    req, resp := client.DisposePackageVersionsRequest(params)
  1336  //
  1337  //    err := req.Send()
  1338  //    if err == nil { // resp is now filled
  1339  //        fmt.Println(resp)
  1340  //    }
  1341  //
  1342  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DisposePackageVersions
  1343  func (c *CodeArtifact) DisposePackageVersionsRequest(input *DisposePackageVersionsInput) (req *request.Request, output *DisposePackageVersionsOutput) {
  1344  	op := &request.Operation{
  1345  		Name:       opDisposePackageVersions,
  1346  		HTTPMethod: "POST",
  1347  		HTTPPath:   "/v1/package/versions/dispose",
  1348  	}
  1349  
  1350  	if input == nil {
  1351  		input = &DisposePackageVersionsInput{}
  1352  	}
  1353  
  1354  	output = &DisposePackageVersionsOutput{}
  1355  	req = c.newRequest(op, input, output)
  1356  	return
  1357  }
  1358  
  1359  // DisposePackageVersions API operation for CodeArtifact.
  1360  //
  1361  // Deletes the assets in package versions and sets the package versions' status
  1362  // to Disposed. A disposed package version cannot be restored in your repository
  1363  // because its assets are deleted.
  1364  //
  1365  // To view all disposed package versions in a repository, use ListPackageVersions
  1366  // (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackageVersions.html)
  1367  // and set the status (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackageVersions.html#API_ListPackageVersions_RequestSyntax)
  1368  // parameter to Disposed.
  1369  //
  1370  // To view information about a disposed package version, use DescribePackageVersion
  1371  // (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DescribePackageVersion.html).
  1372  //
  1373  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1374  // with awserr.Error's Code and Message methods to get detailed information about
  1375  // the error.
  1376  //
  1377  // See the AWS API reference guide for CodeArtifact's
  1378  // API operation DisposePackageVersions for usage and error information.
  1379  //
  1380  // Returned Error Types:
  1381  //   * AccessDeniedException
  1382  //   The operation did not succeed because of an unauthorized access attempt.
  1383  //
  1384  //   * ConflictException
  1385  //   The operation did not succeed because prerequisites are not met.
  1386  //
  1387  //   * InternalServerException
  1388  //   The operation did not succeed because of an error that occurred inside AWS
  1389  //   CodeArtifact.
  1390  //
  1391  //   * ResourceNotFoundException
  1392  //   The operation did not succeed because the resource requested is not found
  1393  //   in the service.
  1394  //
  1395  //   * ThrottlingException
  1396  //   The operation did not succeed because too many requests are sent to the service.
  1397  //
  1398  //   * ValidationException
  1399  //   The operation did not succeed because a parameter in the request was sent
  1400  //   with an invalid value.
  1401  //
  1402  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/DisposePackageVersions
  1403  func (c *CodeArtifact) DisposePackageVersions(input *DisposePackageVersionsInput) (*DisposePackageVersionsOutput, error) {
  1404  	req, out := c.DisposePackageVersionsRequest(input)
  1405  	return out, req.Send()
  1406  }
  1407  
  1408  // DisposePackageVersionsWithContext is the same as DisposePackageVersions with the addition of
  1409  // the ability to pass a context and additional request options.
  1410  //
  1411  // See DisposePackageVersions for details on how to use this API operation.
  1412  //
  1413  // The context must be non-nil and will be used for request cancellation. If
  1414  // the context is nil a panic will occur. In the future the SDK may create
  1415  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1416  // for more information on using Contexts.
  1417  func (c *CodeArtifact) DisposePackageVersionsWithContext(ctx aws.Context, input *DisposePackageVersionsInput, opts ...request.Option) (*DisposePackageVersionsOutput, error) {
  1418  	req, out := c.DisposePackageVersionsRequest(input)
  1419  	req.SetContext(ctx)
  1420  	req.ApplyOptions(opts...)
  1421  	return out, req.Send()
  1422  }
  1423  
  1424  const opGetAuthorizationToken = "GetAuthorizationToken"
  1425  
  1426  // GetAuthorizationTokenRequest generates a "aws/request.Request" representing the
  1427  // client's request for the GetAuthorizationToken operation. The "output" return
  1428  // value will be populated with the request's response once the request completes
  1429  // successfully.
  1430  //
  1431  // Use "Send" method on the returned Request to send the API call to the service.
  1432  // the "output" return value is not valid until after Send returns without error.
  1433  //
  1434  // See GetAuthorizationToken for more information on using the GetAuthorizationToken
  1435  // API call, and error handling.
  1436  //
  1437  // This method is useful when you want to inject custom logic or configuration
  1438  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1439  //
  1440  //
  1441  //    // Example sending a request using the GetAuthorizationTokenRequest method.
  1442  //    req, resp := client.GetAuthorizationTokenRequest(params)
  1443  //
  1444  //    err := req.Send()
  1445  //    if err == nil { // resp is now filled
  1446  //        fmt.Println(resp)
  1447  //    }
  1448  //
  1449  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetAuthorizationToken
  1450  func (c *CodeArtifact) GetAuthorizationTokenRequest(input *GetAuthorizationTokenInput) (req *request.Request, output *GetAuthorizationTokenOutput) {
  1451  	op := &request.Operation{
  1452  		Name:       opGetAuthorizationToken,
  1453  		HTTPMethod: "POST",
  1454  		HTTPPath:   "/v1/authorization-token",
  1455  	}
  1456  
  1457  	if input == nil {
  1458  		input = &GetAuthorizationTokenInput{}
  1459  	}
  1460  
  1461  	output = &GetAuthorizationTokenOutput{}
  1462  	req = c.newRequest(op, input, output)
  1463  	return
  1464  }
  1465  
  1466  // GetAuthorizationToken API operation for CodeArtifact.
  1467  //
  1468  // Generates a temporary authorization token for accessing repositories in the
  1469  // domain. This API requires the codeartifact:GetAuthorizationToken and sts:GetServiceBearerToken
  1470  // permissions. For more information about authorization tokens, see AWS CodeArtifact
  1471  // authentication and tokens (https://docs.aws.amazon.com/codeartifact/latest/ug/tokens-authentication.html).
  1472  //
  1473  // CodeArtifact authorization tokens are valid for a period of 12 hours when
  1474  // created with the login command. You can call login periodically to refresh
  1475  // the token. When you create an authorization token with the GetAuthorizationToken
  1476  // API, you can set a custom authorization period, up to a maximum of 12 hours,
  1477  // with the durationSeconds parameter.
  1478  //
  1479  // The authorization period begins after login or GetAuthorizationToken is called.
  1480  // If login or GetAuthorizationToken is called while assuming a role, the token
  1481  // lifetime is independent of the maximum session duration of the role. For
  1482  // example, if you call sts assume-role and specify a session duration of 15
  1483  // minutes, then generate a CodeArtifact authorization token, the token will
  1484  // be valid for the full authorization period even though this is longer than
  1485  // the 15-minute session duration.
  1486  //
  1487  // See Using IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html)
  1488  // for more information on controlling session duration.
  1489  //
  1490  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1491  // with awserr.Error's Code and Message methods to get detailed information about
  1492  // the error.
  1493  //
  1494  // See the AWS API reference guide for CodeArtifact's
  1495  // API operation GetAuthorizationToken for usage and error information.
  1496  //
  1497  // Returned Error Types:
  1498  //   * AccessDeniedException
  1499  //   The operation did not succeed because of an unauthorized access attempt.
  1500  //
  1501  //   * InternalServerException
  1502  //   The operation did not succeed because of an error that occurred inside AWS
  1503  //   CodeArtifact.
  1504  //
  1505  //   * ResourceNotFoundException
  1506  //   The operation did not succeed because the resource requested is not found
  1507  //   in the service.
  1508  //
  1509  //   * ThrottlingException
  1510  //   The operation did not succeed because too many requests are sent to the service.
  1511  //
  1512  //   * ValidationException
  1513  //   The operation did not succeed because a parameter in the request was sent
  1514  //   with an invalid value.
  1515  //
  1516  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetAuthorizationToken
  1517  func (c *CodeArtifact) GetAuthorizationToken(input *GetAuthorizationTokenInput) (*GetAuthorizationTokenOutput, error) {
  1518  	req, out := c.GetAuthorizationTokenRequest(input)
  1519  	return out, req.Send()
  1520  }
  1521  
  1522  // GetAuthorizationTokenWithContext is the same as GetAuthorizationToken with the addition of
  1523  // the ability to pass a context and additional request options.
  1524  //
  1525  // See GetAuthorizationToken for details on how to use this API operation.
  1526  //
  1527  // The context must be non-nil and will be used for request cancellation. If
  1528  // the context is nil a panic will occur. In the future the SDK may create
  1529  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1530  // for more information on using Contexts.
  1531  func (c *CodeArtifact) GetAuthorizationTokenWithContext(ctx aws.Context, input *GetAuthorizationTokenInput, opts ...request.Option) (*GetAuthorizationTokenOutput, error) {
  1532  	req, out := c.GetAuthorizationTokenRequest(input)
  1533  	req.SetContext(ctx)
  1534  	req.ApplyOptions(opts...)
  1535  	return out, req.Send()
  1536  }
  1537  
  1538  const opGetDomainPermissionsPolicy = "GetDomainPermissionsPolicy"
  1539  
  1540  // GetDomainPermissionsPolicyRequest generates a "aws/request.Request" representing the
  1541  // client's request for the GetDomainPermissionsPolicy operation. The "output" return
  1542  // value will be populated with the request's response once the request completes
  1543  // successfully.
  1544  //
  1545  // Use "Send" method on the returned Request to send the API call to the service.
  1546  // the "output" return value is not valid until after Send returns without error.
  1547  //
  1548  // See GetDomainPermissionsPolicy for more information on using the GetDomainPermissionsPolicy
  1549  // API call, and error handling.
  1550  //
  1551  // This method is useful when you want to inject custom logic or configuration
  1552  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1553  //
  1554  //
  1555  //    // Example sending a request using the GetDomainPermissionsPolicyRequest method.
  1556  //    req, resp := client.GetDomainPermissionsPolicyRequest(params)
  1557  //
  1558  //    err := req.Send()
  1559  //    if err == nil { // resp is now filled
  1560  //        fmt.Println(resp)
  1561  //    }
  1562  //
  1563  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetDomainPermissionsPolicy
  1564  func (c *CodeArtifact) GetDomainPermissionsPolicyRequest(input *GetDomainPermissionsPolicyInput) (req *request.Request, output *GetDomainPermissionsPolicyOutput) {
  1565  	op := &request.Operation{
  1566  		Name:       opGetDomainPermissionsPolicy,
  1567  		HTTPMethod: "GET",
  1568  		HTTPPath:   "/v1/domain/permissions/policy",
  1569  	}
  1570  
  1571  	if input == nil {
  1572  		input = &GetDomainPermissionsPolicyInput{}
  1573  	}
  1574  
  1575  	output = &GetDomainPermissionsPolicyOutput{}
  1576  	req = c.newRequest(op, input, output)
  1577  	return
  1578  }
  1579  
  1580  // GetDomainPermissionsPolicy API operation for CodeArtifact.
  1581  //
  1582  // Returns the resource policy attached to the specified domain.
  1583  //
  1584  // The policy is a resource-based policy, not an identity-based policy. For
  1585  // more information, see Identity-based policies and resource-based policies
  1586  // (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)
  1587  // in the AWS Identity and Access Management User Guide.
  1588  //
  1589  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1590  // with awserr.Error's Code and Message methods to get detailed information about
  1591  // the error.
  1592  //
  1593  // See the AWS API reference guide for CodeArtifact's
  1594  // API operation GetDomainPermissionsPolicy for usage and error information.
  1595  //
  1596  // Returned Error Types:
  1597  //   * AccessDeniedException
  1598  //   The operation did not succeed because of an unauthorized access attempt.
  1599  //
  1600  //   * InternalServerException
  1601  //   The operation did not succeed because of an error that occurred inside AWS
  1602  //   CodeArtifact.
  1603  //
  1604  //   * ResourceNotFoundException
  1605  //   The operation did not succeed because the resource requested is not found
  1606  //   in the service.
  1607  //
  1608  //   * ThrottlingException
  1609  //   The operation did not succeed because too many requests are sent to the service.
  1610  //
  1611  //   * ValidationException
  1612  //   The operation did not succeed because a parameter in the request was sent
  1613  //   with an invalid value.
  1614  //
  1615  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetDomainPermissionsPolicy
  1616  func (c *CodeArtifact) GetDomainPermissionsPolicy(input *GetDomainPermissionsPolicyInput) (*GetDomainPermissionsPolicyOutput, error) {
  1617  	req, out := c.GetDomainPermissionsPolicyRequest(input)
  1618  	return out, req.Send()
  1619  }
  1620  
  1621  // GetDomainPermissionsPolicyWithContext is the same as GetDomainPermissionsPolicy with the addition of
  1622  // the ability to pass a context and additional request options.
  1623  //
  1624  // See GetDomainPermissionsPolicy for details on how to use this API operation.
  1625  //
  1626  // The context must be non-nil and will be used for request cancellation. If
  1627  // the context is nil a panic will occur. In the future the SDK may create
  1628  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1629  // for more information on using Contexts.
  1630  func (c *CodeArtifact) GetDomainPermissionsPolicyWithContext(ctx aws.Context, input *GetDomainPermissionsPolicyInput, opts ...request.Option) (*GetDomainPermissionsPolicyOutput, error) {
  1631  	req, out := c.GetDomainPermissionsPolicyRequest(input)
  1632  	req.SetContext(ctx)
  1633  	req.ApplyOptions(opts...)
  1634  	return out, req.Send()
  1635  }
  1636  
  1637  const opGetPackageVersionAsset = "GetPackageVersionAsset"
  1638  
  1639  // GetPackageVersionAssetRequest generates a "aws/request.Request" representing the
  1640  // client's request for the GetPackageVersionAsset operation. The "output" return
  1641  // value will be populated with the request's response once the request completes
  1642  // successfully.
  1643  //
  1644  // Use "Send" method on the returned Request to send the API call to the service.
  1645  // the "output" return value is not valid until after Send returns without error.
  1646  //
  1647  // See GetPackageVersionAsset for more information on using the GetPackageVersionAsset
  1648  // API call, and error handling.
  1649  //
  1650  // This method is useful when you want to inject custom logic or configuration
  1651  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1652  //
  1653  //
  1654  //    // Example sending a request using the GetPackageVersionAssetRequest method.
  1655  //    req, resp := client.GetPackageVersionAssetRequest(params)
  1656  //
  1657  //    err := req.Send()
  1658  //    if err == nil { // resp is now filled
  1659  //        fmt.Println(resp)
  1660  //    }
  1661  //
  1662  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetPackageVersionAsset
  1663  func (c *CodeArtifact) GetPackageVersionAssetRequest(input *GetPackageVersionAssetInput) (req *request.Request, output *GetPackageVersionAssetOutput) {
  1664  	op := &request.Operation{
  1665  		Name:       opGetPackageVersionAsset,
  1666  		HTTPMethod: "GET",
  1667  		HTTPPath:   "/v1/package/version/asset",
  1668  	}
  1669  
  1670  	if input == nil {
  1671  		input = &GetPackageVersionAssetInput{}
  1672  	}
  1673  
  1674  	output = &GetPackageVersionAssetOutput{}
  1675  	req = c.newRequest(op, input, output)
  1676  	return
  1677  }
  1678  
  1679  // GetPackageVersionAsset API operation for CodeArtifact.
  1680  //
  1681  // Returns an asset (or file) that is in a package. For example, for a Maven
  1682  // package version, use GetPackageVersionAsset to download a JAR file, a POM
  1683  // file, or any other assets in the package version.
  1684  //
  1685  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1686  // with awserr.Error's Code and Message methods to get detailed information about
  1687  // the error.
  1688  //
  1689  // See the AWS API reference guide for CodeArtifact's
  1690  // API operation GetPackageVersionAsset for usage and error information.
  1691  //
  1692  // Returned Error Types:
  1693  //   * AccessDeniedException
  1694  //   The operation did not succeed because of an unauthorized access attempt.
  1695  //
  1696  //   * InternalServerException
  1697  //   The operation did not succeed because of an error that occurred inside AWS
  1698  //   CodeArtifact.
  1699  //
  1700  //   * ResourceNotFoundException
  1701  //   The operation did not succeed because the resource requested is not found
  1702  //   in the service.
  1703  //
  1704  //   * ThrottlingException
  1705  //   The operation did not succeed because too many requests are sent to the service.
  1706  //
  1707  //   * ValidationException
  1708  //   The operation did not succeed because a parameter in the request was sent
  1709  //   with an invalid value.
  1710  //
  1711  //   * ConflictException
  1712  //   The operation did not succeed because prerequisites are not met.
  1713  //
  1714  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetPackageVersionAsset
  1715  func (c *CodeArtifact) GetPackageVersionAsset(input *GetPackageVersionAssetInput) (*GetPackageVersionAssetOutput, error) {
  1716  	req, out := c.GetPackageVersionAssetRequest(input)
  1717  	return out, req.Send()
  1718  }
  1719  
  1720  // GetPackageVersionAssetWithContext is the same as GetPackageVersionAsset with the addition of
  1721  // the ability to pass a context and additional request options.
  1722  //
  1723  // See GetPackageVersionAsset for details on how to use this API operation.
  1724  //
  1725  // The context must be non-nil and will be used for request cancellation. If
  1726  // the context is nil a panic will occur. In the future the SDK may create
  1727  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1728  // for more information on using Contexts.
  1729  func (c *CodeArtifact) GetPackageVersionAssetWithContext(ctx aws.Context, input *GetPackageVersionAssetInput, opts ...request.Option) (*GetPackageVersionAssetOutput, error) {
  1730  	req, out := c.GetPackageVersionAssetRequest(input)
  1731  	req.SetContext(ctx)
  1732  	req.ApplyOptions(opts...)
  1733  	return out, req.Send()
  1734  }
  1735  
  1736  const opGetPackageVersionReadme = "GetPackageVersionReadme"
  1737  
  1738  // GetPackageVersionReadmeRequest generates a "aws/request.Request" representing the
  1739  // client's request for the GetPackageVersionReadme operation. The "output" return
  1740  // value will be populated with the request's response once the request completes
  1741  // successfully.
  1742  //
  1743  // Use "Send" method on the returned Request to send the API call to the service.
  1744  // the "output" return value is not valid until after Send returns without error.
  1745  //
  1746  // See GetPackageVersionReadme for more information on using the GetPackageVersionReadme
  1747  // API call, and error handling.
  1748  //
  1749  // This method is useful when you want to inject custom logic or configuration
  1750  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1751  //
  1752  //
  1753  //    // Example sending a request using the GetPackageVersionReadmeRequest method.
  1754  //    req, resp := client.GetPackageVersionReadmeRequest(params)
  1755  //
  1756  //    err := req.Send()
  1757  //    if err == nil { // resp is now filled
  1758  //        fmt.Println(resp)
  1759  //    }
  1760  //
  1761  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetPackageVersionReadme
  1762  func (c *CodeArtifact) GetPackageVersionReadmeRequest(input *GetPackageVersionReadmeInput) (req *request.Request, output *GetPackageVersionReadmeOutput) {
  1763  	op := &request.Operation{
  1764  		Name:       opGetPackageVersionReadme,
  1765  		HTTPMethod: "GET",
  1766  		HTTPPath:   "/v1/package/version/readme",
  1767  	}
  1768  
  1769  	if input == nil {
  1770  		input = &GetPackageVersionReadmeInput{}
  1771  	}
  1772  
  1773  	output = &GetPackageVersionReadmeOutput{}
  1774  	req = c.newRequest(op, input, output)
  1775  	return
  1776  }
  1777  
  1778  // GetPackageVersionReadme API operation for CodeArtifact.
  1779  //
  1780  // Gets the readme file or descriptive text for a package version. For packages
  1781  // that do not contain a readme file, CodeArtifact extracts a description from
  1782  // a metadata file. For example, from the <description> element in the pom.xml
  1783  // file of a Maven package.
  1784  //
  1785  // The returned text might contain formatting. For example, it might contain
  1786  // formatting for Markdown or reStructuredText.
  1787  //
  1788  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1789  // with awserr.Error's Code and Message methods to get detailed information about
  1790  // the error.
  1791  //
  1792  // See the AWS API reference guide for CodeArtifact's
  1793  // API operation GetPackageVersionReadme for usage and error information.
  1794  //
  1795  // Returned Error Types:
  1796  //   * AccessDeniedException
  1797  //   The operation did not succeed because of an unauthorized access attempt.
  1798  //
  1799  //   * InternalServerException
  1800  //   The operation did not succeed because of an error that occurred inside AWS
  1801  //   CodeArtifact.
  1802  //
  1803  //   * ResourceNotFoundException
  1804  //   The operation did not succeed because the resource requested is not found
  1805  //   in the service.
  1806  //
  1807  //   * ThrottlingException
  1808  //   The operation did not succeed because too many requests are sent to the service.
  1809  //
  1810  //   * ValidationException
  1811  //   The operation did not succeed because a parameter in the request was sent
  1812  //   with an invalid value.
  1813  //
  1814  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetPackageVersionReadme
  1815  func (c *CodeArtifact) GetPackageVersionReadme(input *GetPackageVersionReadmeInput) (*GetPackageVersionReadmeOutput, error) {
  1816  	req, out := c.GetPackageVersionReadmeRequest(input)
  1817  	return out, req.Send()
  1818  }
  1819  
  1820  // GetPackageVersionReadmeWithContext is the same as GetPackageVersionReadme with the addition of
  1821  // the ability to pass a context and additional request options.
  1822  //
  1823  // See GetPackageVersionReadme for details on how to use this API operation.
  1824  //
  1825  // The context must be non-nil and will be used for request cancellation. If
  1826  // the context is nil a panic will occur. In the future the SDK may create
  1827  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1828  // for more information on using Contexts.
  1829  func (c *CodeArtifact) GetPackageVersionReadmeWithContext(ctx aws.Context, input *GetPackageVersionReadmeInput, opts ...request.Option) (*GetPackageVersionReadmeOutput, error) {
  1830  	req, out := c.GetPackageVersionReadmeRequest(input)
  1831  	req.SetContext(ctx)
  1832  	req.ApplyOptions(opts...)
  1833  	return out, req.Send()
  1834  }
  1835  
  1836  const opGetRepositoryEndpoint = "GetRepositoryEndpoint"
  1837  
  1838  // GetRepositoryEndpointRequest generates a "aws/request.Request" representing the
  1839  // client's request for the GetRepositoryEndpoint operation. The "output" return
  1840  // value will be populated with the request's response once the request completes
  1841  // successfully.
  1842  //
  1843  // Use "Send" method on the returned Request to send the API call to the service.
  1844  // the "output" return value is not valid until after Send returns without error.
  1845  //
  1846  // See GetRepositoryEndpoint for more information on using the GetRepositoryEndpoint
  1847  // API call, and error handling.
  1848  //
  1849  // This method is useful when you want to inject custom logic or configuration
  1850  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1851  //
  1852  //
  1853  //    // Example sending a request using the GetRepositoryEndpointRequest method.
  1854  //    req, resp := client.GetRepositoryEndpointRequest(params)
  1855  //
  1856  //    err := req.Send()
  1857  //    if err == nil { // resp is now filled
  1858  //        fmt.Println(resp)
  1859  //    }
  1860  //
  1861  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetRepositoryEndpoint
  1862  func (c *CodeArtifact) GetRepositoryEndpointRequest(input *GetRepositoryEndpointInput) (req *request.Request, output *GetRepositoryEndpointOutput) {
  1863  	op := &request.Operation{
  1864  		Name:       opGetRepositoryEndpoint,
  1865  		HTTPMethod: "GET",
  1866  		HTTPPath:   "/v1/repository/endpoint",
  1867  	}
  1868  
  1869  	if input == nil {
  1870  		input = &GetRepositoryEndpointInput{}
  1871  	}
  1872  
  1873  	output = &GetRepositoryEndpointOutput{}
  1874  	req = c.newRequest(op, input, output)
  1875  	return
  1876  }
  1877  
  1878  // GetRepositoryEndpoint API operation for CodeArtifact.
  1879  //
  1880  // Returns the endpoint of a repository for a specific package format. A repository
  1881  // has one endpoint for each package format:
  1882  //
  1883  //    * npm
  1884  //
  1885  //    * pypi
  1886  //
  1887  //    * maven
  1888  //
  1889  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1890  // with awserr.Error's Code and Message methods to get detailed information about
  1891  // the error.
  1892  //
  1893  // See the AWS API reference guide for CodeArtifact's
  1894  // API operation GetRepositoryEndpoint for usage and error information.
  1895  //
  1896  // Returned Error Types:
  1897  //   * AccessDeniedException
  1898  //   The operation did not succeed because of an unauthorized access attempt.
  1899  //
  1900  //   * InternalServerException
  1901  //   The operation did not succeed because of an error that occurred inside AWS
  1902  //   CodeArtifact.
  1903  //
  1904  //   * ResourceNotFoundException
  1905  //   The operation did not succeed because the resource requested is not found
  1906  //   in the service.
  1907  //
  1908  //   * ThrottlingException
  1909  //   The operation did not succeed because too many requests are sent to the service.
  1910  //
  1911  //   * ValidationException
  1912  //   The operation did not succeed because a parameter in the request was sent
  1913  //   with an invalid value.
  1914  //
  1915  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetRepositoryEndpoint
  1916  func (c *CodeArtifact) GetRepositoryEndpoint(input *GetRepositoryEndpointInput) (*GetRepositoryEndpointOutput, error) {
  1917  	req, out := c.GetRepositoryEndpointRequest(input)
  1918  	return out, req.Send()
  1919  }
  1920  
  1921  // GetRepositoryEndpointWithContext is the same as GetRepositoryEndpoint with the addition of
  1922  // the ability to pass a context and additional request options.
  1923  //
  1924  // See GetRepositoryEndpoint for details on how to use this API operation.
  1925  //
  1926  // The context must be non-nil and will be used for request cancellation. If
  1927  // the context is nil a panic will occur. In the future the SDK may create
  1928  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1929  // for more information on using Contexts.
  1930  func (c *CodeArtifact) GetRepositoryEndpointWithContext(ctx aws.Context, input *GetRepositoryEndpointInput, opts ...request.Option) (*GetRepositoryEndpointOutput, error) {
  1931  	req, out := c.GetRepositoryEndpointRequest(input)
  1932  	req.SetContext(ctx)
  1933  	req.ApplyOptions(opts...)
  1934  	return out, req.Send()
  1935  }
  1936  
  1937  const opGetRepositoryPermissionsPolicy = "GetRepositoryPermissionsPolicy"
  1938  
  1939  // GetRepositoryPermissionsPolicyRequest generates a "aws/request.Request" representing the
  1940  // client's request for the GetRepositoryPermissionsPolicy operation. The "output" return
  1941  // value will be populated with the request's response once the request completes
  1942  // successfully.
  1943  //
  1944  // Use "Send" method on the returned Request to send the API call to the service.
  1945  // the "output" return value is not valid until after Send returns without error.
  1946  //
  1947  // See GetRepositoryPermissionsPolicy for more information on using the GetRepositoryPermissionsPolicy
  1948  // API call, and error handling.
  1949  //
  1950  // This method is useful when you want to inject custom logic or configuration
  1951  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1952  //
  1953  //
  1954  //    // Example sending a request using the GetRepositoryPermissionsPolicyRequest method.
  1955  //    req, resp := client.GetRepositoryPermissionsPolicyRequest(params)
  1956  //
  1957  //    err := req.Send()
  1958  //    if err == nil { // resp is now filled
  1959  //        fmt.Println(resp)
  1960  //    }
  1961  //
  1962  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetRepositoryPermissionsPolicy
  1963  func (c *CodeArtifact) GetRepositoryPermissionsPolicyRequest(input *GetRepositoryPermissionsPolicyInput) (req *request.Request, output *GetRepositoryPermissionsPolicyOutput) {
  1964  	op := &request.Operation{
  1965  		Name:       opGetRepositoryPermissionsPolicy,
  1966  		HTTPMethod: "GET",
  1967  		HTTPPath:   "/v1/repository/permissions/policy",
  1968  	}
  1969  
  1970  	if input == nil {
  1971  		input = &GetRepositoryPermissionsPolicyInput{}
  1972  	}
  1973  
  1974  	output = &GetRepositoryPermissionsPolicyOutput{}
  1975  	req = c.newRequest(op, input, output)
  1976  	return
  1977  }
  1978  
  1979  // GetRepositoryPermissionsPolicy API operation for CodeArtifact.
  1980  //
  1981  // Returns the resource policy that is set on a repository.
  1982  //
  1983  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1984  // with awserr.Error's Code and Message methods to get detailed information about
  1985  // the error.
  1986  //
  1987  // See the AWS API reference guide for CodeArtifact's
  1988  // API operation GetRepositoryPermissionsPolicy for usage and error information.
  1989  //
  1990  // Returned Error Types:
  1991  //   * AccessDeniedException
  1992  //   The operation did not succeed because of an unauthorized access attempt.
  1993  //
  1994  //   * InternalServerException
  1995  //   The operation did not succeed because of an error that occurred inside AWS
  1996  //   CodeArtifact.
  1997  //
  1998  //   * ResourceNotFoundException
  1999  //   The operation did not succeed because the resource requested is not found
  2000  //   in the service.
  2001  //
  2002  //   * ThrottlingException
  2003  //   The operation did not succeed because too many requests are sent to the service.
  2004  //
  2005  //   * ValidationException
  2006  //   The operation did not succeed because a parameter in the request was sent
  2007  //   with an invalid value.
  2008  //
  2009  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/GetRepositoryPermissionsPolicy
  2010  func (c *CodeArtifact) GetRepositoryPermissionsPolicy(input *GetRepositoryPermissionsPolicyInput) (*GetRepositoryPermissionsPolicyOutput, error) {
  2011  	req, out := c.GetRepositoryPermissionsPolicyRequest(input)
  2012  	return out, req.Send()
  2013  }
  2014  
  2015  // GetRepositoryPermissionsPolicyWithContext is the same as GetRepositoryPermissionsPolicy with the addition of
  2016  // the ability to pass a context and additional request options.
  2017  //
  2018  // See GetRepositoryPermissionsPolicy for details on how to use this API operation.
  2019  //
  2020  // The context must be non-nil and will be used for request cancellation. If
  2021  // the context is nil a panic will occur. In the future the SDK may create
  2022  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2023  // for more information on using Contexts.
  2024  func (c *CodeArtifact) GetRepositoryPermissionsPolicyWithContext(ctx aws.Context, input *GetRepositoryPermissionsPolicyInput, opts ...request.Option) (*GetRepositoryPermissionsPolicyOutput, error) {
  2025  	req, out := c.GetRepositoryPermissionsPolicyRequest(input)
  2026  	req.SetContext(ctx)
  2027  	req.ApplyOptions(opts...)
  2028  	return out, req.Send()
  2029  }
  2030  
  2031  const opListDomains = "ListDomains"
  2032  
  2033  // ListDomainsRequest generates a "aws/request.Request" representing the
  2034  // client's request for the ListDomains operation. The "output" return
  2035  // value will be populated with the request's response once the request completes
  2036  // successfully.
  2037  //
  2038  // Use "Send" method on the returned Request to send the API call to the service.
  2039  // the "output" return value is not valid until after Send returns without error.
  2040  //
  2041  // See ListDomains for more information on using the ListDomains
  2042  // API call, and error handling.
  2043  //
  2044  // This method is useful when you want to inject custom logic or configuration
  2045  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2046  //
  2047  //
  2048  //    // Example sending a request using the ListDomainsRequest method.
  2049  //    req, resp := client.ListDomainsRequest(params)
  2050  //
  2051  //    err := req.Send()
  2052  //    if err == nil { // resp is now filled
  2053  //        fmt.Println(resp)
  2054  //    }
  2055  //
  2056  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListDomains
  2057  func (c *CodeArtifact) ListDomainsRequest(input *ListDomainsInput) (req *request.Request, output *ListDomainsOutput) {
  2058  	op := &request.Operation{
  2059  		Name:       opListDomains,
  2060  		HTTPMethod: "POST",
  2061  		HTTPPath:   "/v1/domains",
  2062  		Paginator: &request.Paginator{
  2063  			InputTokens:     []string{"nextToken"},
  2064  			OutputTokens:    []string{"nextToken"},
  2065  			LimitToken:      "maxResults",
  2066  			TruncationToken: "",
  2067  		},
  2068  	}
  2069  
  2070  	if input == nil {
  2071  		input = &ListDomainsInput{}
  2072  	}
  2073  
  2074  	output = &ListDomainsOutput{}
  2075  	req = c.newRequest(op, input, output)
  2076  	return
  2077  }
  2078  
  2079  // ListDomains API operation for CodeArtifact.
  2080  //
  2081  // Returns a list of DomainSummary (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionDescription.html)
  2082  // objects for all domains owned by the AWS account that makes this call. Each
  2083  // returned DomainSummary object contains information about a domain.
  2084  //
  2085  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2086  // with awserr.Error's Code and Message methods to get detailed information about
  2087  // the error.
  2088  //
  2089  // See the AWS API reference guide for CodeArtifact's
  2090  // API operation ListDomains for usage and error information.
  2091  //
  2092  // Returned Error Types:
  2093  //   * AccessDeniedException
  2094  //   The operation did not succeed because of an unauthorized access attempt.
  2095  //
  2096  //   * InternalServerException
  2097  //   The operation did not succeed because of an error that occurred inside AWS
  2098  //   CodeArtifact.
  2099  //
  2100  //   * ThrottlingException
  2101  //   The operation did not succeed because too many requests are sent to the service.
  2102  //
  2103  //   * ValidationException
  2104  //   The operation did not succeed because a parameter in the request was sent
  2105  //   with an invalid value.
  2106  //
  2107  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListDomains
  2108  func (c *CodeArtifact) ListDomains(input *ListDomainsInput) (*ListDomainsOutput, error) {
  2109  	req, out := c.ListDomainsRequest(input)
  2110  	return out, req.Send()
  2111  }
  2112  
  2113  // ListDomainsWithContext is the same as ListDomains with the addition of
  2114  // the ability to pass a context and additional request options.
  2115  //
  2116  // See ListDomains for details on how to use this API operation.
  2117  //
  2118  // The context must be non-nil and will be used for request cancellation. If
  2119  // the context is nil a panic will occur. In the future the SDK may create
  2120  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2121  // for more information on using Contexts.
  2122  func (c *CodeArtifact) ListDomainsWithContext(ctx aws.Context, input *ListDomainsInput, opts ...request.Option) (*ListDomainsOutput, error) {
  2123  	req, out := c.ListDomainsRequest(input)
  2124  	req.SetContext(ctx)
  2125  	req.ApplyOptions(opts...)
  2126  	return out, req.Send()
  2127  }
  2128  
  2129  // ListDomainsPages iterates over the pages of a ListDomains operation,
  2130  // calling the "fn" function with the response data for each page. To stop
  2131  // iterating, return false from the fn function.
  2132  //
  2133  // See ListDomains method for more information on how to use this operation.
  2134  //
  2135  // Note: This operation can generate multiple requests to a service.
  2136  //
  2137  //    // Example iterating over at most 3 pages of a ListDomains operation.
  2138  //    pageNum := 0
  2139  //    err := client.ListDomainsPages(params,
  2140  //        func(page *codeartifact.ListDomainsOutput, lastPage bool) bool {
  2141  //            pageNum++
  2142  //            fmt.Println(page)
  2143  //            return pageNum <= 3
  2144  //        })
  2145  //
  2146  func (c *CodeArtifact) ListDomainsPages(input *ListDomainsInput, fn func(*ListDomainsOutput, bool) bool) error {
  2147  	return c.ListDomainsPagesWithContext(aws.BackgroundContext(), input, fn)
  2148  }
  2149  
  2150  // ListDomainsPagesWithContext same as ListDomainsPages except
  2151  // it takes a Context and allows setting request options on the pages.
  2152  //
  2153  // The context must be non-nil and will be used for request cancellation. If
  2154  // the context is nil a panic will occur. In the future the SDK may create
  2155  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2156  // for more information on using Contexts.
  2157  func (c *CodeArtifact) ListDomainsPagesWithContext(ctx aws.Context, input *ListDomainsInput, fn func(*ListDomainsOutput, bool) bool, opts ...request.Option) error {
  2158  	p := request.Pagination{
  2159  		NewRequest: func() (*request.Request, error) {
  2160  			var inCpy *ListDomainsInput
  2161  			if input != nil {
  2162  				tmp := *input
  2163  				inCpy = &tmp
  2164  			}
  2165  			req, _ := c.ListDomainsRequest(inCpy)
  2166  			req.SetContext(ctx)
  2167  			req.ApplyOptions(opts...)
  2168  			return req, nil
  2169  		},
  2170  	}
  2171  
  2172  	for p.Next() {
  2173  		if !fn(p.Page().(*ListDomainsOutput), !p.HasNextPage()) {
  2174  			break
  2175  		}
  2176  	}
  2177  
  2178  	return p.Err()
  2179  }
  2180  
  2181  const opListPackageVersionAssets = "ListPackageVersionAssets"
  2182  
  2183  // ListPackageVersionAssetsRequest generates a "aws/request.Request" representing the
  2184  // client's request for the ListPackageVersionAssets operation. The "output" return
  2185  // value will be populated with the request's response once the request completes
  2186  // successfully.
  2187  //
  2188  // Use "Send" method on the returned Request to send the API call to the service.
  2189  // the "output" return value is not valid until after Send returns without error.
  2190  //
  2191  // See ListPackageVersionAssets for more information on using the ListPackageVersionAssets
  2192  // API call, and error handling.
  2193  //
  2194  // This method is useful when you want to inject custom logic or configuration
  2195  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2196  //
  2197  //
  2198  //    // Example sending a request using the ListPackageVersionAssetsRequest method.
  2199  //    req, resp := client.ListPackageVersionAssetsRequest(params)
  2200  //
  2201  //    err := req.Send()
  2202  //    if err == nil { // resp is now filled
  2203  //        fmt.Println(resp)
  2204  //    }
  2205  //
  2206  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListPackageVersionAssets
  2207  func (c *CodeArtifact) ListPackageVersionAssetsRequest(input *ListPackageVersionAssetsInput) (req *request.Request, output *ListPackageVersionAssetsOutput) {
  2208  	op := &request.Operation{
  2209  		Name:       opListPackageVersionAssets,
  2210  		HTTPMethod: "POST",
  2211  		HTTPPath:   "/v1/package/version/assets",
  2212  		Paginator: &request.Paginator{
  2213  			InputTokens:     []string{"nextToken"},
  2214  			OutputTokens:    []string{"nextToken"},
  2215  			LimitToken:      "maxResults",
  2216  			TruncationToken: "",
  2217  		},
  2218  	}
  2219  
  2220  	if input == nil {
  2221  		input = &ListPackageVersionAssetsInput{}
  2222  	}
  2223  
  2224  	output = &ListPackageVersionAssetsOutput{}
  2225  	req = c.newRequest(op, input, output)
  2226  	return
  2227  }
  2228  
  2229  // ListPackageVersionAssets API operation for CodeArtifact.
  2230  //
  2231  // Returns a list of AssetSummary (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_AssetSummary.html)
  2232  // objects for assets in a package version.
  2233  //
  2234  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2235  // with awserr.Error's Code and Message methods to get detailed information about
  2236  // the error.
  2237  //
  2238  // See the AWS API reference guide for CodeArtifact's
  2239  // API operation ListPackageVersionAssets for usage and error information.
  2240  //
  2241  // Returned Error Types:
  2242  //   * AccessDeniedException
  2243  //   The operation did not succeed because of an unauthorized access attempt.
  2244  //
  2245  //   * InternalServerException
  2246  //   The operation did not succeed because of an error that occurred inside AWS
  2247  //   CodeArtifact.
  2248  //
  2249  //   * ResourceNotFoundException
  2250  //   The operation did not succeed because the resource requested is not found
  2251  //   in the service.
  2252  //
  2253  //   * ThrottlingException
  2254  //   The operation did not succeed because too many requests are sent to the service.
  2255  //
  2256  //   * ValidationException
  2257  //   The operation did not succeed because a parameter in the request was sent
  2258  //   with an invalid value.
  2259  //
  2260  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListPackageVersionAssets
  2261  func (c *CodeArtifact) ListPackageVersionAssets(input *ListPackageVersionAssetsInput) (*ListPackageVersionAssetsOutput, error) {
  2262  	req, out := c.ListPackageVersionAssetsRequest(input)
  2263  	return out, req.Send()
  2264  }
  2265  
  2266  // ListPackageVersionAssetsWithContext is the same as ListPackageVersionAssets with the addition of
  2267  // the ability to pass a context and additional request options.
  2268  //
  2269  // See ListPackageVersionAssets for details on how to use this API operation.
  2270  //
  2271  // The context must be non-nil and will be used for request cancellation. If
  2272  // the context is nil a panic will occur. In the future the SDK may create
  2273  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2274  // for more information on using Contexts.
  2275  func (c *CodeArtifact) ListPackageVersionAssetsWithContext(ctx aws.Context, input *ListPackageVersionAssetsInput, opts ...request.Option) (*ListPackageVersionAssetsOutput, error) {
  2276  	req, out := c.ListPackageVersionAssetsRequest(input)
  2277  	req.SetContext(ctx)
  2278  	req.ApplyOptions(opts...)
  2279  	return out, req.Send()
  2280  }
  2281  
  2282  // ListPackageVersionAssetsPages iterates over the pages of a ListPackageVersionAssets operation,
  2283  // calling the "fn" function with the response data for each page. To stop
  2284  // iterating, return false from the fn function.
  2285  //
  2286  // See ListPackageVersionAssets method for more information on how to use this operation.
  2287  //
  2288  // Note: This operation can generate multiple requests to a service.
  2289  //
  2290  //    // Example iterating over at most 3 pages of a ListPackageVersionAssets operation.
  2291  //    pageNum := 0
  2292  //    err := client.ListPackageVersionAssetsPages(params,
  2293  //        func(page *codeartifact.ListPackageVersionAssetsOutput, lastPage bool) bool {
  2294  //            pageNum++
  2295  //            fmt.Println(page)
  2296  //            return pageNum <= 3
  2297  //        })
  2298  //
  2299  func (c *CodeArtifact) ListPackageVersionAssetsPages(input *ListPackageVersionAssetsInput, fn func(*ListPackageVersionAssetsOutput, bool) bool) error {
  2300  	return c.ListPackageVersionAssetsPagesWithContext(aws.BackgroundContext(), input, fn)
  2301  }
  2302  
  2303  // ListPackageVersionAssetsPagesWithContext same as ListPackageVersionAssetsPages except
  2304  // it takes a Context and allows setting request options on the pages.
  2305  //
  2306  // The context must be non-nil and will be used for request cancellation. If
  2307  // the context is nil a panic will occur. In the future the SDK may create
  2308  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2309  // for more information on using Contexts.
  2310  func (c *CodeArtifact) ListPackageVersionAssetsPagesWithContext(ctx aws.Context, input *ListPackageVersionAssetsInput, fn func(*ListPackageVersionAssetsOutput, bool) bool, opts ...request.Option) error {
  2311  	p := request.Pagination{
  2312  		NewRequest: func() (*request.Request, error) {
  2313  			var inCpy *ListPackageVersionAssetsInput
  2314  			if input != nil {
  2315  				tmp := *input
  2316  				inCpy = &tmp
  2317  			}
  2318  			req, _ := c.ListPackageVersionAssetsRequest(inCpy)
  2319  			req.SetContext(ctx)
  2320  			req.ApplyOptions(opts...)
  2321  			return req, nil
  2322  		},
  2323  	}
  2324  
  2325  	for p.Next() {
  2326  		if !fn(p.Page().(*ListPackageVersionAssetsOutput), !p.HasNextPage()) {
  2327  			break
  2328  		}
  2329  	}
  2330  
  2331  	return p.Err()
  2332  }
  2333  
  2334  const opListPackageVersionDependencies = "ListPackageVersionDependencies"
  2335  
  2336  // ListPackageVersionDependenciesRequest generates a "aws/request.Request" representing the
  2337  // client's request for the ListPackageVersionDependencies operation. The "output" return
  2338  // value will be populated with the request's response once the request completes
  2339  // successfully.
  2340  //
  2341  // Use "Send" method on the returned Request to send the API call to the service.
  2342  // the "output" return value is not valid until after Send returns without error.
  2343  //
  2344  // See ListPackageVersionDependencies for more information on using the ListPackageVersionDependencies
  2345  // API call, and error handling.
  2346  //
  2347  // This method is useful when you want to inject custom logic or configuration
  2348  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2349  //
  2350  //
  2351  //    // Example sending a request using the ListPackageVersionDependenciesRequest method.
  2352  //    req, resp := client.ListPackageVersionDependenciesRequest(params)
  2353  //
  2354  //    err := req.Send()
  2355  //    if err == nil { // resp is now filled
  2356  //        fmt.Println(resp)
  2357  //    }
  2358  //
  2359  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListPackageVersionDependencies
  2360  func (c *CodeArtifact) ListPackageVersionDependenciesRequest(input *ListPackageVersionDependenciesInput) (req *request.Request, output *ListPackageVersionDependenciesOutput) {
  2361  	op := &request.Operation{
  2362  		Name:       opListPackageVersionDependencies,
  2363  		HTTPMethod: "POST",
  2364  		HTTPPath:   "/v1/package/version/dependencies",
  2365  	}
  2366  
  2367  	if input == nil {
  2368  		input = &ListPackageVersionDependenciesInput{}
  2369  	}
  2370  
  2371  	output = &ListPackageVersionDependenciesOutput{}
  2372  	req = c.newRequest(op, input, output)
  2373  	return
  2374  }
  2375  
  2376  // ListPackageVersionDependencies API operation for CodeArtifact.
  2377  //
  2378  // Returns the direct dependencies for a package version. The dependencies are
  2379  // returned as PackageDependency (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageDependency.html)
  2380  // objects. CodeArtifact extracts the dependencies for a package version from
  2381  // the metadata file for the package format (for example, the package.json file
  2382  // for npm packages and the pom.xml file for Maven). Any package version dependencies
  2383  // that are not listed in the configuration file are not returned.
  2384  //
  2385  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2386  // with awserr.Error's Code and Message methods to get detailed information about
  2387  // the error.
  2388  //
  2389  // See the AWS API reference guide for CodeArtifact's
  2390  // API operation ListPackageVersionDependencies for usage and error information.
  2391  //
  2392  // Returned Error Types:
  2393  //   * AccessDeniedException
  2394  //   The operation did not succeed because of an unauthorized access attempt.
  2395  //
  2396  //   * InternalServerException
  2397  //   The operation did not succeed because of an error that occurred inside AWS
  2398  //   CodeArtifact.
  2399  //
  2400  //   * ResourceNotFoundException
  2401  //   The operation did not succeed because the resource requested is not found
  2402  //   in the service.
  2403  //
  2404  //   * ThrottlingException
  2405  //   The operation did not succeed because too many requests are sent to the service.
  2406  //
  2407  //   * ValidationException
  2408  //   The operation did not succeed because a parameter in the request was sent
  2409  //   with an invalid value.
  2410  //
  2411  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListPackageVersionDependencies
  2412  func (c *CodeArtifact) ListPackageVersionDependencies(input *ListPackageVersionDependenciesInput) (*ListPackageVersionDependenciesOutput, error) {
  2413  	req, out := c.ListPackageVersionDependenciesRequest(input)
  2414  	return out, req.Send()
  2415  }
  2416  
  2417  // ListPackageVersionDependenciesWithContext is the same as ListPackageVersionDependencies with the addition of
  2418  // the ability to pass a context and additional request options.
  2419  //
  2420  // See ListPackageVersionDependencies for details on how to use this API operation.
  2421  //
  2422  // The context must be non-nil and will be used for request cancellation. If
  2423  // the context is nil a panic will occur. In the future the SDK may create
  2424  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2425  // for more information on using Contexts.
  2426  func (c *CodeArtifact) ListPackageVersionDependenciesWithContext(ctx aws.Context, input *ListPackageVersionDependenciesInput, opts ...request.Option) (*ListPackageVersionDependenciesOutput, error) {
  2427  	req, out := c.ListPackageVersionDependenciesRequest(input)
  2428  	req.SetContext(ctx)
  2429  	req.ApplyOptions(opts...)
  2430  	return out, req.Send()
  2431  }
  2432  
  2433  const opListPackageVersions = "ListPackageVersions"
  2434  
  2435  // ListPackageVersionsRequest generates a "aws/request.Request" representing the
  2436  // client's request for the ListPackageVersions operation. The "output" return
  2437  // value will be populated with the request's response once the request completes
  2438  // successfully.
  2439  //
  2440  // Use "Send" method on the returned Request to send the API call to the service.
  2441  // the "output" return value is not valid until after Send returns without error.
  2442  //
  2443  // See ListPackageVersions for more information on using the ListPackageVersions
  2444  // API call, and error handling.
  2445  //
  2446  // This method is useful when you want to inject custom logic or configuration
  2447  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2448  //
  2449  //
  2450  //    // Example sending a request using the ListPackageVersionsRequest method.
  2451  //    req, resp := client.ListPackageVersionsRequest(params)
  2452  //
  2453  //    err := req.Send()
  2454  //    if err == nil { // resp is now filled
  2455  //        fmt.Println(resp)
  2456  //    }
  2457  //
  2458  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListPackageVersions
  2459  func (c *CodeArtifact) ListPackageVersionsRequest(input *ListPackageVersionsInput) (req *request.Request, output *ListPackageVersionsOutput) {
  2460  	op := &request.Operation{
  2461  		Name:       opListPackageVersions,
  2462  		HTTPMethod: "POST",
  2463  		HTTPPath:   "/v1/package/versions",
  2464  		Paginator: &request.Paginator{
  2465  			InputTokens:     []string{"nextToken"},
  2466  			OutputTokens:    []string{"nextToken"},
  2467  			LimitToken:      "maxResults",
  2468  			TruncationToken: "",
  2469  		},
  2470  	}
  2471  
  2472  	if input == nil {
  2473  		input = &ListPackageVersionsInput{}
  2474  	}
  2475  
  2476  	output = &ListPackageVersionsOutput{}
  2477  	req = c.newRequest(op, input, output)
  2478  	return
  2479  }
  2480  
  2481  // ListPackageVersions API operation for CodeArtifact.
  2482  //
  2483  // Returns a list of PackageVersionSummary (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionSummary.html)
  2484  // objects for package versions in a repository that match the request parameters.
  2485  //
  2486  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2487  // with awserr.Error's Code and Message methods to get detailed information about
  2488  // the error.
  2489  //
  2490  // See the AWS API reference guide for CodeArtifact's
  2491  // API operation ListPackageVersions for usage and error information.
  2492  //
  2493  // Returned Error Types:
  2494  //   * AccessDeniedException
  2495  //   The operation did not succeed because of an unauthorized access attempt.
  2496  //
  2497  //   * InternalServerException
  2498  //   The operation did not succeed because of an error that occurred inside AWS
  2499  //   CodeArtifact.
  2500  //
  2501  //   * ResourceNotFoundException
  2502  //   The operation did not succeed because the resource requested is not found
  2503  //   in the service.
  2504  //
  2505  //   * ThrottlingException
  2506  //   The operation did not succeed because too many requests are sent to the service.
  2507  //
  2508  //   * ValidationException
  2509  //   The operation did not succeed because a parameter in the request was sent
  2510  //   with an invalid value.
  2511  //
  2512  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListPackageVersions
  2513  func (c *CodeArtifact) ListPackageVersions(input *ListPackageVersionsInput) (*ListPackageVersionsOutput, error) {
  2514  	req, out := c.ListPackageVersionsRequest(input)
  2515  	return out, req.Send()
  2516  }
  2517  
  2518  // ListPackageVersionsWithContext is the same as ListPackageVersions with the addition of
  2519  // the ability to pass a context and additional request options.
  2520  //
  2521  // See ListPackageVersions for details on how to use this API operation.
  2522  //
  2523  // The context must be non-nil and will be used for request cancellation. If
  2524  // the context is nil a panic will occur. In the future the SDK may create
  2525  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2526  // for more information on using Contexts.
  2527  func (c *CodeArtifact) ListPackageVersionsWithContext(ctx aws.Context, input *ListPackageVersionsInput, opts ...request.Option) (*ListPackageVersionsOutput, error) {
  2528  	req, out := c.ListPackageVersionsRequest(input)
  2529  	req.SetContext(ctx)
  2530  	req.ApplyOptions(opts...)
  2531  	return out, req.Send()
  2532  }
  2533  
  2534  // ListPackageVersionsPages iterates over the pages of a ListPackageVersions operation,
  2535  // calling the "fn" function with the response data for each page. To stop
  2536  // iterating, return false from the fn function.
  2537  //
  2538  // See ListPackageVersions method for more information on how to use this operation.
  2539  //
  2540  // Note: This operation can generate multiple requests to a service.
  2541  //
  2542  //    // Example iterating over at most 3 pages of a ListPackageVersions operation.
  2543  //    pageNum := 0
  2544  //    err := client.ListPackageVersionsPages(params,
  2545  //        func(page *codeartifact.ListPackageVersionsOutput, lastPage bool) bool {
  2546  //            pageNum++
  2547  //            fmt.Println(page)
  2548  //            return pageNum <= 3
  2549  //        })
  2550  //
  2551  func (c *CodeArtifact) ListPackageVersionsPages(input *ListPackageVersionsInput, fn func(*ListPackageVersionsOutput, bool) bool) error {
  2552  	return c.ListPackageVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  2553  }
  2554  
  2555  // ListPackageVersionsPagesWithContext same as ListPackageVersionsPages except
  2556  // it takes a Context and allows setting request options on the pages.
  2557  //
  2558  // The context must be non-nil and will be used for request cancellation. If
  2559  // the context is nil a panic will occur. In the future the SDK may create
  2560  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2561  // for more information on using Contexts.
  2562  func (c *CodeArtifact) ListPackageVersionsPagesWithContext(ctx aws.Context, input *ListPackageVersionsInput, fn func(*ListPackageVersionsOutput, bool) bool, opts ...request.Option) error {
  2563  	p := request.Pagination{
  2564  		NewRequest: func() (*request.Request, error) {
  2565  			var inCpy *ListPackageVersionsInput
  2566  			if input != nil {
  2567  				tmp := *input
  2568  				inCpy = &tmp
  2569  			}
  2570  			req, _ := c.ListPackageVersionsRequest(inCpy)
  2571  			req.SetContext(ctx)
  2572  			req.ApplyOptions(opts...)
  2573  			return req, nil
  2574  		},
  2575  	}
  2576  
  2577  	for p.Next() {
  2578  		if !fn(p.Page().(*ListPackageVersionsOutput), !p.HasNextPage()) {
  2579  			break
  2580  		}
  2581  	}
  2582  
  2583  	return p.Err()
  2584  }
  2585  
  2586  const opListPackages = "ListPackages"
  2587  
  2588  // ListPackagesRequest generates a "aws/request.Request" representing the
  2589  // client's request for the ListPackages operation. The "output" return
  2590  // value will be populated with the request's response once the request completes
  2591  // successfully.
  2592  //
  2593  // Use "Send" method on the returned Request to send the API call to the service.
  2594  // the "output" return value is not valid until after Send returns without error.
  2595  //
  2596  // See ListPackages for more information on using the ListPackages
  2597  // API call, and error handling.
  2598  //
  2599  // This method is useful when you want to inject custom logic or configuration
  2600  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2601  //
  2602  //
  2603  //    // Example sending a request using the ListPackagesRequest method.
  2604  //    req, resp := client.ListPackagesRequest(params)
  2605  //
  2606  //    err := req.Send()
  2607  //    if err == nil { // resp is now filled
  2608  //        fmt.Println(resp)
  2609  //    }
  2610  //
  2611  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListPackages
  2612  func (c *CodeArtifact) ListPackagesRequest(input *ListPackagesInput) (req *request.Request, output *ListPackagesOutput) {
  2613  	op := &request.Operation{
  2614  		Name:       opListPackages,
  2615  		HTTPMethod: "POST",
  2616  		HTTPPath:   "/v1/packages",
  2617  		Paginator: &request.Paginator{
  2618  			InputTokens:     []string{"nextToken"},
  2619  			OutputTokens:    []string{"nextToken"},
  2620  			LimitToken:      "maxResults",
  2621  			TruncationToken: "",
  2622  		},
  2623  	}
  2624  
  2625  	if input == nil {
  2626  		input = &ListPackagesInput{}
  2627  	}
  2628  
  2629  	output = &ListPackagesOutput{}
  2630  	req = c.newRequest(op, input, output)
  2631  	return
  2632  }
  2633  
  2634  // ListPackages API operation for CodeArtifact.
  2635  //
  2636  // Returns a list of PackageSummary (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageSummary.html)
  2637  // objects for packages in a repository that match the request parameters.
  2638  //
  2639  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2640  // with awserr.Error's Code and Message methods to get detailed information about
  2641  // the error.
  2642  //
  2643  // See the AWS API reference guide for CodeArtifact's
  2644  // API operation ListPackages for usage and error information.
  2645  //
  2646  // Returned Error Types:
  2647  //   * AccessDeniedException
  2648  //   The operation did not succeed because of an unauthorized access attempt.
  2649  //
  2650  //   * InternalServerException
  2651  //   The operation did not succeed because of an error that occurred inside AWS
  2652  //   CodeArtifact.
  2653  //
  2654  //   * ResourceNotFoundException
  2655  //   The operation did not succeed because the resource requested is not found
  2656  //   in the service.
  2657  //
  2658  //   * ThrottlingException
  2659  //   The operation did not succeed because too many requests are sent to the service.
  2660  //
  2661  //   * ValidationException
  2662  //   The operation did not succeed because a parameter in the request was sent
  2663  //   with an invalid value.
  2664  //
  2665  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListPackages
  2666  func (c *CodeArtifact) ListPackages(input *ListPackagesInput) (*ListPackagesOutput, error) {
  2667  	req, out := c.ListPackagesRequest(input)
  2668  	return out, req.Send()
  2669  }
  2670  
  2671  // ListPackagesWithContext is the same as ListPackages with the addition of
  2672  // the ability to pass a context and additional request options.
  2673  //
  2674  // See ListPackages for details on how to use this API operation.
  2675  //
  2676  // The context must be non-nil and will be used for request cancellation. If
  2677  // the context is nil a panic will occur. In the future the SDK may create
  2678  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2679  // for more information on using Contexts.
  2680  func (c *CodeArtifact) ListPackagesWithContext(ctx aws.Context, input *ListPackagesInput, opts ...request.Option) (*ListPackagesOutput, error) {
  2681  	req, out := c.ListPackagesRequest(input)
  2682  	req.SetContext(ctx)
  2683  	req.ApplyOptions(opts...)
  2684  	return out, req.Send()
  2685  }
  2686  
  2687  // ListPackagesPages iterates over the pages of a ListPackages operation,
  2688  // calling the "fn" function with the response data for each page. To stop
  2689  // iterating, return false from the fn function.
  2690  //
  2691  // See ListPackages method for more information on how to use this operation.
  2692  //
  2693  // Note: This operation can generate multiple requests to a service.
  2694  //
  2695  //    // Example iterating over at most 3 pages of a ListPackages operation.
  2696  //    pageNum := 0
  2697  //    err := client.ListPackagesPages(params,
  2698  //        func(page *codeartifact.ListPackagesOutput, lastPage bool) bool {
  2699  //            pageNum++
  2700  //            fmt.Println(page)
  2701  //            return pageNum <= 3
  2702  //        })
  2703  //
  2704  func (c *CodeArtifact) ListPackagesPages(input *ListPackagesInput, fn func(*ListPackagesOutput, bool) bool) error {
  2705  	return c.ListPackagesPagesWithContext(aws.BackgroundContext(), input, fn)
  2706  }
  2707  
  2708  // ListPackagesPagesWithContext same as ListPackagesPages except
  2709  // it takes a Context and allows setting request options on the pages.
  2710  //
  2711  // The context must be non-nil and will be used for request cancellation. If
  2712  // the context is nil a panic will occur. In the future the SDK may create
  2713  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2714  // for more information on using Contexts.
  2715  func (c *CodeArtifact) ListPackagesPagesWithContext(ctx aws.Context, input *ListPackagesInput, fn func(*ListPackagesOutput, bool) bool, opts ...request.Option) error {
  2716  	p := request.Pagination{
  2717  		NewRequest: func() (*request.Request, error) {
  2718  			var inCpy *ListPackagesInput
  2719  			if input != nil {
  2720  				tmp := *input
  2721  				inCpy = &tmp
  2722  			}
  2723  			req, _ := c.ListPackagesRequest(inCpy)
  2724  			req.SetContext(ctx)
  2725  			req.ApplyOptions(opts...)
  2726  			return req, nil
  2727  		},
  2728  	}
  2729  
  2730  	for p.Next() {
  2731  		if !fn(p.Page().(*ListPackagesOutput), !p.HasNextPage()) {
  2732  			break
  2733  		}
  2734  	}
  2735  
  2736  	return p.Err()
  2737  }
  2738  
  2739  const opListRepositories = "ListRepositories"
  2740  
  2741  // ListRepositoriesRequest generates a "aws/request.Request" representing the
  2742  // client's request for the ListRepositories operation. The "output" return
  2743  // value will be populated with the request's response once the request completes
  2744  // successfully.
  2745  //
  2746  // Use "Send" method on the returned Request to send the API call to the service.
  2747  // the "output" return value is not valid until after Send returns without error.
  2748  //
  2749  // See ListRepositories for more information on using the ListRepositories
  2750  // API call, and error handling.
  2751  //
  2752  // This method is useful when you want to inject custom logic or configuration
  2753  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2754  //
  2755  //
  2756  //    // Example sending a request using the ListRepositoriesRequest method.
  2757  //    req, resp := client.ListRepositoriesRequest(params)
  2758  //
  2759  //    err := req.Send()
  2760  //    if err == nil { // resp is now filled
  2761  //        fmt.Println(resp)
  2762  //    }
  2763  //
  2764  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListRepositories
  2765  func (c *CodeArtifact) ListRepositoriesRequest(input *ListRepositoriesInput) (req *request.Request, output *ListRepositoriesOutput) {
  2766  	op := &request.Operation{
  2767  		Name:       opListRepositories,
  2768  		HTTPMethod: "POST",
  2769  		HTTPPath:   "/v1/repositories",
  2770  		Paginator: &request.Paginator{
  2771  			InputTokens:     []string{"nextToken"},
  2772  			OutputTokens:    []string{"nextToken"},
  2773  			LimitToken:      "maxResults",
  2774  			TruncationToken: "",
  2775  		},
  2776  	}
  2777  
  2778  	if input == nil {
  2779  		input = &ListRepositoriesInput{}
  2780  	}
  2781  
  2782  	output = &ListRepositoriesOutput{}
  2783  	req = c.newRequest(op, input, output)
  2784  	return
  2785  }
  2786  
  2787  // ListRepositories API operation for CodeArtifact.
  2788  //
  2789  // Returns a list of RepositorySummary (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_RepositorySummary.html)
  2790  // objects. Each RepositorySummary contains information about a repository in
  2791  // the specified AWS account and that matches the input parameters.
  2792  //
  2793  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2794  // with awserr.Error's Code and Message methods to get detailed information about
  2795  // the error.
  2796  //
  2797  // See the AWS API reference guide for CodeArtifact's
  2798  // API operation ListRepositories for usage and error information.
  2799  //
  2800  // Returned Error Types:
  2801  //   * AccessDeniedException
  2802  //   The operation did not succeed because of an unauthorized access attempt.
  2803  //
  2804  //   * InternalServerException
  2805  //   The operation did not succeed because of an error that occurred inside AWS
  2806  //   CodeArtifact.
  2807  //
  2808  //   * ThrottlingException
  2809  //   The operation did not succeed because too many requests are sent to the service.
  2810  //
  2811  //   * ValidationException
  2812  //   The operation did not succeed because a parameter in the request was sent
  2813  //   with an invalid value.
  2814  //
  2815  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListRepositories
  2816  func (c *CodeArtifact) ListRepositories(input *ListRepositoriesInput) (*ListRepositoriesOutput, error) {
  2817  	req, out := c.ListRepositoriesRequest(input)
  2818  	return out, req.Send()
  2819  }
  2820  
  2821  // ListRepositoriesWithContext is the same as ListRepositories with the addition of
  2822  // the ability to pass a context and additional request options.
  2823  //
  2824  // See ListRepositories for details on how to use this API operation.
  2825  //
  2826  // The context must be non-nil and will be used for request cancellation. If
  2827  // the context is nil a panic will occur. In the future the SDK may create
  2828  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2829  // for more information on using Contexts.
  2830  func (c *CodeArtifact) ListRepositoriesWithContext(ctx aws.Context, input *ListRepositoriesInput, opts ...request.Option) (*ListRepositoriesOutput, error) {
  2831  	req, out := c.ListRepositoriesRequest(input)
  2832  	req.SetContext(ctx)
  2833  	req.ApplyOptions(opts...)
  2834  	return out, req.Send()
  2835  }
  2836  
  2837  // ListRepositoriesPages iterates over the pages of a ListRepositories operation,
  2838  // calling the "fn" function with the response data for each page. To stop
  2839  // iterating, return false from the fn function.
  2840  //
  2841  // See ListRepositories method for more information on how to use this operation.
  2842  //
  2843  // Note: This operation can generate multiple requests to a service.
  2844  //
  2845  //    // Example iterating over at most 3 pages of a ListRepositories operation.
  2846  //    pageNum := 0
  2847  //    err := client.ListRepositoriesPages(params,
  2848  //        func(page *codeartifact.ListRepositoriesOutput, lastPage bool) bool {
  2849  //            pageNum++
  2850  //            fmt.Println(page)
  2851  //            return pageNum <= 3
  2852  //        })
  2853  //
  2854  func (c *CodeArtifact) ListRepositoriesPages(input *ListRepositoriesInput, fn func(*ListRepositoriesOutput, bool) bool) error {
  2855  	return c.ListRepositoriesPagesWithContext(aws.BackgroundContext(), input, fn)
  2856  }
  2857  
  2858  // ListRepositoriesPagesWithContext same as ListRepositoriesPages except
  2859  // it takes a Context and allows setting request options on the pages.
  2860  //
  2861  // The context must be non-nil and will be used for request cancellation. If
  2862  // the context is nil a panic will occur. In the future the SDK may create
  2863  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2864  // for more information on using Contexts.
  2865  func (c *CodeArtifact) ListRepositoriesPagesWithContext(ctx aws.Context, input *ListRepositoriesInput, fn func(*ListRepositoriesOutput, bool) bool, opts ...request.Option) error {
  2866  	p := request.Pagination{
  2867  		NewRequest: func() (*request.Request, error) {
  2868  			var inCpy *ListRepositoriesInput
  2869  			if input != nil {
  2870  				tmp := *input
  2871  				inCpy = &tmp
  2872  			}
  2873  			req, _ := c.ListRepositoriesRequest(inCpy)
  2874  			req.SetContext(ctx)
  2875  			req.ApplyOptions(opts...)
  2876  			return req, nil
  2877  		},
  2878  	}
  2879  
  2880  	for p.Next() {
  2881  		if !fn(p.Page().(*ListRepositoriesOutput), !p.HasNextPage()) {
  2882  			break
  2883  		}
  2884  	}
  2885  
  2886  	return p.Err()
  2887  }
  2888  
  2889  const opListRepositoriesInDomain = "ListRepositoriesInDomain"
  2890  
  2891  // ListRepositoriesInDomainRequest generates a "aws/request.Request" representing the
  2892  // client's request for the ListRepositoriesInDomain operation. The "output" return
  2893  // value will be populated with the request's response once the request completes
  2894  // successfully.
  2895  //
  2896  // Use "Send" method on the returned Request to send the API call to the service.
  2897  // the "output" return value is not valid until after Send returns without error.
  2898  //
  2899  // See ListRepositoriesInDomain for more information on using the ListRepositoriesInDomain
  2900  // API call, and error handling.
  2901  //
  2902  // This method is useful when you want to inject custom logic or configuration
  2903  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2904  //
  2905  //
  2906  //    // Example sending a request using the ListRepositoriesInDomainRequest method.
  2907  //    req, resp := client.ListRepositoriesInDomainRequest(params)
  2908  //
  2909  //    err := req.Send()
  2910  //    if err == nil { // resp is now filled
  2911  //        fmt.Println(resp)
  2912  //    }
  2913  //
  2914  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListRepositoriesInDomain
  2915  func (c *CodeArtifact) ListRepositoriesInDomainRequest(input *ListRepositoriesInDomainInput) (req *request.Request, output *ListRepositoriesInDomainOutput) {
  2916  	op := &request.Operation{
  2917  		Name:       opListRepositoriesInDomain,
  2918  		HTTPMethod: "POST",
  2919  		HTTPPath:   "/v1/domain/repositories",
  2920  		Paginator: &request.Paginator{
  2921  			InputTokens:     []string{"nextToken"},
  2922  			OutputTokens:    []string{"nextToken"},
  2923  			LimitToken:      "maxResults",
  2924  			TruncationToken: "",
  2925  		},
  2926  	}
  2927  
  2928  	if input == nil {
  2929  		input = &ListRepositoriesInDomainInput{}
  2930  	}
  2931  
  2932  	output = &ListRepositoriesInDomainOutput{}
  2933  	req = c.newRequest(op, input, output)
  2934  	return
  2935  }
  2936  
  2937  // ListRepositoriesInDomain API operation for CodeArtifact.
  2938  //
  2939  // Returns a list of RepositorySummary (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_RepositorySummary.html)
  2940  // objects. Each RepositorySummary contains information about a repository in
  2941  // the specified domain and that matches the input parameters.
  2942  //
  2943  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2944  // with awserr.Error's Code and Message methods to get detailed information about
  2945  // the error.
  2946  //
  2947  // See the AWS API reference guide for CodeArtifact's
  2948  // API operation ListRepositoriesInDomain for usage and error information.
  2949  //
  2950  // Returned Error Types:
  2951  //   * AccessDeniedException
  2952  //   The operation did not succeed because of an unauthorized access attempt.
  2953  //
  2954  //   * InternalServerException
  2955  //   The operation did not succeed because of an error that occurred inside AWS
  2956  //   CodeArtifact.
  2957  //
  2958  //   * ResourceNotFoundException
  2959  //   The operation did not succeed because the resource requested is not found
  2960  //   in the service.
  2961  //
  2962  //   * ThrottlingException
  2963  //   The operation did not succeed because too many requests are sent to the service.
  2964  //
  2965  //   * ValidationException
  2966  //   The operation did not succeed because a parameter in the request was sent
  2967  //   with an invalid value.
  2968  //
  2969  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListRepositoriesInDomain
  2970  func (c *CodeArtifact) ListRepositoriesInDomain(input *ListRepositoriesInDomainInput) (*ListRepositoriesInDomainOutput, error) {
  2971  	req, out := c.ListRepositoriesInDomainRequest(input)
  2972  	return out, req.Send()
  2973  }
  2974  
  2975  // ListRepositoriesInDomainWithContext is the same as ListRepositoriesInDomain with the addition of
  2976  // the ability to pass a context and additional request options.
  2977  //
  2978  // See ListRepositoriesInDomain for details on how to use this API operation.
  2979  //
  2980  // The context must be non-nil and will be used for request cancellation. If
  2981  // the context is nil a panic will occur. In the future the SDK may create
  2982  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2983  // for more information on using Contexts.
  2984  func (c *CodeArtifact) ListRepositoriesInDomainWithContext(ctx aws.Context, input *ListRepositoriesInDomainInput, opts ...request.Option) (*ListRepositoriesInDomainOutput, error) {
  2985  	req, out := c.ListRepositoriesInDomainRequest(input)
  2986  	req.SetContext(ctx)
  2987  	req.ApplyOptions(opts...)
  2988  	return out, req.Send()
  2989  }
  2990  
  2991  // ListRepositoriesInDomainPages iterates over the pages of a ListRepositoriesInDomain operation,
  2992  // calling the "fn" function with the response data for each page. To stop
  2993  // iterating, return false from the fn function.
  2994  //
  2995  // See ListRepositoriesInDomain method for more information on how to use this operation.
  2996  //
  2997  // Note: This operation can generate multiple requests to a service.
  2998  //
  2999  //    // Example iterating over at most 3 pages of a ListRepositoriesInDomain operation.
  3000  //    pageNum := 0
  3001  //    err := client.ListRepositoriesInDomainPages(params,
  3002  //        func(page *codeartifact.ListRepositoriesInDomainOutput, lastPage bool) bool {
  3003  //            pageNum++
  3004  //            fmt.Println(page)
  3005  //            return pageNum <= 3
  3006  //        })
  3007  //
  3008  func (c *CodeArtifact) ListRepositoriesInDomainPages(input *ListRepositoriesInDomainInput, fn func(*ListRepositoriesInDomainOutput, bool) bool) error {
  3009  	return c.ListRepositoriesInDomainPagesWithContext(aws.BackgroundContext(), input, fn)
  3010  }
  3011  
  3012  // ListRepositoriesInDomainPagesWithContext same as ListRepositoriesInDomainPages except
  3013  // it takes a Context and allows setting request options on the pages.
  3014  //
  3015  // The context must be non-nil and will be used for request cancellation. If
  3016  // the context is nil a panic will occur. In the future the SDK may create
  3017  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3018  // for more information on using Contexts.
  3019  func (c *CodeArtifact) ListRepositoriesInDomainPagesWithContext(ctx aws.Context, input *ListRepositoriesInDomainInput, fn func(*ListRepositoriesInDomainOutput, bool) bool, opts ...request.Option) error {
  3020  	p := request.Pagination{
  3021  		NewRequest: func() (*request.Request, error) {
  3022  			var inCpy *ListRepositoriesInDomainInput
  3023  			if input != nil {
  3024  				tmp := *input
  3025  				inCpy = &tmp
  3026  			}
  3027  			req, _ := c.ListRepositoriesInDomainRequest(inCpy)
  3028  			req.SetContext(ctx)
  3029  			req.ApplyOptions(opts...)
  3030  			return req, nil
  3031  		},
  3032  	}
  3033  
  3034  	for p.Next() {
  3035  		if !fn(p.Page().(*ListRepositoriesInDomainOutput), !p.HasNextPage()) {
  3036  			break
  3037  		}
  3038  	}
  3039  
  3040  	return p.Err()
  3041  }
  3042  
  3043  const opListTagsForResource = "ListTagsForResource"
  3044  
  3045  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  3046  // client's request for the ListTagsForResource operation. The "output" return
  3047  // value will be populated with the request's response once the request completes
  3048  // successfully.
  3049  //
  3050  // Use "Send" method on the returned Request to send the API call to the service.
  3051  // the "output" return value is not valid until after Send returns without error.
  3052  //
  3053  // See ListTagsForResource for more information on using the ListTagsForResource
  3054  // API call, and error handling.
  3055  //
  3056  // This method is useful when you want to inject custom logic or configuration
  3057  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3058  //
  3059  //
  3060  //    // Example sending a request using the ListTagsForResourceRequest method.
  3061  //    req, resp := client.ListTagsForResourceRequest(params)
  3062  //
  3063  //    err := req.Send()
  3064  //    if err == nil { // resp is now filled
  3065  //        fmt.Println(resp)
  3066  //    }
  3067  //
  3068  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListTagsForResource
  3069  func (c *CodeArtifact) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  3070  	op := &request.Operation{
  3071  		Name:       opListTagsForResource,
  3072  		HTTPMethod: "POST",
  3073  		HTTPPath:   "/v1/tags",
  3074  	}
  3075  
  3076  	if input == nil {
  3077  		input = &ListTagsForResourceInput{}
  3078  	}
  3079  
  3080  	output = &ListTagsForResourceOutput{}
  3081  	req = c.newRequest(op, input, output)
  3082  	return
  3083  }
  3084  
  3085  // ListTagsForResource API operation for CodeArtifact.
  3086  //
  3087  // Gets information about AWS tags for a specified Amazon Resource Name (ARN)
  3088  // in AWS CodeArtifact.
  3089  //
  3090  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3091  // with awserr.Error's Code and Message methods to get detailed information about
  3092  // the error.
  3093  //
  3094  // See the AWS API reference guide for CodeArtifact's
  3095  // API operation ListTagsForResource for usage and error information.
  3096  //
  3097  // Returned Error Types:
  3098  //   * AccessDeniedException
  3099  //   The operation did not succeed because of an unauthorized access attempt.
  3100  //
  3101  //   * ResourceNotFoundException
  3102  //   The operation did not succeed because the resource requested is not found
  3103  //   in the service.
  3104  //
  3105  //   * ThrottlingException
  3106  //   The operation did not succeed because too many requests are sent to the service.
  3107  //
  3108  //   * ValidationException
  3109  //   The operation did not succeed because a parameter in the request was sent
  3110  //   with an invalid value.
  3111  //
  3112  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/ListTagsForResource
  3113  func (c *CodeArtifact) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  3114  	req, out := c.ListTagsForResourceRequest(input)
  3115  	return out, req.Send()
  3116  }
  3117  
  3118  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  3119  // the ability to pass a context and additional request options.
  3120  //
  3121  // See ListTagsForResource for details on how to use this API operation.
  3122  //
  3123  // The context must be non-nil and will be used for request cancellation. If
  3124  // the context is nil a panic will occur. In the future the SDK may create
  3125  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3126  // for more information on using Contexts.
  3127  func (c *CodeArtifact) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  3128  	req, out := c.ListTagsForResourceRequest(input)
  3129  	req.SetContext(ctx)
  3130  	req.ApplyOptions(opts...)
  3131  	return out, req.Send()
  3132  }
  3133  
  3134  const opPutDomainPermissionsPolicy = "PutDomainPermissionsPolicy"
  3135  
  3136  // PutDomainPermissionsPolicyRequest generates a "aws/request.Request" representing the
  3137  // client's request for the PutDomainPermissionsPolicy operation. The "output" return
  3138  // value will be populated with the request's response once the request completes
  3139  // successfully.
  3140  //
  3141  // Use "Send" method on the returned Request to send the API call to the service.
  3142  // the "output" return value is not valid until after Send returns without error.
  3143  //
  3144  // See PutDomainPermissionsPolicy for more information on using the PutDomainPermissionsPolicy
  3145  // API call, and error handling.
  3146  //
  3147  // This method is useful when you want to inject custom logic or configuration
  3148  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3149  //
  3150  //
  3151  //    // Example sending a request using the PutDomainPermissionsPolicyRequest method.
  3152  //    req, resp := client.PutDomainPermissionsPolicyRequest(params)
  3153  //
  3154  //    err := req.Send()
  3155  //    if err == nil { // resp is now filled
  3156  //        fmt.Println(resp)
  3157  //    }
  3158  //
  3159  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/PutDomainPermissionsPolicy
  3160  func (c *CodeArtifact) PutDomainPermissionsPolicyRequest(input *PutDomainPermissionsPolicyInput) (req *request.Request, output *PutDomainPermissionsPolicyOutput) {
  3161  	op := &request.Operation{
  3162  		Name:       opPutDomainPermissionsPolicy,
  3163  		HTTPMethod: "PUT",
  3164  		HTTPPath:   "/v1/domain/permissions/policy",
  3165  	}
  3166  
  3167  	if input == nil {
  3168  		input = &PutDomainPermissionsPolicyInput{}
  3169  	}
  3170  
  3171  	output = &PutDomainPermissionsPolicyOutput{}
  3172  	req = c.newRequest(op, input, output)
  3173  	return
  3174  }
  3175  
  3176  // PutDomainPermissionsPolicy API operation for CodeArtifact.
  3177  //
  3178  // Sets a resource policy on a domain that specifies permissions to access it.
  3179  //
  3180  // When you call PutDomainPermissionsPolicy, the resource policy on the domain
  3181  // is ignored when evaluting permissions. This ensures that the owner of a domain
  3182  // cannot lock themselves out of the domain, which would prevent them from being
  3183  // able to update the resource policy.
  3184  //
  3185  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3186  // with awserr.Error's Code and Message methods to get detailed information about
  3187  // the error.
  3188  //
  3189  // See the AWS API reference guide for CodeArtifact's
  3190  // API operation PutDomainPermissionsPolicy for usage and error information.
  3191  //
  3192  // Returned Error Types:
  3193  //   * AccessDeniedException
  3194  //   The operation did not succeed because of an unauthorized access attempt.
  3195  //
  3196  //   * ConflictException
  3197  //   The operation did not succeed because prerequisites are not met.
  3198  //
  3199  //   * InternalServerException
  3200  //   The operation did not succeed because of an error that occurred inside AWS
  3201  //   CodeArtifact.
  3202  //
  3203  //   * ResourceNotFoundException
  3204  //   The operation did not succeed because the resource requested is not found
  3205  //   in the service.
  3206  //
  3207  //   * ServiceQuotaExceededException
  3208  //   The operation did not succeed because it would have exceeded a service limit
  3209  //   for your account.
  3210  //
  3211  //   * ThrottlingException
  3212  //   The operation did not succeed because too many requests are sent to the service.
  3213  //
  3214  //   * ValidationException
  3215  //   The operation did not succeed because a parameter in the request was sent
  3216  //   with an invalid value.
  3217  //
  3218  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/PutDomainPermissionsPolicy
  3219  func (c *CodeArtifact) PutDomainPermissionsPolicy(input *PutDomainPermissionsPolicyInput) (*PutDomainPermissionsPolicyOutput, error) {
  3220  	req, out := c.PutDomainPermissionsPolicyRequest(input)
  3221  	return out, req.Send()
  3222  }
  3223  
  3224  // PutDomainPermissionsPolicyWithContext is the same as PutDomainPermissionsPolicy with the addition of
  3225  // the ability to pass a context and additional request options.
  3226  //
  3227  // See PutDomainPermissionsPolicy for details on how to use this API operation.
  3228  //
  3229  // The context must be non-nil and will be used for request cancellation. If
  3230  // the context is nil a panic will occur. In the future the SDK may create
  3231  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3232  // for more information on using Contexts.
  3233  func (c *CodeArtifact) PutDomainPermissionsPolicyWithContext(ctx aws.Context, input *PutDomainPermissionsPolicyInput, opts ...request.Option) (*PutDomainPermissionsPolicyOutput, error) {
  3234  	req, out := c.PutDomainPermissionsPolicyRequest(input)
  3235  	req.SetContext(ctx)
  3236  	req.ApplyOptions(opts...)
  3237  	return out, req.Send()
  3238  }
  3239  
  3240  const opPutRepositoryPermissionsPolicy = "PutRepositoryPermissionsPolicy"
  3241  
  3242  // PutRepositoryPermissionsPolicyRequest generates a "aws/request.Request" representing the
  3243  // client's request for the PutRepositoryPermissionsPolicy operation. The "output" return
  3244  // value will be populated with the request's response once the request completes
  3245  // successfully.
  3246  //
  3247  // Use "Send" method on the returned Request to send the API call to the service.
  3248  // the "output" return value is not valid until after Send returns without error.
  3249  //
  3250  // See PutRepositoryPermissionsPolicy for more information on using the PutRepositoryPermissionsPolicy
  3251  // API call, and error handling.
  3252  //
  3253  // This method is useful when you want to inject custom logic or configuration
  3254  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3255  //
  3256  //
  3257  //    // Example sending a request using the PutRepositoryPermissionsPolicyRequest method.
  3258  //    req, resp := client.PutRepositoryPermissionsPolicyRequest(params)
  3259  //
  3260  //    err := req.Send()
  3261  //    if err == nil { // resp is now filled
  3262  //        fmt.Println(resp)
  3263  //    }
  3264  //
  3265  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/PutRepositoryPermissionsPolicy
  3266  func (c *CodeArtifact) PutRepositoryPermissionsPolicyRequest(input *PutRepositoryPermissionsPolicyInput) (req *request.Request, output *PutRepositoryPermissionsPolicyOutput) {
  3267  	op := &request.Operation{
  3268  		Name:       opPutRepositoryPermissionsPolicy,
  3269  		HTTPMethod: "PUT",
  3270  		HTTPPath:   "/v1/repository/permissions/policy",
  3271  	}
  3272  
  3273  	if input == nil {
  3274  		input = &PutRepositoryPermissionsPolicyInput{}
  3275  	}
  3276  
  3277  	output = &PutRepositoryPermissionsPolicyOutput{}
  3278  	req = c.newRequest(op, input, output)
  3279  	return
  3280  }
  3281  
  3282  // PutRepositoryPermissionsPolicy API operation for CodeArtifact.
  3283  //
  3284  // Sets the resource policy on a repository that specifies permissions to access
  3285  // it.
  3286  //
  3287  // When you call PutRepositoryPermissionsPolicy, the resource policy on the
  3288  // repository is ignored when evaluting permissions. This ensures that the owner
  3289  // of a repository cannot lock themselves out of the repository, which would
  3290  // prevent them from being able to update the resource policy.
  3291  //
  3292  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3293  // with awserr.Error's Code and Message methods to get detailed information about
  3294  // the error.
  3295  //
  3296  // See the AWS API reference guide for CodeArtifact's
  3297  // API operation PutRepositoryPermissionsPolicy for usage and error information.
  3298  //
  3299  // Returned Error Types:
  3300  //   * AccessDeniedException
  3301  //   The operation did not succeed because of an unauthorized access attempt.
  3302  //
  3303  //   * ConflictException
  3304  //   The operation did not succeed because prerequisites are not met.
  3305  //
  3306  //   * InternalServerException
  3307  //   The operation did not succeed because of an error that occurred inside AWS
  3308  //   CodeArtifact.
  3309  //
  3310  //   * ResourceNotFoundException
  3311  //   The operation did not succeed because the resource requested is not found
  3312  //   in the service.
  3313  //
  3314  //   * ServiceQuotaExceededException
  3315  //   The operation did not succeed because it would have exceeded a service limit
  3316  //   for your account.
  3317  //
  3318  //   * ThrottlingException
  3319  //   The operation did not succeed because too many requests are sent to the service.
  3320  //
  3321  //   * ValidationException
  3322  //   The operation did not succeed because a parameter in the request was sent
  3323  //   with an invalid value.
  3324  //
  3325  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/PutRepositoryPermissionsPolicy
  3326  func (c *CodeArtifact) PutRepositoryPermissionsPolicy(input *PutRepositoryPermissionsPolicyInput) (*PutRepositoryPermissionsPolicyOutput, error) {
  3327  	req, out := c.PutRepositoryPermissionsPolicyRequest(input)
  3328  	return out, req.Send()
  3329  }
  3330  
  3331  // PutRepositoryPermissionsPolicyWithContext is the same as PutRepositoryPermissionsPolicy with the addition of
  3332  // the ability to pass a context and additional request options.
  3333  //
  3334  // See PutRepositoryPermissionsPolicy for details on how to use this API operation.
  3335  //
  3336  // The context must be non-nil and will be used for request cancellation. If
  3337  // the context is nil a panic will occur. In the future the SDK may create
  3338  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3339  // for more information on using Contexts.
  3340  func (c *CodeArtifact) PutRepositoryPermissionsPolicyWithContext(ctx aws.Context, input *PutRepositoryPermissionsPolicyInput, opts ...request.Option) (*PutRepositoryPermissionsPolicyOutput, error) {
  3341  	req, out := c.PutRepositoryPermissionsPolicyRequest(input)
  3342  	req.SetContext(ctx)
  3343  	req.ApplyOptions(opts...)
  3344  	return out, req.Send()
  3345  }
  3346  
  3347  const opTagResource = "TagResource"
  3348  
  3349  // TagResourceRequest generates a "aws/request.Request" representing the
  3350  // client's request for the TagResource operation. The "output" return
  3351  // value will be populated with the request's response once the request completes
  3352  // successfully.
  3353  //
  3354  // Use "Send" method on the returned Request to send the API call to the service.
  3355  // the "output" return value is not valid until after Send returns without error.
  3356  //
  3357  // See TagResource for more information on using the TagResource
  3358  // API call, and error handling.
  3359  //
  3360  // This method is useful when you want to inject custom logic or configuration
  3361  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3362  //
  3363  //
  3364  //    // Example sending a request using the TagResourceRequest method.
  3365  //    req, resp := client.TagResourceRequest(params)
  3366  //
  3367  //    err := req.Send()
  3368  //    if err == nil { // resp is now filled
  3369  //        fmt.Println(resp)
  3370  //    }
  3371  //
  3372  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/TagResource
  3373  func (c *CodeArtifact) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  3374  	op := &request.Operation{
  3375  		Name:       opTagResource,
  3376  		HTTPMethod: "POST",
  3377  		HTTPPath:   "/v1/tag",
  3378  	}
  3379  
  3380  	if input == nil {
  3381  		input = &TagResourceInput{}
  3382  	}
  3383  
  3384  	output = &TagResourceOutput{}
  3385  	req = c.newRequest(op, input, output)
  3386  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3387  	return
  3388  }
  3389  
  3390  // TagResource API operation for CodeArtifact.
  3391  //
  3392  // Adds or updates tags for a resource in AWS CodeArtifact.
  3393  //
  3394  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3395  // with awserr.Error's Code and Message methods to get detailed information about
  3396  // the error.
  3397  //
  3398  // See the AWS API reference guide for CodeArtifact's
  3399  // API operation TagResource for usage and error information.
  3400  //
  3401  // Returned Error Types:
  3402  //   * AccessDeniedException
  3403  //   The operation did not succeed because of an unauthorized access attempt.
  3404  //
  3405  //   * ResourceNotFoundException
  3406  //   The operation did not succeed because the resource requested is not found
  3407  //   in the service.
  3408  //
  3409  //   * ServiceQuotaExceededException
  3410  //   The operation did not succeed because it would have exceeded a service limit
  3411  //   for your account.
  3412  //
  3413  //   * ThrottlingException
  3414  //   The operation did not succeed because too many requests are sent to the service.
  3415  //
  3416  //   * ValidationException
  3417  //   The operation did not succeed because a parameter in the request was sent
  3418  //   with an invalid value.
  3419  //
  3420  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/TagResource
  3421  func (c *CodeArtifact) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  3422  	req, out := c.TagResourceRequest(input)
  3423  	return out, req.Send()
  3424  }
  3425  
  3426  // TagResourceWithContext is the same as TagResource with the addition of
  3427  // the ability to pass a context and additional request options.
  3428  //
  3429  // See TagResource for details on how to use this API operation.
  3430  //
  3431  // The context must be non-nil and will be used for request cancellation. If
  3432  // the context is nil a panic will occur. In the future the SDK may create
  3433  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3434  // for more information on using Contexts.
  3435  func (c *CodeArtifact) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  3436  	req, out := c.TagResourceRequest(input)
  3437  	req.SetContext(ctx)
  3438  	req.ApplyOptions(opts...)
  3439  	return out, req.Send()
  3440  }
  3441  
  3442  const opUntagResource = "UntagResource"
  3443  
  3444  // UntagResourceRequest generates a "aws/request.Request" representing the
  3445  // client's request for the UntagResource operation. The "output" return
  3446  // value will be populated with the request's response once the request completes
  3447  // successfully.
  3448  //
  3449  // Use "Send" method on the returned Request to send the API call to the service.
  3450  // the "output" return value is not valid until after Send returns without error.
  3451  //
  3452  // See UntagResource for more information on using the UntagResource
  3453  // API call, and error handling.
  3454  //
  3455  // This method is useful when you want to inject custom logic or configuration
  3456  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3457  //
  3458  //
  3459  //    // Example sending a request using the UntagResourceRequest method.
  3460  //    req, resp := client.UntagResourceRequest(params)
  3461  //
  3462  //    err := req.Send()
  3463  //    if err == nil { // resp is now filled
  3464  //        fmt.Println(resp)
  3465  //    }
  3466  //
  3467  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/UntagResource
  3468  func (c *CodeArtifact) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  3469  	op := &request.Operation{
  3470  		Name:       opUntagResource,
  3471  		HTTPMethod: "POST",
  3472  		HTTPPath:   "/v1/untag",
  3473  	}
  3474  
  3475  	if input == nil {
  3476  		input = &UntagResourceInput{}
  3477  	}
  3478  
  3479  	output = &UntagResourceOutput{}
  3480  	req = c.newRequest(op, input, output)
  3481  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3482  	return
  3483  }
  3484  
  3485  // UntagResource API operation for CodeArtifact.
  3486  //
  3487  // Removes tags from a resource in AWS CodeArtifact.
  3488  //
  3489  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3490  // with awserr.Error's Code and Message methods to get detailed information about
  3491  // the error.
  3492  //
  3493  // See the AWS API reference guide for CodeArtifact's
  3494  // API operation UntagResource for usage and error information.
  3495  //
  3496  // Returned Error Types:
  3497  //   * AccessDeniedException
  3498  //   The operation did not succeed because of an unauthorized access attempt.
  3499  //
  3500  //   * ResourceNotFoundException
  3501  //   The operation did not succeed because the resource requested is not found
  3502  //   in the service.
  3503  //
  3504  //   * ThrottlingException
  3505  //   The operation did not succeed because too many requests are sent to the service.
  3506  //
  3507  //   * ValidationException
  3508  //   The operation did not succeed because a parameter in the request was sent
  3509  //   with an invalid value.
  3510  //
  3511  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/UntagResource
  3512  func (c *CodeArtifact) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  3513  	req, out := c.UntagResourceRequest(input)
  3514  	return out, req.Send()
  3515  }
  3516  
  3517  // UntagResourceWithContext is the same as UntagResource with the addition of
  3518  // the ability to pass a context and additional request options.
  3519  //
  3520  // See UntagResource for details on how to use this API operation.
  3521  //
  3522  // The context must be non-nil and will be used for request cancellation. If
  3523  // the context is nil a panic will occur. In the future the SDK may create
  3524  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3525  // for more information on using Contexts.
  3526  func (c *CodeArtifact) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  3527  	req, out := c.UntagResourceRequest(input)
  3528  	req.SetContext(ctx)
  3529  	req.ApplyOptions(opts...)
  3530  	return out, req.Send()
  3531  }
  3532  
  3533  const opUpdatePackageVersionsStatus = "UpdatePackageVersionsStatus"
  3534  
  3535  // UpdatePackageVersionsStatusRequest generates a "aws/request.Request" representing the
  3536  // client's request for the UpdatePackageVersionsStatus operation. The "output" return
  3537  // value will be populated with the request's response once the request completes
  3538  // successfully.
  3539  //
  3540  // Use "Send" method on the returned Request to send the API call to the service.
  3541  // the "output" return value is not valid until after Send returns without error.
  3542  //
  3543  // See UpdatePackageVersionsStatus for more information on using the UpdatePackageVersionsStatus
  3544  // API call, and error handling.
  3545  //
  3546  // This method is useful when you want to inject custom logic or configuration
  3547  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3548  //
  3549  //
  3550  //    // Example sending a request using the UpdatePackageVersionsStatusRequest method.
  3551  //    req, resp := client.UpdatePackageVersionsStatusRequest(params)
  3552  //
  3553  //    err := req.Send()
  3554  //    if err == nil { // resp is now filled
  3555  //        fmt.Println(resp)
  3556  //    }
  3557  //
  3558  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/UpdatePackageVersionsStatus
  3559  func (c *CodeArtifact) UpdatePackageVersionsStatusRequest(input *UpdatePackageVersionsStatusInput) (req *request.Request, output *UpdatePackageVersionsStatusOutput) {
  3560  	op := &request.Operation{
  3561  		Name:       opUpdatePackageVersionsStatus,
  3562  		HTTPMethod: "POST",
  3563  		HTTPPath:   "/v1/package/versions/update_status",
  3564  	}
  3565  
  3566  	if input == nil {
  3567  		input = &UpdatePackageVersionsStatusInput{}
  3568  	}
  3569  
  3570  	output = &UpdatePackageVersionsStatusOutput{}
  3571  	req = c.newRequest(op, input, output)
  3572  	return
  3573  }
  3574  
  3575  // UpdatePackageVersionsStatus API operation for CodeArtifact.
  3576  //
  3577  // Updates the status of one or more versions of a package.
  3578  //
  3579  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3580  // with awserr.Error's Code and Message methods to get detailed information about
  3581  // the error.
  3582  //
  3583  // See the AWS API reference guide for CodeArtifact's
  3584  // API operation UpdatePackageVersionsStatus for usage and error information.
  3585  //
  3586  // Returned Error Types:
  3587  //   * AccessDeniedException
  3588  //   The operation did not succeed because of an unauthorized access attempt.
  3589  //
  3590  //   * ConflictException
  3591  //   The operation did not succeed because prerequisites are not met.
  3592  //
  3593  //   * InternalServerException
  3594  //   The operation did not succeed because of an error that occurred inside AWS
  3595  //   CodeArtifact.
  3596  //
  3597  //   * ResourceNotFoundException
  3598  //   The operation did not succeed because the resource requested is not found
  3599  //   in the service.
  3600  //
  3601  //   * ThrottlingException
  3602  //   The operation did not succeed because too many requests are sent to the service.
  3603  //
  3604  //   * ValidationException
  3605  //   The operation did not succeed because a parameter in the request was sent
  3606  //   with an invalid value.
  3607  //
  3608  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/UpdatePackageVersionsStatus
  3609  func (c *CodeArtifact) UpdatePackageVersionsStatus(input *UpdatePackageVersionsStatusInput) (*UpdatePackageVersionsStatusOutput, error) {
  3610  	req, out := c.UpdatePackageVersionsStatusRequest(input)
  3611  	return out, req.Send()
  3612  }
  3613  
  3614  // UpdatePackageVersionsStatusWithContext is the same as UpdatePackageVersionsStatus with the addition of
  3615  // the ability to pass a context and additional request options.
  3616  //
  3617  // See UpdatePackageVersionsStatus for details on how to use this API operation.
  3618  //
  3619  // The context must be non-nil and will be used for request cancellation. If
  3620  // the context is nil a panic will occur. In the future the SDK may create
  3621  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3622  // for more information on using Contexts.
  3623  func (c *CodeArtifact) UpdatePackageVersionsStatusWithContext(ctx aws.Context, input *UpdatePackageVersionsStatusInput, opts ...request.Option) (*UpdatePackageVersionsStatusOutput, error) {
  3624  	req, out := c.UpdatePackageVersionsStatusRequest(input)
  3625  	req.SetContext(ctx)
  3626  	req.ApplyOptions(opts...)
  3627  	return out, req.Send()
  3628  }
  3629  
  3630  const opUpdateRepository = "UpdateRepository"
  3631  
  3632  // UpdateRepositoryRequest generates a "aws/request.Request" representing the
  3633  // client's request for the UpdateRepository operation. The "output" return
  3634  // value will be populated with the request's response once the request completes
  3635  // successfully.
  3636  //
  3637  // Use "Send" method on the returned Request to send the API call to the service.
  3638  // the "output" return value is not valid until after Send returns without error.
  3639  //
  3640  // See UpdateRepository for more information on using the UpdateRepository
  3641  // API call, and error handling.
  3642  //
  3643  // This method is useful when you want to inject custom logic or configuration
  3644  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3645  //
  3646  //
  3647  //    // Example sending a request using the UpdateRepositoryRequest method.
  3648  //    req, resp := client.UpdateRepositoryRequest(params)
  3649  //
  3650  //    err := req.Send()
  3651  //    if err == nil { // resp is now filled
  3652  //        fmt.Println(resp)
  3653  //    }
  3654  //
  3655  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/UpdateRepository
  3656  func (c *CodeArtifact) UpdateRepositoryRequest(input *UpdateRepositoryInput) (req *request.Request, output *UpdateRepositoryOutput) {
  3657  	op := &request.Operation{
  3658  		Name:       opUpdateRepository,
  3659  		HTTPMethod: "PUT",
  3660  		HTTPPath:   "/v1/repository",
  3661  	}
  3662  
  3663  	if input == nil {
  3664  		input = &UpdateRepositoryInput{}
  3665  	}
  3666  
  3667  	output = &UpdateRepositoryOutput{}
  3668  	req = c.newRequest(op, input, output)
  3669  	return
  3670  }
  3671  
  3672  // UpdateRepository API operation for CodeArtifact.
  3673  //
  3674  // Update the properties of a repository.
  3675  //
  3676  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3677  // with awserr.Error's Code and Message methods to get detailed information about
  3678  // the error.
  3679  //
  3680  // See the AWS API reference guide for CodeArtifact's
  3681  // API operation UpdateRepository for usage and error information.
  3682  //
  3683  // Returned Error Types:
  3684  //   * AccessDeniedException
  3685  //   The operation did not succeed because of an unauthorized access attempt.
  3686  //
  3687  //   * ConflictException
  3688  //   The operation did not succeed because prerequisites are not met.
  3689  //
  3690  //   * InternalServerException
  3691  //   The operation did not succeed because of an error that occurred inside AWS
  3692  //   CodeArtifact.
  3693  //
  3694  //   * ResourceNotFoundException
  3695  //   The operation did not succeed because the resource requested is not found
  3696  //   in the service.
  3697  //
  3698  //   * ServiceQuotaExceededException
  3699  //   The operation did not succeed because it would have exceeded a service limit
  3700  //   for your account.
  3701  //
  3702  //   * ThrottlingException
  3703  //   The operation did not succeed because too many requests are sent to the service.
  3704  //
  3705  //   * ValidationException
  3706  //   The operation did not succeed because a parameter in the request was sent
  3707  //   with an invalid value.
  3708  //
  3709  // See also, https://docs.aws.amazon.com/goto/WebAPI/codeartifact-2018-09-22/UpdateRepository
  3710  func (c *CodeArtifact) UpdateRepository(input *UpdateRepositoryInput) (*UpdateRepositoryOutput, error) {
  3711  	req, out := c.UpdateRepositoryRequest(input)
  3712  	return out, req.Send()
  3713  }
  3714  
  3715  // UpdateRepositoryWithContext is the same as UpdateRepository with the addition of
  3716  // the ability to pass a context and additional request options.
  3717  //
  3718  // See UpdateRepository for details on how to use this API operation.
  3719  //
  3720  // The context must be non-nil and will be used for request cancellation. If
  3721  // the context is nil a panic will occur. In the future the SDK may create
  3722  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3723  // for more information on using Contexts.
  3724  func (c *CodeArtifact) UpdateRepositoryWithContext(ctx aws.Context, input *UpdateRepositoryInput, opts ...request.Option) (*UpdateRepositoryOutput, error) {
  3725  	req, out := c.UpdateRepositoryRequest(input)
  3726  	req.SetContext(ctx)
  3727  	req.ApplyOptions(opts...)
  3728  	return out, req.Send()
  3729  }
  3730  
  3731  // The operation did not succeed because of an unauthorized access attempt.
  3732  type AccessDeniedException struct {
  3733  	_            struct{}                  `type:"structure"`
  3734  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3735  
  3736  	Message_ *string `locationName:"message" type:"string"`
  3737  }
  3738  
  3739  // String returns the string representation.
  3740  //
  3741  // API parameter values that are decorated as "sensitive" in the API will not
  3742  // be included in the string output. The member name will be present, but the
  3743  // value will be replaced with "sensitive".
  3744  func (s AccessDeniedException) String() string {
  3745  	return awsutil.Prettify(s)
  3746  }
  3747  
  3748  // GoString returns the string representation.
  3749  //
  3750  // API parameter values that are decorated as "sensitive" in the API will not
  3751  // be included in the string output. The member name will be present, but the
  3752  // value will be replaced with "sensitive".
  3753  func (s AccessDeniedException) GoString() string {
  3754  	return s.String()
  3755  }
  3756  
  3757  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  3758  	return &AccessDeniedException{
  3759  		RespMetadata: v,
  3760  	}
  3761  }
  3762  
  3763  // Code returns the exception type name.
  3764  func (s *AccessDeniedException) Code() string {
  3765  	return "AccessDeniedException"
  3766  }
  3767  
  3768  // Message returns the exception's message.
  3769  func (s *AccessDeniedException) Message() string {
  3770  	if s.Message_ != nil {
  3771  		return *s.Message_
  3772  	}
  3773  	return ""
  3774  }
  3775  
  3776  // OrigErr always returns nil, satisfies awserr.Error interface.
  3777  func (s *AccessDeniedException) OrigErr() error {
  3778  	return nil
  3779  }
  3780  
  3781  func (s *AccessDeniedException) Error() string {
  3782  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3783  }
  3784  
  3785  // Status code returns the HTTP status code for the request's response error.
  3786  func (s *AccessDeniedException) StatusCode() int {
  3787  	return s.RespMetadata.StatusCode
  3788  }
  3789  
  3790  // RequestID returns the service's response RequestID for request.
  3791  func (s *AccessDeniedException) RequestID() string {
  3792  	return s.RespMetadata.RequestID
  3793  }
  3794  
  3795  // Contains details about a package version asset.
  3796  type AssetSummary struct {
  3797  	_ struct{} `type:"structure"`
  3798  
  3799  	// The hashes of the asset.
  3800  	Hashes map[string]*string `locationName:"hashes" type:"map"`
  3801  
  3802  	// The name of the asset.
  3803  	//
  3804  	// Name is a required field
  3805  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  3806  
  3807  	// The size of the asset.
  3808  	Size *int64 `locationName:"size" type:"long"`
  3809  }
  3810  
  3811  // String returns the string representation.
  3812  //
  3813  // API parameter values that are decorated as "sensitive" in the API will not
  3814  // be included in the string output. The member name will be present, but the
  3815  // value will be replaced with "sensitive".
  3816  func (s AssetSummary) String() string {
  3817  	return awsutil.Prettify(s)
  3818  }
  3819  
  3820  // GoString returns the string representation.
  3821  //
  3822  // API parameter values that are decorated as "sensitive" in the API will not
  3823  // be included in the string output. The member name will be present, but the
  3824  // value will be replaced with "sensitive".
  3825  func (s AssetSummary) GoString() string {
  3826  	return s.String()
  3827  }
  3828  
  3829  // SetHashes sets the Hashes field's value.
  3830  func (s *AssetSummary) SetHashes(v map[string]*string) *AssetSummary {
  3831  	s.Hashes = v
  3832  	return s
  3833  }
  3834  
  3835  // SetName sets the Name field's value.
  3836  func (s *AssetSummary) SetName(v string) *AssetSummary {
  3837  	s.Name = &v
  3838  	return s
  3839  }
  3840  
  3841  // SetSize sets the Size field's value.
  3842  func (s *AssetSummary) SetSize(v int64) *AssetSummary {
  3843  	s.Size = &v
  3844  	return s
  3845  }
  3846  
  3847  type AssociateExternalConnectionInput struct {
  3848  	_ struct{} `type:"structure" nopayload:"true"`
  3849  
  3850  	// The name of the domain that contains the repository.
  3851  	//
  3852  	// Domain is a required field
  3853  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  3854  
  3855  	// The 12-digit account number of the AWS account that owns the domain. It does
  3856  	// not include dashes or spaces.
  3857  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  3858  
  3859  	// The name of the external connection to add to the repository. The following
  3860  	// values are supported:
  3861  	//
  3862  	//    * public:npmjs - for the npm public repository.
  3863  	//
  3864  	//    * public:pypi - for the Python Package Index.
  3865  	//
  3866  	//    * public:maven-central - for Maven Central.
  3867  	//
  3868  	//    * public:maven-googleandroid - for the Google Android repository.
  3869  	//
  3870  	//    * public:maven-gradleplugins - for the Gradle plugins repository.
  3871  	//
  3872  	//    * public:maven-commonsware - for the CommonsWare Android repository.
  3873  	//
  3874  	// ExternalConnection is a required field
  3875  	ExternalConnection *string `location:"querystring" locationName:"external-connection" type:"string" required:"true"`
  3876  
  3877  	// The name of the repository to which the external connection is added.
  3878  	//
  3879  	// Repository is a required field
  3880  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  3881  }
  3882  
  3883  // String returns the string representation.
  3884  //
  3885  // API parameter values that are decorated as "sensitive" in the API will not
  3886  // be included in the string output. The member name will be present, but the
  3887  // value will be replaced with "sensitive".
  3888  func (s AssociateExternalConnectionInput) String() string {
  3889  	return awsutil.Prettify(s)
  3890  }
  3891  
  3892  // GoString returns the string representation.
  3893  //
  3894  // API parameter values that are decorated as "sensitive" in the API will not
  3895  // be included in the string output. The member name will be present, but the
  3896  // value will be replaced with "sensitive".
  3897  func (s AssociateExternalConnectionInput) GoString() string {
  3898  	return s.String()
  3899  }
  3900  
  3901  // Validate inspects the fields of the type to determine if they are valid.
  3902  func (s *AssociateExternalConnectionInput) Validate() error {
  3903  	invalidParams := request.ErrInvalidParams{Context: "AssociateExternalConnectionInput"}
  3904  	if s.Domain == nil {
  3905  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  3906  	}
  3907  	if s.Domain != nil && len(*s.Domain) < 2 {
  3908  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  3909  	}
  3910  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  3911  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  3912  	}
  3913  	if s.ExternalConnection == nil {
  3914  		invalidParams.Add(request.NewErrParamRequired("ExternalConnection"))
  3915  	}
  3916  	if s.Repository == nil {
  3917  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  3918  	}
  3919  	if s.Repository != nil && len(*s.Repository) < 2 {
  3920  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  3921  	}
  3922  
  3923  	if invalidParams.Len() > 0 {
  3924  		return invalidParams
  3925  	}
  3926  	return nil
  3927  }
  3928  
  3929  // SetDomain sets the Domain field's value.
  3930  func (s *AssociateExternalConnectionInput) SetDomain(v string) *AssociateExternalConnectionInput {
  3931  	s.Domain = &v
  3932  	return s
  3933  }
  3934  
  3935  // SetDomainOwner sets the DomainOwner field's value.
  3936  func (s *AssociateExternalConnectionInput) SetDomainOwner(v string) *AssociateExternalConnectionInput {
  3937  	s.DomainOwner = &v
  3938  	return s
  3939  }
  3940  
  3941  // SetExternalConnection sets the ExternalConnection field's value.
  3942  func (s *AssociateExternalConnectionInput) SetExternalConnection(v string) *AssociateExternalConnectionInput {
  3943  	s.ExternalConnection = &v
  3944  	return s
  3945  }
  3946  
  3947  // SetRepository sets the Repository field's value.
  3948  func (s *AssociateExternalConnectionInput) SetRepository(v string) *AssociateExternalConnectionInput {
  3949  	s.Repository = &v
  3950  	return s
  3951  }
  3952  
  3953  type AssociateExternalConnectionOutput struct {
  3954  	_ struct{} `type:"structure"`
  3955  
  3956  	// Information about the connected repository after processing the request.
  3957  	Repository *RepositoryDescription `locationName:"repository" type:"structure"`
  3958  }
  3959  
  3960  // String returns the string representation.
  3961  //
  3962  // API parameter values that are decorated as "sensitive" in the API will not
  3963  // be included in the string output. The member name will be present, but the
  3964  // value will be replaced with "sensitive".
  3965  func (s AssociateExternalConnectionOutput) String() string {
  3966  	return awsutil.Prettify(s)
  3967  }
  3968  
  3969  // GoString returns the string representation.
  3970  //
  3971  // API parameter values that are decorated as "sensitive" in the API will not
  3972  // be included in the string output. The member name will be present, but the
  3973  // value will be replaced with "sensitive".
  3974  func (s AssociateExternalConnectionOutput) GoString() string {
  3975  	return s.String()
  3976  }
  3977  
  3978  // SetRepository sets the Repository field's value.
  3979  func (s *AssociateExternalConnectionOutput) SetRepository(v *RepositoryDescription) *AssociateExternalConnectionOutput {
  3980  	s.Repository = v
  3981  	return s
  3982  }
  3983  
  3984  // The operation did not succeed because prerequisites are not met.
  3985  type ConflictException struct {
  3986  	_            struct{}                  `type:"structure"`
  3987  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3988  
  3989  	Message_ *string `locationName:"message" type:"string"`
  3990  
  3991  	// The ID of the resource.
  3992  	ResourceId *string `locationName:"resourceId" type:"string"`
  3993  
  3994  	// The type of AWS resource.
  3995  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  3996  }
  3997  
  3998  // String returns the string representation.
  3999  //
  4000  // API parameter values that are decorated as "sensitive" in the API will not
  4001  // be included in the string output. The member name will be present, but the
  4002  // value will be replaced with "sensitive".
  4003  func (s ConflictException) String() string {
  4004  	return awsutil.Prettify(s)
  4005  }
  4006  
  4007  // GoString returns the string representation.
  4008  //
  4009  // API parameter values that are decorated as "sensitive" in the API will not
  4010  // be included in the string output. The member name will be present, but the
  4011  // value will be replaced with "sensitive".
  4012  func (s ConflictException) GoString() string {
  4013  	return s.String()
  4014  }
  4015  
  4016  func newErrorConflictException(v protocol.ResponseMetadata) error {
  4017  	return &ConflictException{
  4018  		RespMetadata: v,
  4019  	}
  4020  }
  4021  
  4022  // Code returns the exception type name.
  4023  func (s *ConflictException) Code() string {
  4024  	return "ConflictException"
  4025  }
  4026  
  4027  // Message returns the exception's message.
  4028  func (s *ConflictException) Message() string {
  4029  	if s.Message_ != nil {
  4030  		return *s.Message_
  4031  	}
  4032  	return ""
  4033  }
  4034  
  4035  // OrigErr always returns nil, satisfies awserr.Error interface.
  4036  func (s *ConflictException) OrigErr() error {
  4037  	return nil
  4038  }
  4039  
  4040  func (s *ConflictException) Error() string {
  4041  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  4042  }
  4043  
  4044  // Status code returns the HTTP status code for the request's response error.
  4045  func (s *ConflictException) StatusCode() int {
  4046  	return s.RespMetadata.StatusCode
  4047  }
  4048  
  4049  // RequestID returns the service's response RequestID for request.
  4050  func (s *ConflictException) RequestID() string {
  4051  	return s.RespMetadata.RequestID
  4052  }
  4053  
  4054  type CopyPackageVersionsInput struct {
  4055  	_ struct{} `type:"structure"`
  4056  
  4057  	// Set to true to overwrite a package version that already exists in the destination
  4058  	// repository. If set to false and the package version already exists in the
  4059  	// destination repository, the package version is returned in the failedVersions
  4060  	// field of the response with an ALREADY_EXISTS error code.
  4061  	AllowOverwrite *bool `locationName:"allowOverwrite" type:"boolean"`
  4062  
  4063  	// The name of the repository into which package versions are copied.
  4064  	//
  4065  	// DestinationRepository is a required field
  4066  	DestinationRepository *string `location:"querystring" locationName:"destination-repository" min:"2" type:"string" required:"true"`
  4067  
  4068  	// The name of the domain that contains the source and destination repositories.
  4069  	//
  4070  	// Domain is a required field
  4071  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  4072  
  4073  	// The 12-digit account number of the AWS account that owns the domain. It does
  4074  	// not include dashes or spaces.
  4075  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  4076  
  4077  	// The format of the package that is copied. The valid package types are:
  4078  	//
  4079  	//    * npm: A Node Package Manager (npm) package.
  4080  	//
  4081  	//    * pypi: A Python Package Index (PyPI) package.
  4082  	//
  4083  	//    * maven: A Maven package that contains compiled code in a distributable
  4084  	//    format, such as a JAR file.
  4085  	//
  4086  	// Format is a required field
  4087  	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"`
  4088  
  4089  	// Set to true to copy packages from repositories that are upstream from the
  4090  	// source repository to the destination repository. The default setting is false.
  4091  	// For more information, see Working with upstream repositories (https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html).
  4092  	IncludeFromUpstream *bool `locationName:"includeFromUpstream" type:"boolean"`
  4093  
  4094  	// The namespace of the package. The package component that specifies its namespace
  4095  	// depends on its type. For example:
  4096  	//
  4097  	//    * The namespace of a Maven package is its groupId.
  4098  	//
  4099  	//    * The namespace of an npm package is its scope.
  4100  	//
  4101  	//    * A Python package does not contain a corresponding component, so Python
  4102  	//    packages do not have a namespace.
  4103  	Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"`
  4104  
  4105  	// The name of the package that is copied.
  4106  	//
  4107  	// Package is a required field
  4108  	Package *string `location:"querystring" locationName:"package" min:"1" type:"string" required:"true"`
  4109  
  4110  	// The name of the repository that contains the package versions to copy.
  4111  	//
  4112  	// SourceRepository is a required field
  4113  	SourceRepository *string `location:"querystring" locationName:"source-repository" min:"2" type:"string" required:"true"`
  4114  
  4115  	// A list of key-value pairs. The keys are package versions and the values are
  4116  	// package version revisions. A CopyPackageVersion operation succeeds if the
  4117  	// specified versions in the source repository match the specified package version
  4118  	// revision.
  4119  	//
  4120  	// You must specify versions or versionRevisions. You cannot specify both.
  4121  	VersionRevisions map[string]*string `locationName:"versionRevisions" type:"map"`
  4122  
  4123  	// The versions of the package to copy.
  4124  	//
  4125  	// You must specify versions or versionRevisions. You cannot specify both.
  4126  	Versions []*string `locationName:"versions" type:"list"`
  4127  }
  4128  
  4129  // String returns the string representation.
  4130  //
  4131  // API parameter values that are decorated as "sensitive" in the API will not
  4132  // be included in the string output. The member name will be present, but the
  4133  // value will be replaced with "sensitive".
  4134  func (s CopyPackageVersionsInput) String() string {
  4135  	return awsutil.Prettify(s)
  4136  }
  4137  
  4138  // GoString returns the string representation.
  4139  //
  4140  // API parameter values that are decorated as "sensitive" in the API will not
  4141  // be included in the string output. The member name will be present, but the
  4142  // value will be replaced with "sensitive".
  4143  func (s CopyPackageVersionsInput) GoString() string {
  4144  	return s.String()
  4145  }
  4146  
  4147  // Validate inspects the fields of the type to determine if they are valid.
  4148  func (s *CopyPackageVersionsInput) Validate() error {
  4149  	invalidParams := request.ErrInvalidParams{Context: "CopyPackageVersionsInput"}
  4150  	if s.DestinationRepository == nil {
  4151  		invalidParams.Add(request.NewErrParamRequired("DestinationRepository"))
  4152  	}
  4153  	if s.DestinationRepository != nil && len(*s.DestinationRepository) < 2 {
  4154  		invalidParams.Add(request.NewErrParamMinLen("DestinationRepository", 2))
  4155  	}
  4156  	if s.Domain == nil {
  4157  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  4158  	}
  4159  	if s.Domain != nil && len(*s.Domain) < 2 {
  4160  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  4161  	}
  4162  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  4163  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  4164  	}
  4165  	if s.Format == nil {
  4166  		invalidParams.Add(request.NewErrParamRequired("Format"))
  4167  	}
  4168  	if s.Namespace != nil && len(*s.Namespace) < 1 {
  4169  		invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
  4170  	}
  4171  	if s.Package == nil {
  4172  		invalidParams.Add(request.NewErrParamRequired("Package"))
  4173  	}
  4174  	if s.Package != nil && len(*s.Package) < 1 {
  4175  		invalidParams.Add(request.NewErrParamMinLen("Package", 1))
  4176  	}
  4177  	if s.SourceRepository == nil {
  4178  		invalidParams.Add(request.NewErrParamRequired("SourceRepository"))
  4179  	}
  4180  	if s.SourceRepository != nil && len(*s.SourceRepository) < 2 {
  4181  		invalidParams.Add(request.NewErrParamMinLen("SourceRepository", 2))
  4182  	}
  4183  
  4184  	if invalidParams.Len() > 0 {
  4185  		return invalidParams
  4186  	}
  4187  	return nil
  4188  }
  4189  
  4190  // SetAllowOverwrite sets the AllowOverwrite field's value.
  4191  func (s *CopyPackageVersionsInput) SetAllowOverwrite(v bool) *CopyPackageVersionsInput {
  4192  	s.AllowOverwrite = &v
  4193  	return s
  4194  }
  4195  
  4196  // SetDestinationRepository sets the DestinationRepository field's value.
  4197  func (s *CopyPackageVersionsInput) SetDestinationRepository(v string) *CopyPackageVersionsInput {
  4198  	s.DestinationRepository = &v
  4199  	return s
  4200  }
  4201  
  4202  // SetDomain sets the Domain field's value.
  4203  func (s *CopyPackageVersionsInput) SetDomain(v string) *CopyPackageVersionsInput {
  4204  	s.Domain = &v
  4205  	return s
  4206  }
  4207  
  4208  // SetDomainOwner sets the DomainOwner field's value.
  4209  func (s *CopyPackageVersionsInput) SetDomainOwner(v string) *CopyPackageVersionsInput {
  4210  	s.DomainOwner = &v
  4211  	return s
  4212  }
  4213  
  4214  // SetFormat sets the Format field's value.
  4215  func (s *CopyPackageVersionsInput) SetFormat(v string) *CopyPackageVersionsInput {
  4216  	s.Format = &v
  4217  	return s
  4218  }
  4219  
  4220  // SetIncludeFromUpstream sets the IncludeFromUpstream field's value.
  4221  func (s *CopyPackageVersionsInput) SetIncludeFromUpstream(v bool) *CopyPackageVersionsInput {
  4222  	s.IncludeFromUpstream = &v
  4223  	return s
  4224  }
  4225  
  4226  // SetNamespace sets the Namespace field's value.
  4227  func (s *CopyPackageVersionsInput) SetNamespace(v string) *CopyPackageVersionsInput {
  4228  	s.Namespace = &v
  4229  	return s
  4230  }
  4231  
  4232  // SetPackage sets the Package field's value.
  4233  func (s *CopyPackageVersionsInput) SetPackage(v string) *CopyPackageVersionsInput {
  4234  	s.Package = &v
  4235  	return s
  4236  }
  4237  
  4238  // SetSourceRepository sets the SourceRepository field's value.
  4239  func (s *CopyPackageVersionsInput) SetSourceRepository(v string) *CopyPackageVersionsInput {
  4240  	s.SourceRepository = &v
  4241  	return s
  4242  }
  4243  
  4244  // SetVersionRevisions sets the VersionRevisions field's value.
  4245  func (s *CopyPackageVersionsInput) SetVersionRevisions(v map[string]*string) *CopyPackageVersionsInput {
  4246  	s.VersionRevisions = v
  4247  	return s
  4248  }
  4249  
  4250  // SetVersions sets the Versions field's value.
  4251  func (s *CopyPackageVersionsInput) SetVersions(v []*string) *CopyPackageVersionsInput {
  4252  	s.Versions = v
  4253  	return s
  4254  }
  4255  
  4256  type CopyPackageVersionsOutput struct {
  4257  	_ struct{} `type:"structure"`
  4258  
  4259  	// A map of package versions that failed to copy and their error codes. The
  4260  	// possible error codes are in the PackageVersionError data type. They are:
  4261  	//
  4262  	//    * ALREADY_EXISTS
  4263  	//
  4264  	//    * MISMATCHED_REVISION
  4265  	//
  4266  	//    * MISMATCHED_STATUS
  4267  	//
  4268  	//    * NOT_ALLOWED
  4269  	//
  4270  	//    * NOT_FOUND
  4271  	//
  4272  	//    * SKIPPED
  4273  	FailedVersions map[string]*PackageVersionError `locationName:"failedVersions" type:"map"`
  4274  
  4275  	// A list of the package versions that were successfully copied to your repository.
  4276  	SuccessfulVersions map[string]*SuccessfulPackageVersionInfo `locationName:"successfulVersions" type:"map"`
  4277  }
  4278  
  4279  // String returns the string representation.
  4280  //
  4281  // API parameter values that are decorated as "sensitive" in the API will not
  4282  // be included in the string output. The member name will be present, but the
  4283  // value will be replaced with "sensitive".
  4284  func (s CopyPackageVersionsOutput) String() string {
  4285  	return awsutil.Prettify(s)
  4286  }
  4287  
  4288  // GoString returns the string representation.
  4289  //
  4290  // API parameter values that are decorated as "sensitive" in the API will not
  4291  // be included in the string output. The member name will be present, but the
  4292  // value will be replaced with "sensitive".
  4293  func (s CopyPackageVersionsOutput) GoString() string {
  4294  	return s.String()
  4295  }
  4296  
  4297  // SetFailedVersions sets the FailedVersions field's value.
  4298  func (s *CopyPackageVersionsOutput) SetFailedVersions(v map[string]*PackageVersionError) *CopyPackageVersionsOutput {
  4299  	s.FailedVersions = v
  4300  	return s
  4301  }
  4302  
  4303  // SetSuccessfulVersions sets the SuccessfulVersions field's value.
  4304  func (s *CopyPackageVersionsOutput) SetSuccessfulVersions(v map[string]*SuccessfulPackageVersionInfo) *CopyPackageVersionsOutput {
  4305  	s.SuccessfulVersions = v
  4306  	return s
  4307  }
  4308  
  4309  type CreateDomainInput struct {
  4310  	_ struct{} `type:"structure"`
  4311  
  4312  	// The name of the domain to create. All domain names in an AWS Region that
  4313  	// are in the same AWS account must be unique. The domain name is used as the
  4314  	// prefix in DNS hostnames. Do not use sensitive information in a domain name
  4315  	// because it is publicly discoverable.
  4316  	//
  4317  	// Domain is a required field
  4318  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  4319  
  4320  	// The encryption key for the domain. This is used to encrypt content stored
  4321  	// in a domain. An encryption key can be a key ID, a key Amazon Resource Name
  4322  	// (ARN), a key alias, or a key alias ARN. To specify an encryptionKey, your
  4323  	// IAM role must have kms:DescribeKey and kms:CreateGrant permissions on the
  4324  	// encryption key that is used. For more information, see DescribeKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestSyntax)
  4325  	// in the AWS Key Management Service API Reference and AWS KMS API Permissions
  4326  	// Reference (https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html)
  4327  	// in the AWS Key Management Service Developer Guide.
  4328  	//
  4329  	// CodeArtifact supports only symmetric CMKs. Do not associate an asymmetric
  4330  	// CMK with your domain. For more information, see Using symmetric and asymmetric
  4331  	// keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)
  4332  	// in the AWS Key Management Service Developer Guide.
  4333  	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
  4334  
  4335  	// One or more tag key-value pairs for the domain.
  4336  	Tags []*Tag `locationName:"tags" type:"list"`
  4337  }
  4338  
  4339  // String returns the string representation.
  4340  //
  4341  // API parameter values that are decorated as "sensitive" in the API will not
  4342  // be included in the string output. The member name will be present, but the
  4343  // value will be replaced with "sensitive".
  4344  func (s CreateDomainInput) String() string {
  4345  	return awsutil.Prettify(s)
  4346  }
  4347  
  4348  // GoString returns the string representation.
  4349  //
  4350  // API parameter values that are decorated as "sensitive" in the API will not
  4351  // be included in the string output. The member name will be present, but the
  4352  // value will be replaced with "sensitive".
  4353  func (s CreateDomainInput) GoString() string {
  4354  	return s.String()
  4355  }
  4356  
  4357  // Validate inspects the fields of the type to determine if they are valid.
  4358  func (s *CreateDomainInput) Validate() error {
  4359  	invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"}
  4360  	if s.Domain == nil {
  4361  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  4362  	}
  4363  	if s.Domain != nil && len(*s.Domain) < 2 {
  4364  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  4365  	}
  4366  	if s.EncryptionKey != nil && len(*s.EncryptionKey) < 1 {
  4367  		invalidParams.Add(request.NewErrParamMinLen("EncryptionKey", 1))
  4368  	}
  4369  	if s.Tags != nil {
  4370  		for i, v := range s.Tags {
  4371  			if v == nil {
  4372  				continue
  4373  			}
  4374  			if err := v.Validate(); err != nil {
  4375  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4376  			}
  4377  		}
  4378  	}
  4379  
  4380  	if invalidParams.Len() > 0 {
  4381  		return invalidParams
  4382  	}
  4383  	return nil
  4384  }
  4385  
  4386  // SetDomain sets the Domain field's value.
  4387  func (s *CreateDomainInput) SetDomain(v string) *CreateDomainInput {
  4388  	s.Domain = &v
  4389  	return s
  4390  }
  4391  
  4392  // SetEncryptionKey sets the EncryptionKey field's value.
  4393  func (s *CreateDomainInput) SetEncryptionKey(v string) *CreateDomainInput {
  4394  	s.EncryptionKey = &v
  4395  	return s
  4396  }
  4397  
  4398  // SetTags sets the Tags field's value.
  4399  func (s *CreateDomainInput) SetTags(v []*Tag) *CreateDomainInput {
  4400  	s.Tags = v
  4401  	return s
  4402  }
  4403  
  4404  type CreateDomainOutput struct {
  4405  	_ struct{} `type:"structure"`
  4406  
  4407  	// Contains information about the created domain after processing the request.
  4408  	Domain *DomainDescription `locationName:"domain" type:"structure"`
  4409  }
  4410  
  4411  // String returns the string representation.
  4412  //
  4413  // API parameter values that are decorated as "sensitive" in the API will not
  4414  // be included in the string output. The member name will be present, but the
  4415  // value will be replaced with "sensitive".
  4416  func (s CreateDomainOutput) String() string {
  4417  	return awsutil.Prettify(s)
  4418  }
  4419  
  4420  // GoString returns the string representation.
  4421  //
  4422  // API parameter values that are decorated as "sensitive" in the API will not
  4423  // be included in the string output. The member name will be present, but the
  4424  // value will be replaced with "sensitive".
  4425  func (s CreateDomainOutput) GoString() string {
  4426  	return s.String()
  4427  }
  4428  
  4429  // SetDomain sets the Domain field's value.
  4430  func (s *CreateDomainOutput) SetDomain(v *DomainDescription) *CreateDomainOutput {
  4431  	s.Domain = v
  4432  	return s
  4433  }
  4434  
  4435  type CreateRepositoryInput struct {
  4436  	_ struct{} `type:"structure"`
  4437  
  4438  	// A description of the created repository.
  4439  	Description *string `locationName:"description" type:"string"`
  4440  
  4441  	// The name of the domain that contains the created repository.
  4442  	//
  4443  	// Domain is a required field
  4444  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  4445  
  4446  	// The 12-digit account number of the AWS account that owns the domain. It does
  4447  	// not include dashes or spaces.
  4448  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  4449  
  4450  	// The name of the repository to create.
  4451  	//
  4452  	// Repository is a required field
  4453  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  4454  
  4455  	// One or more tag key-value pairs for the repository.
  4456  	Tags []*Tag `locationName:"tags" type:"list"`
  4457  
  4458  	// A list of upstream repositories to associate with the repository. The order
  4459  	// of the upstream repositories in the list determines their priority order
  4460  	// when AWS CodeArtifact looks for a requested package version. For more information,
  4461  	// see Working with upstream repositories (https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html).
  4462  	Upstreams []*UpstreamRepository `locationName:"upstreams" type:"list"`
  4463  }
  4464  
  4465  // String returns the string representation.
  4466  //
  4467  // API parameter values that are decorated as "sensitive" in the API will not
  4468  // be included in the string output. The member name will be present, but the
  4469  // value will be replaced with "sensitive".
  4470  func (s CreateRepositoryInput) String() string {
  4471  	return awsutil.Prettify(s)
  4472  }
  4473  
  4474  // GoString returns the string representation.
  4475  //
  4476  // API parameter values that are decorated as "sensitive" in the API will not
  4477  // be included in the string output. The member name will be present, but the
  4478  // value will be replaced with "sensitive".
  4479  func (s CreateRepositoryInput) GoString() string {
  4480  	return s.String()
  4481  }
  4482  
  4483  // Validate inspects the fields of the type to determine if they are valid.
  4484  func (s *CreateRepositoryInput) Validate() error {
  4485  	invalidParams := request.ErrInvalidParams{Context: "CreateRepositoryInput"}
  4486  	if s.Domain == nil {
  4487  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  4488  	}
  4489  	if s.Domain != nil && len(*s.Domain) < 2 {
  4490  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  4491  	}
  4492  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  4493  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  4494  	}
  4495  	if s.Repository == nil {
  4496  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  4497  	}
  4498  	if s.Repository != nil && len(*s.Repository) < 2 {
  4499  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  4500  	}
  4501  	if s.Tags != nil {
  4502  		for i, v := range s.Tags {
  4503  			if v == nil {
  4504  				continue
  4505  			}
  4506  			if err := v.Validate(); err != nil {
  4507  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4508  			}
  4509  		}
  4510  	}
  4511  	if s.Upstreams != nil {
  4512  		for i, v := range s.Upstreams {
  4513  			if v == nil {
  4514  				continue
  4515  			}
  4516  			if err := v.Validate(); err != nil {
  4517  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Upstreams", i), err.(request.ErrInvalidParams))
  4518  			}
  4519  		}
  4520  	}
  4521  
  4522  	if invalidParams.Len() > 0 {
  4523  		return invalidParams
  4524  	}
  4525  	return nil
  4526  }
  4527  
  4528  // SetDescription sets the Description field's value.
  4529  func (s *CreateRepositoryInput) SetDescription(v string) *CreateRepositoryInput {
  4530  	s.Description = &v
  4531  	return s
  4532  }
  4533  
  4534  // SetDomain sets the Domain field's value.
  4535  func (s *CreateRepositoryInput) SetDomain(v string) *CreateRepositoryInput {
  4536  	s.Domain = &v
  4537  	return s
  4538  }
  4539  
  4540  // SetDomainOwner sets the DomainOwner field's value.
  4541  func (s *CreateRepositoryInput) SetDomainOwner(v string) *CreateRepositoryInput {
  4542  	s.DomainOwner = &v
  4543  	return s
  4544  }
  4545  
  4546  // SetRepository sets the Repository field's value.
  4547  func (s *CreateRepositoryInput) SetRepository(v string) *CreateRepositoryInput {
  4548  	s.Repository = &v
  4549  	return s
  4550  }
  4551  
  4552  // SetTags sets the Tags field's value.
  4553  func (s *CreateRepositoryInput) SetTags(v []*Tag) *CreateRepositoryInput {
  4554  	s.Tags = v
  4555  	return s
  4556  }
  4557  
  4558  // SetUpstreams sets the Upstreams field's value.
  4559  func (s *CreateRepositoryInput) SetUpstreams(v []*UpstreamRepository) *CreateRepositoryInput {
  4560  	s.Upstreams = v
  4561  	return s
  4562  }
  4563  
  4564  type CreateRepositoryOutput struct {
  4565  	_ struct{} `type:"structure"`
  4566  
  4567  	// Information about the created repository after processing the request.
  4568  	Repository *RepositoryDescription `locationName:"repository" type:"structure"`
  4569  }
  4570  
  4571  // String returns the string representation.
  4572  //
  4573  // API parameter values that are decorated as "sensitive" in the API will not
  4574  // be included in the string output. The member name will be present, but the
  4575  // value will be replaced with "sensitive".
  4576  func (s CreateRepositoryOutput) String() string {
  4577  	return awsutil.Prettify(s)
  4578  }
  4579  
  4580  // GoString returns the string representation.
  4581  //
  4582  // API parameter values that are decorated as "sensitive" in the API will not
  4583  // be included in the string output. The member name will be present, but the
  4584  // value will be replaced with "sensitive".
  4585  func (s CreateRepositoryOutput) GoString() string {
  4586  	return s.String()
  4587  }
  4588  
  4589  // SetRepository sets the Repository field's value.
  4590  func (s *CreateRepositoryOutput) SetRepository(v *RepositoryDescription) *CreateRepositoryOutput {
  4591  	s.Repository = v
  4592  	return s
  4593  }
  4594  
  4595  type DeleteDomainInput struct {
  4596  	_ struct{} `type:"structure" nopayload:"true"`
  4597  
  4598  	// The name of the domain to delete.
  4599  	//
  4600  	// Domain is a required field
  4601  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  4602  
  4603  	// The 12-digit account number of the AWS account that owns the domain. It does
  4604  	// not include dashes or spaces.
  4605  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  4606  }
  4607  
  4608  // String returns the string representation.
  4609  //
  4610  // API parameter values that are decorated as "sensitive" in the API will not
  4611  // be included in the string output. The member name will be present, but the
  4612  // value will be replaced with "sensitive".
  4613  func (s DeleteDomainInput) String() string {
  4614  	return awsutil.Prettify(s)
  4615  }
  4616  
  4617  // GoString returns the string representation.
  4618  //
  4619  // API parameter values that are decorated as "sensitive" in the API will not
  4620  // be included in the string output. The member name will be present, but the
  4621  // value will be replaced with "sensitive".
  4622  func (s DeleteDomainInput) GoString() string {
  4623  	return s.String()
  4624  }
  4625  
  4626  // Validate inspects the fields of the type to determine if they are valid.
  4627  func (s *DeleteDomainInput) Validate() error {
  4628  	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"}
  4629  	if s.Domain == nil {
  4630  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  4631  	}
  4632  	if s.Domain != nil && len(*s.Domain) < 2 {
  4633  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  4634  	}
  4635  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  4636  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  4637  	}
  4638  
  4639  	if invalidParams.Len() > 0 {
  4640  		return invalidParams
  4641  	}
  4642  	return nil
  4643  }
  4644  
  4645  // SetDomain sets the Domain field's value.
  4646  func (s *DeleteDomainInput) SetDomain(v string) *DeleteDomainInput {
  4647  	s.Domain = &v
  4648  	return s
  4649  }
  4650  
  4651  // SetDomainOwner sets the DomainOwner field's value.
  4652  func (s *DeleteDomainInput) SetDomainOwner(v string) *DeleteDomainInput {
  4653  	s.DomainOwner = &v
  4654  	return s
  4655  }
  4656  
  4657  type DeleteDomainOutput struct {
  4658  	_ struct{} `type:"structure"`
  4659  
  4660  	// Contains information about the deleted domain after processing the request.
  4661  	Domain *DomainDescription `locationName:"domain" type:"structure"`
  4662  }
  4663  
  4664  // String returns the string representation.
  4665  //
  4666  // API parameter values that are decorated as "sensitive" in the API will not
  4667  // be included in the string output. The member name will be present, but the
  4668  // value will be replaced with "sensitive".
  4669  func (s DeleteDomainOutput) String() string {
  4670  	return awsutil.Prettify(s)
  4671  }
  4672  
  4673  // GoString returns the string representation.
  4674  //
  4675  // API parameter values that are decorated as "sensitive" in the API will not
  4676  // be included in the string output. The member name will be present, but the
  4677  // value will be replaced with "sensitive".
  4678  func (s DeleteDomainOutput) GoString() string {
  4679  	return s.String()
  4680  }
  4681  
  4682  // SetDomain sets the Domain field's value.
  4683  func (s *DeleteDomainOutput) SetDomain(v *DomainDescription) *DeleteDomainOutput {
  4684  	s.Domain = v
  4685  	return s
  4686  }
  4687  
  4688  type DeleteDomainPermissionsPolicyInput struct {
  4689  	_ struct{} `type:"structure" nopayload:"true"`
  4690  
  4691  	// The name of the domain associated with the resource policy to be deleted.
  4692  	//
  4693  	// Domain is a required field
  4694  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  4695  
  4696  	// The 12-digit account number of the AWS account that owns the domain. It does
  4697  	// not include dashes or spaces.
  4698  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  4699  
  4700  	// The current revision of the resource policy to be deleted. This revision
  4701  	// is used for optimistic locking, which prevents others from overwriting your
  4702  	// changes to the domain's resource policy.
  4703  	PolicyRevision *string `location:"querystring" locationName:"policy-revision" min:"1" type:"string"`
  4704  }
  4705  
  4706  // String returns the string representation.
  4707  //
  4708  // API parameter values that are decorated as "sensitive" in the API will not
  4709  // be included in the string output. The member name will be present, but the
  4710  // value will be replaced with "sensitive".
  4711  func (s DeleteDomainPermissionsPolicyInput) String() string {
  4712  	return awsutil.Prettify(s)
  4713  }
  4714  
  4715  // GoString returns the string representation.
  4716  //
  4717  // API parameter values that are decorated as "sensitive" in the API will not
  4718  // be included in the string output. The member name will be present, but the
  4719  // value will be replaced with "sensitive".
  4720  func (s DeleteDomainPermissionsPolicyInput) GoString() string {
  4721  	return s.String()
  4722  }
  4723  
  4724  // Validate inspects the fields of the type to determine if they are valid.
  4725  func (s *DeleteDomainPermissionsPolicyInput) Validate() error {
  4726  	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainPermissionsPolicyInput"}
  4727  	if s.Domain == nil {
  4728  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  4729  	}
  4730  	if s.Domain != nil && len(*s.Domain) < 2 {
  4731  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  4732  	}
  4733  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  4734  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  4735  	}
  4736  	if s.PolicyRevision != nil && len(*s.PolicyRevision) < 1 {
  4737  		invalidParams.Add(request.NewErrParamMinLen("PolicyRevision", 1))
  4738  	}
  4739  
  4740  	if invalidParams.Len() > 0 {
  4741  		return invalidParams
  4742  	}
  4743  	return nil
  4744  }
  4745  
  4746  // SetDomain sets the Domain field's value.
  4747  func (s *DeleteDomainPermissionsPolicyInput) SetDomain(v string) *DeleteDomainPermissionsPolicyInput {
  4748  	s.Domain = &v
  4749  	return s
  4750  }
  4751  
  4752  // SetDomainOwner sets the DomainOwner field's value.
  4753  func (s *DeleteDomainPermissionsPolicyInput) SetDomainOwner(v string) *DeleteDomainPermissionsPolicyInput {
  4754  	s.DomainOwner = &v
  4755  	return s
  4756  }
  4757  
  4758  // SetPolicyRevision sets the PolicyRevision field's value.
  4759  func (s *DeleteDomainPermissionsPolicyInput) SetPolicyRevision(v string) *DeleteDomainPermissionsPolicyInput {
  4760  	s.PolicyRevision = &v
  4761  	return s
  4762  }
  4763  
  4764  type DeleteDomainPermissionsPolicyOutput struct {
  4765  	_ struct{} `type:"structure"`
  4766  
  4767  	// Information about the deleted resource policy after processing the request.
  4768  	Policy *ResourcePolicy `locationName:"policy" type:"structure"`
  4769  }
  4770  
  4771  // String returns the string representation.
  4772  //
  4773  // API parameter values that are decorated as "sensitive" in the API will not
  4774  // be included in the string output. The member name will be present, but the
  4775  // value will be replaced with "sensitive".
  4776  func (s DeleteDomainPermissionsPolicyOutput) String() string {
  4777  	return awsutil.Prettify(s)
  4778  }
  4779  
  4780  // GoString returns the string representation.
  4781  //
  4782  // API parameter values that are decorated as "sensitive" in the API will not
  4783  // be included in the string output. The member name will be present, but the
  4784  // value will be replaced with "sensitive".
  4785  func (s DeleteDomainPermissionsPolicyOutput) GoString() string {
  4786  	return s.String()
  4787  }
  4788  
  4789  // SetPolicy sets the Policy field's value.
  4790  func (s *DeleteDomainPermissionsPolicyOutput) SetPolicy(v *ResourcePolicy) *DeleteDomainPermissionsPolicyOutput {
  4791  	s.Policy = v
  4792  	return s
  4793  }
  4794  
  4795  type DeletePackageVersionsInput struct {
  4796  	_ struct{} `type:"structure"`
  4797  
  4798  	// The name of the domain that contains the package to delete.
  4799  	//
  4800  	// Domain is a required field
  4801  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  4802  
  4803  	// The 12-digit account number of the AWS account that owns the domain. It does
  4804  	// not include dashes or spaces.
  4805  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  4806  
  4807  	// The expected status of the package version to delete. Valid values are:
  4808  	//
  4809  	//    * Published
  4810  	//
  4811  	//    * Unfinished
  4812  	//
  4813  	//    * Unlisted
  4814  	//
  4815  	//    * Archived
  4816  	//
  4817  	//    * Disposed
  4818  	ExpectedStatus *string `locationName:"expectedStatus" type:"string" enum:"PackageVersionStatus"`
  4819  
  4820  	// The format of the package versions to delete. The valid values are:
  4821  	//
  4822  	//    * npm
  4823  	//
  4824  	//    * pypi
  4825  	//
  4826  	//    * maven
  4827  	//
  4828  	// Format is a required field
  4829  	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"`
  4830  
  4831  	// The namespace of the package. The package component that specifies its namespace
  4832  	// depends on its type. For example:
  4833  	//
  4834  	//    * The namespace of a Maven package is its groupId.
  4835  	//
  4836  	//    * The namespace of an npm package is its scope.
  4837  	//
  4838  	//    * A Python package does not contain a corresponding component, so Python
  4839  	//    packages do not have a namespace.
  4840  	Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"`
  4841  
  4842  	// The name of the package with the versions to delete.
  4843  	//
  4844  	// Package is a required field
  4845  	Package *string `location:"querystring" locationName:"package" min:"1" type:"string" required:"true"`
  4846  
  4847  	// The name of the repository that contains the package versions to delete.
  4848  	//
  4849  	// Repository is a required field
  4850  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  4851  
  4852  	// An array of strings that specify the versions of the package to delete.
  4853  	//
  4854  	// Versions is a required field
  4855  	Versions []*string `locationName:"versions" type:"list" required:"true"`
  4856  }
  4857  
  4858  // String returns the string representation.
  4859  //
  4860  // API parameter values that are decorated as "sensitive" in the API will not
  4861  // be included in the string output. The member name will be present, but the
  4862  // value will be replaced with "sensitive".
  4863  func (s DeletePackageVersionsInput) String() string {
  4864  	return awsutil.Prettify(s)
  4865  }
  4866  
  4867  // GoString returns the string representation.
  4868  //
  4869  // API parameter values that are decorated as "sensitive" in the API will not
  4870  // be included in the string output. The member name will be present, but the
  4871  // value will be replaced with "sensitive".
  4872  func (s DeletePackageVersionsInput) GoString() string {
  4873  	return s.String()
  4874  }
  4875  
  4876  // Validate inspects the fields of the type to determine if they are valid.
  4877  func (s *DeletePackageVersionsInput) Validate() error {
  4878  	invalidParams := request.ErrInvalidParams{Context: "DeletePackageVersionsInput"}
  4879  	if s.Domain == nil {
  4880  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  4881  	}
  4882  	if s.Domain != nil && len(*s.Domain) < 2 {
  4883  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  4884  	}
  4885  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  4886  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  4887  	}
  4888  	if s.Format == nil {
  4889  		invalidParams.Add(request.NewErrParamRequired("Format"))
  4890  	}
  4891  	if s.Namespace != nil && len(*s.Namespace) < 1 {
  4892  		invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
  4893  	}
  4894  	if s.Package == nil {
  4895  		invalidParams.Add(request.NewErrParamRequired("Package"))
  4896  	}
  4897  	if s.Package != nil && len(*s.Package) < 1 {
  4898  		invalidParams.Add(request.NewErrParamMinLen("Package", 1))
  4899  	}
  4900  	if s.Repository == nil {
  4901  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  4902  	}
  4903  	if s.Repository != nil && len(*s.Repository) < 2 {
  4904  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  4905  	}
  4906  	if s.Versions == nil {
  4907  		invalidParams.Add(request.NewErrParamRequired("Versions"))
  4908  	}
  4909  
  4910  	if invalidParams.Len() > 0 {
  4911  		return invalidParams
  4912  	}
  4913  	return nil
  4914  }
  4915  
  4916  // SetDomain sets the Domain field's value.
  4917  func (s *DeletePackageVersionsInput) SetDomain(v string) *DeletePackageVersionsInput {
  4918  	s.Domain = &v
  4919  	return s
  4920  }
  4921  
  4922  // SetDomainOwner sets the DomainOwner field's value.
  4923  func (s *DeletePackageVersionsInput) SetDomainOwner(v string) *DeletePackageVersionsInput {
  4924  	s.DomainOwner = &v
  4925  	return s
  4926  }
  4927  
  4928  // SetExpectedStatus sets the ExpectedStatus field's value.
  4929  func (s *DeletePackageVersionsInput) SetExpectedStatus(v string) *DeletePackageVersionsInput {
  4930  	s.ExpectedStatus = &v
  4931  	return s
  4932  }
  4933  
  4934  // SetFormat sets the Format field's value.
  4935  func (s *DeletePackageVersionsInput) SetFormat(v string) *DeletePackageVersionsInput {
  4936  	s.Format = &v
  4937  	return s
  4938  }
  4939  
  4940  // SetNamespace sets the Namespace field's value.
  4941  func (s *DeletePackageVersionsInput) SetNamespace(v string) *DeletePackageVersionsInput {
  4942  	s.Namespace = &v
  4943  	return s
  4944  }
  4945  
  4946  // SetPackage sets the Package field's value.
  4947  func (s *DeletePackageVersionsInput) SetPackage(v string) *DeletePackageVersionsInput {
  4948  	s.Package = &v
  4949  	return s
  4950  }
  4951  
  4952  // SetRepository sets the Repository field's value.
  4953  func (s *DeletePackageVersionsInput) SetRepository(v string) *DeletePackageVersionsInput {
  4954  	s.Repository = &v
  4955  	return s
  4956  }
  4957  
  4958  // SetVersions sets the Versions field's value.
  4959  func (s *DeletePackageVersionsInput) SetVersions(v []*string) *DeletePackageVersionsInput {
  4960  	s.Versions = v
  4961  	return s
  4962  }
  4963  
  4964  type DeletePackageVersionsOutput struct {
  4965  	_ struct{} `type:"structure"`
  4966  
  4967  	// A PackageVersionError object that contains a map of errors codes for the
  4968  	// deleted package that failed. The possible error codes are:
  4969  	//
  4970  	//    * ALREADY_EXISTS
  4971  	//
  4972  	//    * MISMATCHED_REVISION
  4973  	//
  4974  	//    * MISMATCHED_STATUS
  4975  	//
  4976  	//    * NOT_ALLOWED
  4977  	//
  4978  	//    * NOT_FOUND
  4979  	//
  4980  	//    * SKIPPED
  4981  	FailedVersions map[string]*PackageVersionError `locationName:"failedVersions" type:"map"`
  4982  
  4983  	// A list of the package versions that were successfully deleted.
  4984  	SuccessfulVersions map[string]*SuccessfulPackageVersionInfo `locationName:"successfulVersions" type:"map"`
  4985  }
  4986  
  4987  // String returns the string representation.
  4988  //
  4989  // API parameter values that are decorated as "sensitive" in the API will not
  4990  // be included in the string output. The member name will be present, but the
  4991  // value will be replaced with "sensitive".
  4992  func (s DeletePackageVersionsOutput) String() string {
  4993  	return awsutil.Prettify(s)
  4994  }
  4995  
  4996  // GoString returns the string representation.
  4997  //
  4998  // API parameter values that are decorated as "sensitive" in the API will not
  4999  // be included in the string output. The member name will be present, but the
  5000  // value will be replaced with "sensitive".
  5001  func (s DeletePackageVersionsOutput) GoString() string {
  5002  	return s.String()
  5003  }
  5004  
  5005  // SetFailedVersions sets the FailedVersions field's value.
  5006  func (s *DeletePackageVersionsOutput) SetFailedVersions(v map[string]*PackageVersionError) *DeletePackageVersionsOutput {
  5007  	s.FailedVersions = v
  5008  	return s
  5009  }
  5010  
  5011  // SetSuccessfulVersions sets the SuccessfulVersions field's value.
  5012  func (s *DeletePackageVersionsOutput) SetSuccessfulVersions(v map[string]*SuccessfulPackageVersionInfo) *DeletePackageVersionsOutput {
  5013  	s.SuccessfulVersions = v
  5014  	return s
  5015  }
  5016  
  5017  type DeleteRepositoryInput struct {
  5018  	_ struct{} `type:"structure" nopayload:"true"`
  5019  
  5020  	// The name of the domain that contains the repository to delete.
  5021  	//
  5022  	// Domain is a required field
  5023  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  5024  
  5025  	// The 12-digit account number of the AWS account that owns the domain. It does
  5026  	// not include dashes or spaces.
  5027  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  5028  
  5029  	// The name of the repository to delete.
  5030  	//
  5031  	// Repository is a required field
  5032  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  5033  }
  5034  
  5035  // String returns the string representation.
  5036  //
  5037  // API parameter values that are decorated as "sensitive" in the API will not
  5038  // be included in the string output. The member name will be present, but the
  5039  // value will be replaced with "sensitive".
  5040  func (s DeleteRepositoryInput) String() string {
  5041  	return awsutil.Prettify(s)
  5042  }
  5043  
  5044  // GoString returns the string representation.
  5045  //
  5046  // API parameter values that are decorated as "sensitive" in the API will not
  5047  // be included in the string output. The member name will be present, but the
  5048  // value will be replaced with "sensitive".
  5049  func (s DeleteRepositoryInput) GoString() string {
  5050  	return s.String()
  5051  }
  5052  
  5053  // Validate inspects the fields of the type to determine if they are valid.
  5054  func (s *DeleteRepositoryInput) Validate() error {
  5055  	invalidParams := request.ErrInvalidParams{Context: "DeleteRepositoryInput"}
  5056  	if s.Domain == nil {
  5057  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  5058  	}
  5059  	if s.Domain != nil && len(*s.Domain) < 2 {
  5060  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  5061  	}
  5062  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  5063  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  5064  	}
  5065  	if s.Repository == nil {
  5066  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  5067  	}
  5068  	if s.Repository != nil && len(*s.Repository) < 2 {
  5069  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  5070  	}
  5071  
  5072  	if invalidParams.Len() > 0 {
  5073  		return invalidParams
  5074  	}
  5075  	return nil
  5076  }
  5077  
  5078  // SetDomain sets the Domain field's value.
  5079  func (s *DeleteRepositoryInput) SetDomain(v string) *DeleteRepositoryInput {
  5080  	s.Domain = &v
  5081  	return s
  5082  }
  5083  
  5084  // SetDomainOwner sets the DomainOwner field's value.
  5085  func (s *DeleteRepositoryInput) SetDomainOwner(v string) *DeleteRepositoryInput {
  5086  	s.DomainOwner = &v
  5087  	return s
  5088  }
  5089  
  5090  // SetRepository sets the Repository field's value.
  5091  func (s *DeleteRepositoryInput) SetRepository(v string) *DeleteRepositoryInput {
  5092  	s.Repository = &v
  5093  	return s
  5094  }
  5095  
  5096  type DeleteRepositoryOutput struct {
  5097  	_ struct{} `type:"structure"`
  5098  
  5099  	// Information about the deleted repository after processing the request.
  5100  	Repository *RepositoryDescription `locationName:"repository" type:"structure"`
  5101  }
  5102  
  5103  // String returns the string representation.
  5104  //
  5105  // API parameter values that are decorated as "sensitive" in the API will not
  5106  // be included in the string output. The member name will be present, but the
  5107  // value will be replaced with "sensitive".
  5108  func (s DeleteRepositoryOutput) String() string {
  5109  	return awsutil.Prettify(s)
  5110  }
  5111  
  5112  // GoString returns the string representation.
  5113  //
  5114  // API parameter values that are decorated as "sensitive" in the API will not
  5115  // be included in the string output. The member name will be present, but the
  5116  // value will be replaced with "sensitive".
  5117  func (s DeleteRepositoryOutput) GoString() string {
  5118  	return s.String()
  5119  }
  5120  
  5121  // SetRepository sets the Repository field's value.
  5122  func (s *DeleteRepositoryOutput) SetRepository(v *RepositoryDescription) *DeleteRepositoryOutput {
  5123  	s.Repository = v
  5124  	return s
  5125  }
  5126  
  5127  type DeleteRepositoryPermissionsPolicyInput struct {
  5128  	_ struct{} `type:"structure" nopayload:"true"`
  5129  
  5130  	// The name of the domain that contains the repository associated with the resource
  5131  	// policy to be deleted.
  5132  	//
  5133  	// Domain is a required field
  5134  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  5135  
  5136  	// The 12-digit account number of the AWS account that owns the domain. It does
  5137  	// not include dashes or spaces.
  5138  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  5139  
  5140  	// The revision of the repository's resource policy to be deleted. This revision
  5141  	// is used for optimistic locking, which prevents others from accidentally overwriting
  5142  	// your changes to the repository's resource policy.
  5143  	PolicyRevision *string `location:"querystring" locationName:"policy-revision" min:"1" type:"string"`
  5144  
  5145  	// The name of the repository that is associated with the resource policy to
  5146  	// be deleted
  5147  	//
  5148  	// Repository is a required field
  5149  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  5150  }
  5151  
  5152  // String returns the string representation.
  5153  //
  5154  // API parameter values that are decorated as "sensitive" in the API will not
  5155  // be included in the string output. The member name will be present, but the
  5156  // value will be replaced with "sensitive".
  5157  func (s DeleteRepositoryPermissionsPolicyInput) String() string {
  5158  	return awsutil.Prettify(s)
  5159  }
  5160  
  5161  // GoString returns the string representation.
  5162  //
  5163  // API parameter values that are decorated as "sensitive" in the API will not
  5164  // be included in the string output. The member name will be present, but the
  5165  // value will be replaced with "sensitive".
  5166  func (s DeleteRepositoryPermissionsPolicyInput) GoString() string {
  5167  	return s.String()
  5168  }
  5169  
  5170  // Validate inspects the fields of the type to determine if they are valid.
  5171  func (s *DeleteRepositoryPermissionsPolicyInput) Validate() error {
  5172  	invalidParams := request.ErrInvalidParams{Context: "DeleteRepositoryPermissionsPolicyInput"}
  5173  	if s.Domain == nil {
  5174  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  5175  	}
  5176  	if s.Domain != nil && len(*s.Domain) < 2 {
  5177  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  5178  	}
  5179  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  5180  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  5181  	}
  5182  	if s.PolicyRevision != nil && len(*s.PolicyRevision) < 1 {
  5183  		invalidParams.Add(request.NewErrParamMinLen("PolicyRevision", 1))
  5184  	}
  5185  	if s.Repository == nil {
  5186  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  5187  	}
  5188  	if s.Repository != nil && len(*s.Repository) < 2 {
  5189  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  5190  	}
  5191  
  5192  	if invalidParams.Len() > 0 {
  5193  		return invalidParams
  5194  	}
  5195  	return nil
  5196  }
  5197  
  5198  // SetDomain sets the Domain field's value.
  5199  func (s *DeleteRepositoryPermissionsPolicyInput) SetDomain(v string) *DeleteRepositoryPermissionsPolicyInput {
  5200  	s.Domain = &v
  5201  	return s
  5202  }
  5203  
  5204  // SetDomainOwner sets the DomainOwner field's value.
  5205  func (s *DeleteRepositoryPermissionsPolicyInput) SetDomainOwner(v string) *DeleteRepositoryPermissionsPolicyInput {
  5206  	s.DomainOwner = &v
  5207  	return s
  5208  }
  5209  
  5210  // SetPolicyRevision sets the PolicyRevision field's value.
  5211  func (s *DeleteRepositoryPermissionsPolicyInput) SetPolicyRevision(v string) *DeleteRepositoryPermissionsPolicyInput {
  5212  	s.PolicyRevision = &v
  5213  	return s
  5214  }
  5215  
  5216  // SetRepository sets the Repository field's value.
  5217  func (s *DeleteRepositoryPermissionsPolicyInput) SetRepository(v string) *DeleteRepositoryPermissionsPolicyInput {
  5218  	s.Repository = &v
  5219  	return s
  5220  }
  5221  
  5222  type DeleteRepositoryPermissionsPolicyOutput struct {
  5223  	_ struct{} `type:"structure"`
  5224  
  5225  	// Information about the deleted policy after processing the request.
  5226  	Policy *ResourcePolicy `locationName:"policy" type:"structure"`
  5227  }
  5228  
  5229  // String returns the string representation.
  5230  //
  5231  // API parameter values that are decorated as "sensitive" in the API will not
  5232  // be included in the string output. The member name will be present, but the
  5233  // value will be replaced with "sensitive".
  5234  func (s DeleteRepositoryPermissionsPolicyOutput) String() string {
  5235  	return awsutil.Prettify(s)
  5236  }
  5237  
  5238  // GoString returns the string representation.
  5239  //
  5240  // API parameter values that are decorated as "sensitive" in the API will not
  5241  // be included in the string output. The member name will be present, but the
  5242  // value will be replaced with "sensitive".
  5243  func (s DeleteRepositoryPermissionsPolicyOutput) GoString() string {
  5244  	return s.String()
  5245  }
  5246  
  5247  // SetPolicy sets the Policy field's value.
  5248  func (s *DeleteRepositoryPermissionsPolicyOutput) SetPolicy(v *ResourcePolicy) *DeleteRepositoryPermissionsPolicyOutput {
  5249  	s.Policy = v
  5250  	return s
  5251  }
  5252  
  5253  type DescribeDomainInput struct {
  5254  	_ struct{} `type:"structure" nopayload:"true"`
  5255  
  5256  	// A string that specifies the name of the requested domain.
  5257  	//
  5258  	// Domain is a required field
  5259  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  5260  
  5261  	// The 12-digit account number of the AWS account that owns the domain. It does
  5262  	// not include dashes or spaces.
  5263  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  5264  }
  5265  
  5266  // String returns the string representation.
  5267  //
  5268  // API parameter values that are decorated as "sensitive" in the API will not
  5269  // be included in the string output. The member name will be present, but the
  5270  // value will be replaced with "sensitive".
  5271  func (s DescribeDomainInput) String() string {
  5272  	return awsutil.Prettify(s)
  5273  }
  5274  
  5275  // GoString returns the string representation.
  5276  //
  5277  // API parameter values that are decorated as "sensitive" in the API will not
  5278  // be included in the string output. The member name will be present, but the
  5279  // value will be replaced with "sensitive".
  5280  func (s DescribeDomainInput) GoString() string {
  5281  	return s.String()
  5282  }
  5283  
  5284  // Validate inspects the fields of the type to determine if they are valid.
  5285  func (s *DescribeDomainInput) Validate() error {
  5286  	invalidParams := request.ErrInvalidParams{Context: "DescribeDomainInput"}
  5287  	if s.Domain == nil {
  5288  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  5289  	}
  5290  	if s.Domain != nil && len(*s.Domain) < 2 {
  5291  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  5292  	}
  5293  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  5294  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  5295  	}
  5296  
  5297  	if invalidParams.Len() > 0 {
  5298  		return invalidParams
  5299  	}
  5300  	return nil
  5301  }
  5302  
  5303  // SetDomain sets the Domain field's value.
  5304  func (s *DescribeDomainInput) SetDomain(v string) *DescribeDomainInput {
  5305  	s.Domain = &v
  5306  	return s
  5307  }
  5308  
  5309  // SetDomainOwner sets the DomainOwner field's value.
  5310  func (s *DescribeDomainInput) SetDomainOwner(v string) *DescribeDomainInput {
  5311  	s.DomainOwner = &v
  5312  	return s
  5313  }
  5314  
  5315  type DescribeDomainOutput struct {
  5316  	_ struct{} `type:"structure"`
  5317  
  5318  	// Information about a domain. A domain is a container for repositories. When
  5319  	// you create a domain, it is empty until you add one or more repositories.
  5320  	Domain *DomainDescription `locationName:"domain" type:"structure"`
  5321  }
  5322  
  5323  // String returns the string representation.
  5324  //
  5325  // API parameter values that are decorated as "sensitive" in the API will not
  5326  // be included in the string output. The member name will be present, but the
  5327  // value will be replaced with "sensitive".
  5328  func (s DescribeDomainOutput) String() string {
  5329  	return awsutil.Prettify(s)
  5330  }
  5331  
  5332  // GoString returns the string representation.
  5333  //
  5334  // API parameter values that are decorated as "sensitive" in the API will not
  5335  // be included in the string output. The member name will be present, but the
  5336  // value will be replaced with "sensitive".
  5337  func (s DescribeDomainOutput) GoString() string {
  5338  	return s.String()
  5339  }
  5340  
  5341  // SetDomain sets the Domain field's value.
  5342  func (s *DescribeDomainOutput) SetDomain(v *DomainDescription) *DescribeDomainOutput {
  5343  	s.Domain = v
  5344  	return s
  5345  }
  5346  
  5347  type DescribePackageVersionInput struct {
  5348  	_ struct{} `type:"structure" nopayload:"true"`
  5349  
  5350  	// The name of the domain that contains the repository that contains the package
  5351  	// version.
  5352  	//
  5353  	// Domain is a required field
  5354  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  5355  
  5356  	// The 12-digit account number of the AWS account that owns the domain. It does
  5357  	// not include dashes or spaces.
  5358  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  5359  
  5360  	// A format that specifies the type of the requested package version. The valid
  5361  	// values are:
  5362  	//
  5363  	//    * npm
  5364  	//
  5365  	//    * pypi
  5366  	//
  5367  	//    * maven
  5368  	//
  5369  	// Format is a required field
  5370  	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"`
  5371  
  5372  	// The namespace of the package. The package component that specifies its namespace
  5373  	// depends on its type. For example:
  5374  	//
  5375  	//    * The namespace of a Maven package is its groupId.
  5376  	//
  5377  	//    * The namespace of an npm package is its scope.
  5378  	//
  5379  	//    * A Python package does not contain a corresponding component, so Python
  5380  	//    packages do not have a namespace.
  5381  	Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"`
  5382  
  5383  	// The name of the requested package version.
  5384  	//
  5385  	// Package is a required field
  5386  	Package *string `location:"querystring" locationName:"package" min:"1" type:"string" required:"true"`
  5387  
  5388  	// A string that contains the package version (for example, 3.5.2).
  5389  	//
  5390  	// PackageVersion is a required field
  5391  	PackageVersion *string `location:"querystring" locationName:"version" min:"1" type:"string" required:"true"`
  5392  
  5393  	// The name of the repository that contains the package version.
  5394  	//
  5395  	// Repository is a required field
  5396  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  5397  }
  5398  
  5399  // String returns the string representation.
  5400  //
  5401  // API parameter values that are decorated as "sensitive" in the API will not
  5402  // be included in the string output. The member name will be present, but the
  5403  // value will be replaced with "sensitive".
  5404  func (s DescribePackageVersionInput) String() string {
  5405  	return awsutil.Prettify(s)
  5406  }
  5407  
  5408  // GoString returns the string representation.
  5409  //
  5410  // API parameter values that are decorated as "sensitive" in the API will not
  5411  // be included in the string output. The member name will be present, but the
  5412  // value will be replaced with "sensitive".
  5413  func (s DescribePackageVersionInput) GoString() string {
  5414  	return s.String()
  5415  }
  5416  
  5417  // Validate inspects the fields of the type to determine if they are valid.
  5418  func (s *DescribePackageVersionInput) Validate() error {
  5419  	invalidParams := request.ErrInvalidParams{Context: "DescribePackageVersionInput"}
  5420  	if s.Domain == nil {
  5421  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  5422  	}
  5423  	if s.Domain != nil && len(*s.Domain) < 2 {
  5424  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  5425  	}
  5426  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  5427  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  5428  	}
  5429  	if s.Format == nil {
  5430  		invalidParams.Add(request.NewErrParamRequired("Format"))
  5431  	}
  5432  	if s.Namespace != nil && len(*s.Namespace) < 1 {
  5433  		invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
  5434  	}
  5435  	if s.Package == nil {
  5436  		invalidParams.Add(request.NewErrParamRequired("Package"))
  5437  	}
  5438  	if s.Package != nil && len(*s.Package) < 1 {
  5439  		invalidParams.Add(request.NewErrParamMinLen("Package", 1))
  5440  	}
  5441  	if s.PackageVersion == nil {
  5442  		invalidParams.Add(request.NewErrParamRequired("PackageVersion"))
  5443  	}
  5444  	if s.PackageVersion != nil && len(*s.PackageVersion) < 1 {
  5445  		invalidParams.Add(request.NewErrParamMinLen("PackageVersion", 1))
  5446  	}
  5447  	if s.Repository == nil {
  5448  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  5449  	}
  5450  	if s.Repository != nil && len(*s.Repository) < 2 {
  5451  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  5452  	}
  5453  
  5454  	if invalidParams.Len() > 0 {
  5455  		return invalidParams
  5456  	}
  5457  	return nil
  5458  }
  5459  
  5460  // SetDomain sets the Domain field's value.
  5461  func (s *DescribePackageVersionInput) SetDomain(v string) *DescribePackageVersionInput {
  5462  	s.Domain = &v
  5463  	return s
  5464  }
  5465  
  5466  // SetDomainOwner sets the DomainOwner field's value.
  5467  func (s *DescribePackageVersionInput) SetDomainOwner(v string) *DescribePackageVersionInput {
  5468  	s.DomainOwner = &v
  5469  	return s
  5470  }
  5471  
  5472  // SetFormat sets the Format field's value.
  5473  func (s *DescribePackageVersionInput) SetFormat(v string) *DescribePackageVersionInput {
  5474  	s.Format = &v
  5475  	return s
  5476  }
  5477  
  5478  // SetNamespace sets the Namespace field's value.
  5479  func (s *DescribePackageVersionInput) SetNamespace(v string) *DescribePackageVersionInput {
  5480  	s.Namespace = &v
  5481  	return s
  5482  }
  5483  
  5484  // SetPackage sets the Package field's value.
  5485  func (s *DescribePackageVersionInput) SetPackage(v string) *DescribePackageVersionInput {
  5486  	s.Package = &v
  5487  	return s
  5488  }
  5489  
  5490  // SetPackageVersion sets the PackageVersion field's value.
  5491  func (s *DescribePackageVersionInput) SetPackageVersion(v string) *DescribePackageVersionInput {
  5492  	s.PackageVersion = &v
  5493  	return s
  5494  }
  5495  
  5496  // SetRepository sets the Repository field's value.
  5497  func (s *DescribePackageVersionInput) SetRepository(v string) *DescribePackageVersionInput {
  5498  	s.Repository = &v
  5499  	return s
  5500  }
  5501  
  5502  type DescribePackageVersionOutput struct {
  5503  	_ struct{} `type:"structure"`
  5504  
  5505  	// A PackageVersionDescription (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionDescription.html)
  5506  	// object that contains information about the requested package version.
  5507  	//
  5508  	// PackageVersion is a required field
  5509  	PackageVersion *PackageVersionDescription `locationName:"packageVersion" type:"structure" required:"true"`
  5510  }
  5511  
  5512  // String returns the string representation.
  5513  //
  5514  // API parameter values that are decorated as "sensitive" in the API will not
  5515  // be included in the string output. The member name will be present, but the
  5516  // value will be replaced with "sensitive".
  5517  func (s DescribePackageVersionOutput) String() string {
  5518  	return awsutil.Prettify(s)
  5519  }
  5520  
  5521  // GoString returns the string representation.
  5522  //
  5523  // API parameter values that are decorated as "sensitive" in the API will not
  5524  // be included in the string output. The member name will be present, but the
  5525  // value will be replaced with "sensitive".
  5526  func (s DescribePackageVersionOutput) GoString() string {
  5527  	return s.String()
  5528  }
  5529  
  5530  // SetPackageVersion sets the PackageVersion field's value.
  5531  func (s *DescribePackageVersionOutput) SetPackageVersion(v *PackageVersionDescription) *DescribePackageVersionOutput {
  5532  	s.PackageVersion = v
  5533  	return s
  5534  }
  5535  
  5536  type DescribeRepositoryInput struct {
  5537  	_ struct{} `type:"structure" nopayload:"true"`
  5538  
  5539  	// The name of the domain that contains the repository to describe.
  5540  	//
  5541  	// Domain is a required field
  5542  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  5543  
  5544  	// The 12-digit account number of the AWS account that owns the domain. It does
  5545  	// not include dashes or spaces.
  5546  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  5547  
  5548  	// A string that specifies the name of the requested repository.
  5549  	//
  5550  	// Repository is a required field
  5551  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  5552  }
  5553  
  5554  // String returns the string representation.
  5555  //
  5556  // API parameter values that are decorated as "sensitive" in the API will not
  5557  // be included in the string output. The member name will be present, but the
  5558  // value will be replaced with "sensitive".
  5559  func (s DescribeRepositoryInput) String() string {
  5560  	return awsutil.Prettify(s)
  5561  }
  5562  
  5563  // GoString returns the string representation.
  5564  //
  5565  // API parameter values that are decorated as "sensitive" in the API will not
  5566  // be included in the string output. The member name will be present, but the
  5567  // value will be replaced with "sensitive".
  5568  func (s DescribeRepositoryInput) GoString() string {
  5569  	return s.String()
  5570  }
  5571  
  5572  // Validate inspects the fields of the type to determine if they are valid.
  5573  func (s *DescribeRepositoryInput) Validate() error {
  5574  	invalidParams := request.ErrInvalidParams{Context: "DescribeRepositoryInput"}
  5575  	if s.Domain == nil {
  5576  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  5577  	}
  5578  	if s.Domain != nil && len(*s.Domain) < 2 {
  5579  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  5580  	}
  5581  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  5582  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  5583  	}
  5584  	if s.Repository == nil {
  5585  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  5586  	}
  5587  	if s.Repository != nil && len(*s.Repository) < 2 {
  5588  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  5589  	}
  5590  
  5591  	if invalidParams.Len() > 0 {
  5592  		return invalidParams
  5593  	}
  5594  	return nil
  5595  }
  5596  
  5597  // SetDomain sets the Domain field's value.
  5598  func (s *DescribeRepositoryInput) SetDomain(v string) *DescribeRepositoryInput {
  5599  	s.Domain = &v
  5600  	return s
  5601  }
  5602  
  5603  // SetDomainOwner sets the DomainOwner field's value.
  5604  func (s *DescribeRepositoryInput) SetDomainOwner(v string) *DescribeRepositoryInput {
  5605  	s.DomainOwner = &v
  5606  	return s
  5607  }
  5608  
  5609  // SetRepository sets the Repository field's value.
  5610  func (s *DescribeRepositoryInput) SetRepository(v string) *DescribeRepositoryInput {
  5611  	s.Repository = &v
  5612  	return s
  5613  }
  5614  
  5615  type DescribeRepositoryOutput struct {
  5616  	_ struct{} `type:"structure"`
  5617  
  5618  	// A RepositoryDescription object that contains the requested repository information.
  5619  	Repository *RepositoryDescription `locationName:"repository" type:"structure"`
  5620  }
  5621  
  5622  // String returns the string representation.
  5623  //
  5624  // API parameter values that are decorated as "sensitive" in the API will not
  5625  // be included in the string output. The member name will be present, but the
  5626  // value will be replaced with "sensitive".
  5627  func (s DescribeRepositoryOutput) String() string {
  5628  	return awsutil.Prettify(s)
  5629  }
  5630  
  5631  // GoString returns the string representation.
  5632  //
  5633  // API parameter values that are decorated as "sensitive" in the API will not
  5634  // be included in the string output. The member name will be present, but the
  5635  // value will be replaced with "sensitive".
  5636  func (s DescribeRepositoryOutput) GoString() string {
  5637  	return s.String()
  5638  }
  5639  
  5640  // SetRepository sets the Repository field's value.
  5641  func (s *DescribeRepositoryOutput) SetRepository(v *RepositoryDescription) *DescribeRepositoryOutput {
  5642  	s.Repository = v
  5643  	return s
  5644  }
  5645  
  5646  type DisassociateExternalConnectionInput struct {
  5647  	_ struct{} `type:"structure" nopayload:"true"`
  5648  
  5649  	// The name of the domain that contains the repository from which to remove
  5650  	// the external repository.
  5651  	//
  5652  	// Domain is a required field
  5653  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  5654  
  5655  	// The 12-digit account number of the AWS account that owns the domain. It does
  5656  	// not include dashes or spaces.
  5657  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  5658  
  5659  	// The name of the external connection to be removed from the repository.
  5660  	//
  5661  	// ExternalConnection is a required field
  5662  	ExternalConnection *string `location:"querystring" locationName:"external-connection" type:"string" required:"true"`
  5663  
  5664  	// The name of the repository from which the external connection will be removed.
  5665  	//
  5666  	// Repository is a required field
  5667  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  5668  }
  5669  
  5670  // String returns the string representation.
  5671  //
  5672  // API parameter values that are decorated as "sensitive" in the API will not
  5673  // be included in the string output. The member name will be present, but the
  5674  // value will be replaced with "sensitive".
  5675  func (s DisassociateExternalConnectionInput) String() string {
  5676  	return awsutil.Prettify(s)
  5677  }
  5678  
  5679  // GoString returns the string representation.
  5680  //
  5681  // API parameter values that are decorated as "sensitive" in the API will not
  5682  // be included in the string output. The member name will be present, but the
  5683  // value will be replaced with "sensitive".
  5684  func (s DisassociateExternalConnectionInput) GoString() string {
  5685  	return s.String()
  5686  }
  5687  
  5688  // Validate inspects the fields of the type to determine if they are valid.
  5689  func (s *DisassociateExternalConnectionInput) Validate() error {
  5690  	invalidParams := request.ErrInvalidParams{Context: "DisassociateExternalConnectionInput"}
  5691  	if s.Domain == nil {
  5692  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  5693  	}
  5694  	if s.Domain != nil && len(*s.Domain) < 2 {
  5695  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  5696  	}
  5697  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  5698  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  5699  	}
  5700  	if s.ExternalConnection == nil {
  5701  		invalidParams.Add(request.NewErrParamRequired("ExternalConnection"))
  5702  	}
  5703  	if s.Repository == nil {
  5704  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  5705  	}
  5706  	if s.Repository != nil && len(*s.Repository) < 2 {
  5707  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  5708  	}
  5709  
  5710  	if invalidParams.Len() > 0 {
  5711  		return invalidParams
  5712  	}
  5713  	return nil
  5714  }
  5715  
  5716  // SetDomain sets the Domain field's value.
  5717  func (s *DisassociateExternalConnectionInput) SetDomain(v string) *DisassociateExternalConnectionInput {
  5718  	s.Domain = &v
  5719  	return s
  5720  }
  5721  
  5722  // SetDomainOwner sets the DomainOwner field's value.
  5723  func (s *DisassociateExternalConnectionInput) SetDomainOwner(v string) *DisassociateExternalConnectionInput {
  5724  	s.DomainOwner = &v
  5725  	return s
  5726  }
  5727  
  5728  // SetExternalConnection sets the ExternalConnection field's value.
  5729  func (s *DisassociateExternalConnectionInput) SetExternalConnection(v string) *DisassociateExternalConnectionInput {
  5730  	s.ExternalConnection = &v
  5731  	return s
  5732  }
  5733  
  5734  // SetRepository sets the Repository field's value.
  5735  func (s *DisassociateExternalConnectionInput) SetRepository(v string) *DisassociateExternalConnectionInput {
  5736  	s.Repository = &v
  5737  	return s
  5738  }
  5739  
  5740  type DisassociateExternalConnectionOutput struct {
  5741  	_ struct{} `type:"structure"`
  5742  
  5743  	// The repository associated with the removed external connection.
  5744  	Repository *RepositoryDescription `locationName:"repository" type:"structure"`
  5745  }
  5746  
  5747  // String returns the string representation.
  5748  //
  5749  // API parameter values that are decorated as "sensitive" in the API will not
  5750  // be included in the string output. The member name will be present, but the
  5751  // value will be replaced with "sensitive".
  5752  func (s DisassociateExternalConnectionOutput) String() string {
  5753  	return awsutil.Prettify(s)
  5754  }
  5755  
  5756  // GoString returns the string representation.
  5757  //
  5758  // API parameter values that are decorated as "sensitive" in the API will not
  5759  // be included in the string output. The member name will be present, but the
  5760  // value will be replaced with "sensitive".
  5761  func (s DisassociateExternalConnectionOutput) GoString() string {
  5762  	return s.String()
  5763  }
  5764  
  5765  // SetRepository sets the Repository field's value.
  5766  func (s *DisassociateExternalConnectionOutput) SetRepository(v *RepositoryDescription) *DisassociateExternalConnectionOutput {
  5767  	s.Repository = v
  5768  	return s
  5769  }
  5770  
  5771  type DisposePackageVersionsInput struct {
  5772  	_ struct{} `type:"structure"`
  5773  
  5774  	// The name of the domain that contains the repository you want to dispose.
  5775  	//
  5776  	// Domain is a required field
  5777  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  5778  
  5779  	// The 12-digit account number of the AWS account that owns the domain. It does
  5780  	// not include dashes or spaces.
  5781  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  5782  
  5783  	// The expected status of the package version to dispose. Valid values are:
  5784  	//
  5785  	//    * Published
  5786  	//
  5787  	//    * Unfinished
  5788  	//
  5789  	//    * Unlisted
  5790  	//
  5791  	//    * Archived
  5792  	//
  5793  	//    * Disposed
  5794  	ExpectedStatus *string `locationName:"expectedStatus" type:"string" enum:"PackageVersionStatus"`
  5795  
  5796  	// A format that specifies the type of package versions you want to dispose.
  5797  	// The valid values are:
  5798  	//
  5799  	//    * npm
  5800  	//
  5801  	//    * pypi
  5802  	//
  5803  	//    * maven
  5804  	//
  5805  	// Format is a required field
  5806  	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"`
  5807  
  5808  	// The namespace of the package. The package component that specifies its namespace
  5809  	// depends on its type. For example:
  5810  	//
  5811  	//    * The namespace of a Maven package is its groupId.
  5812  	//
  5813  	//    * The namespace of an npm package is its scope.
  5814  	//
  5815  	//    * A Python package does not contain a corresponding component, so Python
  5816  	//    packages do not have a namespace.
  5817  	Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"`
  5818  
  5819  	// The name of the package with the versions you want to dispose.
  5820  	//
  5821  	// Package is a required field
  5822  	Package *string `location:"querystring" locationName:"package" min:"1" type:"string" required:"true"`
  5823  
  5824  	// The name of the repository that contains the package versions you want to
  5825  	// dispose.
  5826  	//
  5827  	// Repository is a required field
  5828  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  5829  
  5830  	// The revisions of the package versions you want to dispose.
  5831  	VersionRevisions map[string]*string `locationName:"versionRevisions" type:"map"`
  5832  
  5833  	// The versions of the package you want to dispose.
  5834  	//
  5835  	// Versions is a required field
  5836  	Versions []*string `locationName:"versions" type:"list" required:"true"`
  5837  }
  5838  
  5839  // String returns the string representation.
  5840  //
  5841  // API parameter values that are decorated as "sensitive" in the API will not
  5842  // be included in the string output. The member name will be present, but the
  5843  // value will be replaced with "sensitive".
  5844  func (s DisposePackageVersionsInput) String() string {
  5845  	return awsutil.Prettify(s)
  5846  }
  5847  
  5848  // GoString returns the string representation.
  5849  //
  5850  // API parameter values that are decorated as "sensitive" in the API will not
  5851  // be included in the string output. The member name will be present, but the
  5852  // value will be replaced with "sensitive".
  5853  func (s DisposePackageVersionsInput) GoString() string {
  5854  	return s.String()
  5855  }
  5856  
  5857  // Validate inspects the fields of the type to determine if they are valid.
  5858  func (s *DisposePackageVersionsInput) Validate() error {
  5859  	invalidParams := request.ErrInvalidParams{Context: "DisposePackageVersionsInput"}
  5860  	if s.Domain == nil {
  5861  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  5862  	}
  5863  	if s.Domain != nil && len(*s.Domain) < 2 {
  5864  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  5865  	}
  5866  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  5867  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  5868  	}
  5869  	if s.Format == nil {
  5870  		invalidParams.Add(request.NewErrParamRequired("Format"))
  5871  	}
  5872  	if s.Namespace != nil && len(*s.Namespace) < 1 {
  5873  		invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
  5874  	}
  5875  	if s.Package == nil {
  5876  		invalidParams.Add(request.NewErrParamRequired("Package"))
  5877  	}
  5878  	if s.Package != nil && len(*s.Package) < 1 {
  5879  		invalidParams.Add(request.NewErrParamMinLen("Package", 1))
  5880  	}
  5881  	if s.Repository == nil {
  5882  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  5883  	}
  5884  	if s.Repository != nil && len(*s.Repository) < 2 {
  5885  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  5886  	}
  5887  	if s.Versions == nil {
  5888  		invalidParams.Add(request.NewErrParamRequired("Versions"))
  5889  	}
  5890  
  5891  	if invalidParams.Len() > 0 {
  5892  		return invalidParams
  5893  	}
  5894  	return nil
  5895  }
  5896  
  5897  // SetDomain sets the Domain field's value.
  5898  func (s *DisposePackageVersionsInput) SetDomain(v string) *DisposePackageVersionsInput {
  5899  	s.Domain = &v
  5900  	return s
  5901  }
  5902  
  5903  // SetDomainOwner sets the DomainOwner field's value.
  5904  func (s *DisposePackageVersionsInput) SetDomainOwner(v string) *DisposePackageVersionsInput {
  5905  	s.DomainOwner = &v
  5906  	return s
  5907  }
  5908  
  5909  // SetExpectedStatus sets the ExpectedStatus field's value.
  5910  func (s *DisposePackageVersionsInput) SetExpectedStatus(v string) *DisposePackageVersionsInput {
  5911  	s.ExpectedStatus = &v
  5912  	return s
  5913  }
  5914  
  5915  // SetFormat sets the Format field's value.
  5916  func (s *DisposePackageVersionsInput) SetFormat(v string) *DisposePackageVersionsInput {
  5917  	s.Format = &v
  5918  	return s
  5919  }
  5920  
  5921  // SetNamespace sets the Namespace field's value.
  5922  func (s *DisposePackageVersionsInput) SetNamespace(v string) *DisposePackageVersionsInput {
  5923  	s.Namespace = &v
  5924  	return s
  5925  }
  5926  
  5927  // SetPackage sets the Package field's value.
  5928  func (s *DisposePackageVersionsInput) SetPackage(v string) *DisposePackageVersionsInput {
  5929  	s.Package = &v
  5930  	return s
  5931  }
  5932  
  5933  // SetRepository sets the Repository field's value.
  5934  func (s *DisposePackageVersionsInput) SetRepository(v string) *DisposePackageVersionsInput {
  5935  	s.Repository = &v
  5936  	return s
  5937  }
  5938  
  5939  // SetVersionRevisions sets the VersionRevisions field's value.
  5940  func (s *DisposePackageVersionsInput) SetVersionRevisions(v map[string]*string) *DisposePackageVersionsInput {
  5941  	s.VersionRevisions = v
  5942  	return s
  5943  }
  5944  
  5945  // SetVersions sets the Versions field's value.
  5946  func (s *DisposePackageVersionsInput) SetVersions(v []*string) *DisposePackageVersionsInput {
  5947  	s.Versions = v
  5948  	return s
  5949  }
  5950  
  5951  type DisposePackageVersionsOutput struct {
  5952  	_ struct{} `type:"structure"`
  5953  
  5954  	// A PackageVersionError object that contains a map of errors codes for the
  5955  	// disposed package versions that failed. The possible error codes are:
  5956  	//
  5957  	//    * ALREADY_EXISTS
  5958  	//
  5959  	//    * MISMATCHED_REVISION
  5960  	//
  5961  	//    * MISMATCHED_STATUS
  5962  	//
  5963  	//    * NOT_ALLOWED
  5964  	//
  5965  	//    * NOT_FOUND
  5966  	//
  5967  	//    * SKIPPED
  5968  	FailedVersions map[string]*PackageVersionError `locationName:"failedVersions" type:"map"`
  5969  
  5970  	// A list of the package versions that were successfully disposed.
  5971  	SuccessfulVersions map[string]*SuccessfulPackageVersionInfo `locationName:"successfulVersions" type:"map"`
  5972  }
  5973  
  5974  // String returns the string representation.
  5975  //
  5976  // API parameter values that are decorated as "sensitive" in the API will not
  5977  // be included in the string output. The member name will be present, but the
  5978  // value will be replaced with "sensitive".
  5979  func (s DisposePackageVersionsOutput) String() string {
  5980  	return awsutil.Prettify(s)
  5981  }
  5982  
  5983  // GoString returns the string representation.
  5984  //
  5985  // API parameter values that are decorated as "sensitive" in the API will not
  5986  // be included in the string output. The member name will be present, but the
  5987  // value will be replaced with "sensitive".
  5988  func (s DisposePackageVersionsOutput) GoString() string {
  5989  	return s.String()
  5990  }
  5991  
  5992  // SetFailedVersions sets the FailedVersions field's value.
  5993  func (s *DisposePackageVersionsOutput) SetFailedVersions(v map[string]*PackageVersionError) *DisposePackageVersionsOutput {
  5994  	s.FailedVersions = v
  5995  	return s
  5996  }
  5997  
  5998  // SetSuccessfulVersions sets the SuccessfulVersions field's value.
  5999  func (s *DisposePackageVersionsOutput) SetSuccessfulVersions(v map[string]*SuccessfulPackageVersionInfo) *DisposePackageVersionsOutput {
  6000  	s.SuccessfulVersions = v
  6001  	return s
  6002  }
  6003  
  6004  // Information about a domain. A domain is a container for repositories. When
  6005  // you create a domain, it is empty until you add one or more repositories.
  6006  type DomainDescription struct {
  6007  	_ struct{} `type:"structure"`
  6008  
  6009  	// The Amazon Resource Name (ARN) of the domain.
  6010  	Arn *string `locationName:"arn" min:"1" type:"string"`
  6011  
  6012  	// The total size of all assets in the domain.
  6013  	AssetSizeBytes *int64 `locationName:"assetSizeBytes" type:"long"`
  6014  
  6015  	// A timestamp that represents the date and time the domain was created.
  6016  	CreatedTime *time.Time `locationName:"createdTime" type:"timestamp"`
  6017  
  6018  	// The ARN of an AWS Key Management Service (AWS KMS) key associated with a
  6019  	// domain.
  6020  	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
  6021  
  6022  	// The name of the domain.
  6023  	Name *string `locationName:"name" min:"2" type:"string"`
  6024  
  6025  	// The AWS account ID that owns the domain.
  6026  	Owner *string `locationName:"owner" min:"12" type:"string"`
  6027  
  6028  	// The number of repositories in the domain.
  6029  	RepositoryCount *int64 `locationName:"repositoryCount" type:"integer"`
  6030  
  6031  	// The Amazon Resource Name (ARN) of the Amazon S3 bucket that is used to store
  6032  	// package assets in the domain.
  6033  	S3BucketArn *string `locationName:"s3BucketArn" min:"1" type:"string"`
  6034  
  6035  	// The current status of a domain. The valid values are
  6036  	//
  6037  	//    * Active
  6038  	//
  6039  	//    * Deleted
  6040  	Status *string `locationName:"status" type:"string" enum:"DomainStatus"`
  6041  }
  6042  
  6043  // String returns the string representation.
  6044  //
  6045  // API parameter values that are decorated as "sensitive" in the API will not
  6046  // be included in the string output. The member name will be present, but the
  6047  // value will be replaced with "sensitive".
  6048  func (s DomainDescription) String() string {
  6049  	return awsutil.Prettify(s)
  6050  }
  6051  
  6052  // GoString returns the string representation.
  6053  //
  6054  // API parameter values that are decorated as "sensitive" in the API will not
  6055  // be included in the string output. The member name will be present, but the
  6056  // value will be replaced with "sensitive".
  6057  func (s DomainDescription) GoString() string {
  6058  	return s.String()
  6059  }
  6060  
  6061  // SetArn sets the Arn field's value.
  6062  func (s *DomainDescription) SetArn(v string) *DomainDescription {
  6063  	s.Arn = &v
  6064  	return s
  6065  }
  6066  
  6067  // SetAssetSizeBytes sets the AssetSizeBytes field's value.
  6068  func (s *DomainDescription) SetAssetSizeBytes(v int64) *DomainDescription {
  6069  	s.AssetSizeBytes = &v
  6070  	return s
  6071  }
  6072  
  6073  // SetCreatedTime sets the CreatedTime field's value.
  6074  func (s *DomainDescription) SetCreatedTime(v time.Time) *DomainDescription {
  6075  	s.CreatedTime = &v
  6076  	return s
  6077  }
  6078  
  6079  // SetEncryptionKey sets the EncryptionKey field's value.
  6080  func (s *DomainDescription) SetEncryptionKey(v string) *DomainDescription {
  6081  	s.EncryptionKey = &v
  6082  	return s
  6083  }
  6084  
  6085  // SetName sets the Name field's value.
  6086  func (s *DomainDescription) SetName(v string) *DomainDescription {
  6087  	s.Name = &v
  6088  	return s
  6089  }
  6090  
  6091  // SetOwner sets the Owner field's value.
  6092  func (s *DomainDescription) SetOwner(v string) *DomainDescription {
  6093  	s.Owner = &v
  6094  	return s
  6095  }
  6096  
  6097  // SetRepositoryCount sets the RepositoryCount field's value.
  6098  func (s *DomainDescription) SetRepositoryCount(v int64) *DomainDescription {
  6099  	s.RepositoryCount = &v
  6100  	return s
  6101  }
  6102  
  6103  // SetS3BucketArn sets the S3BucketArn field's value.
  6104  func (s *DomainDescription) SetS3BucketArn(v string) *DomainDescription {
  6105  	s.S3BucketArn = &v
  6106  	return s
  6107  }
  6108  
  6109  // SetStatus sets the Status field's value.
  6110  func (s *DomainDescription) SetStatus(v string) *DomainDescription {
  6111  	s.Status = &v
  6112  	return s
  6113  }
  6114  
  6115  // Information about a domain, including its name, Amazon Resource Name (ARN),
  6116  // and status. The ListDomains (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListDomains.html)
  6117  // operation returns a list of DomainSummary objects.
  6118  type DomainSummary struct {
  6119  	_ struct{} `type:"structure"`
  6120  
  6121  	// The ARN of the domain.
  6122  	Arn *string `locationName:"arn" min:"1" type:"string"`
  6123  
  6124  	// A timestamp that contains the date and time the domain was created.
  6125  	CreatedTime *time.Time `locationName:"createdTime" type:"timestamp"`
  6126  
  6127  	// The key used to encrypt the domain.
  6128  	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
  6129  
  6130  	// The name of the domain.
  6131  	Name *string `locationName:"name" min:"2" type:"string"`
  6132  
  6133  	// The 12-digit account number of the AWS account that owns the domain. It does
  6134  	// not include dashes or spaces.
  6135  	Owner *string `locationName:"owner" min:"12" type:"string"`
  6136  
  6137  	// A string that contains the status of the domain. The valid values are:
  6138  	//
  6139  	//    * Active
  6140  	//
  6141  	//    * Deleted
  6142  	Status *string `locationName:"status" type:"string" enum:"DomainStatus"`
  6143  }
  6144  
  6145  // String returns the string representation.
  6146  //
  6147  // API parameter values that are decorated as "sensitive" in the API will not
  6148  // be included in the string output. The member name will be present, but the
  6149  // value will be replaced with "sensitive".
  6150  func (s DomainSummary) String() string {
  6151  	return awsutil.Prettify(s)
  6152  }
  6153  
  6154  // GoString returns the string representation.
  6155  //
  6156  // API parameter values that are decorated as "sensitive" in the API will not
  6157  // be included in the string output. The member name will be present, but the
  6158  // value will be replaced with "sensitive".
  6159  func (s DomainSummary) GoString() string {
  6160  	return s.String()
  6161  }
  6162  
  6163  // SetArn sets the Arn field's value.
  6164  func (s *DomainSummary) SetArn(v string) *DomainSummary {
  6165  	s.Arn = &v
  6166  	return s
  6167  }
  6168  
  6169  // SetCreatedTime sets the CreatedTime field's value.
  6170  func (s *DomainSummary) SetCreatedTime(v time.Time) *DomainSummary {
  6171  	s.CreatedTime = &v
  6172  	return s
  6173  }
  6174  
  6175  // SetEncryptionKey sets the EncryptionKey field's value.
  6176  func (s *DomainSummary) SetEncryptionKey(v string) *DomainSummary {
  6177  	s.EncryptionKey = &v
  6178  	return s
  6179  }
  6180  
  6181  // SetName sets the Name field's value.
  6182  func (s *DomainSummary) SetName(v string) *DomainSummary {
  6183  	s.Name = &v
  6184  	return s
  6185  }
  6186  
  6187  // SetOwner sets the Owner field's value.
  6188  func (s *DomainSummary) SetOwner(v string) *DomainSummary {
  6189  	s.Owner = &v
  6190  	return s
  6191  }
  6192  
  6193  // SetStatus sets the Status field's value.
  6194  func (s *DomainSummary) SetStatus(v string) *DomainSummary {
  6195  	s.Status = &v
  6196  	return s
  6197  }
  6198  
  6199  type GetAuthorizationTokenInput struct {
  6200  	_ struct{} `type:"structure" nopayload:"true"`
  6201  
  6202  	// The name of the domain that is in scope for the generated authorization token.
  6203  	//
  6204  	// Domain is a required field
  6205  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  6206  
  6207  	// The 12-digit account number of the AWS account that owns the domain. It does
  6208  	// not include dashes or spaces.
  6209  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  6210  
  6211  	// The time, in seconds, that the generated authorization token is valid. Valid
  6212  	// values are 0 and any number between 900 (15 minutes) and 43200 (12 hours).
  6213  	// A value of 0 will set the expiration of the authorization token to the same
  6214  	// expiration of the user's role's temporary credentials.
  6215  	DurationSeconds *int64 `location:"querystring" locationName:"duration" type:"long"`
  6216  }
  6217  
  6218  // String returns the string representation.
  6219  //
  6220  // API parameter values that are decorated as "sensitive" in the API will not
  6221  // be included in the string output. The member name will be present, but the
  6222  // value will be replaced with "sensitive".
  6223  func (s GetAuthorizationTokenInput) String() string {
  6224  	return awsutil.Prettify(s)
  6225  }
  6226  
  6227  // GoString returns the string representation.
  6228  //
  6229  // API parameter values that are decorated as "sensitive" in the API will not
  6230  // be included in the string output. The member name will be present, but the
  6231  // value will be replaced with "sensitive".
  6232  func (s GetAuthorizationTokenInput) GoString() string {
  6233  	return s.String()
  6234  }
  6235  
  6236  // Validate inspects the fields of the type to determine if they are valid.
  6237  func (s *GetAuthorizationTokenInput) Validate() error {
  6238  	invalidParams := request.ErrInvalidParams{Context: "GetAuthorizationTokenInput"}
  6239  	if s.Domain == nil {
  6240  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  6241  	}
  6242  	if s.Domain != nil && len(*s.Domain) < 2 {
  6243  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  6244  	}
  6245  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  6246  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  6247  	}
  6248  
  6249  	if invalidParams.Len() > 0 {
  6250  		return invalidParams
  6251  	}
  6252  	return nil
  6253  }
  6254  
  6255  // SetDomain sets the Domain field's value.
  6256  func (s *GetAuthorizationTokenInput) SetDomain(v string) *GetAuthorizationTokenInput {
  6257  	s.Domain = &v
  6258  	return s
  6259  }
  6260  
  6261  // SetDomainOwner sets the DomainOwner field's value.
  6262  func (s *GetAuthorizationTokenInput) SetDomainOwner(v string) *GetAuthorizationTokenInput {
  6263  	s.DomainOwner = &v
  6264  	return s
  6265  }
  6266  
  6267  // SetDurationSeconds sets the DurationSeconds field's value.
  6268  func (s *GetAuthorizationTokenInput) SetDurationSeconds(v int64) *GetAuthorizationTokenInput {
  6269  	s.DurationSeconds = &v
  6270  	return s
  6271  }
  6272  
  6273  type GetAuthorizationTokenOutput struct {
  6274  	_ struct{} `type:"structure"`
  6275  
  6276  	// The returned authentication token.
  6277  	AuthorizationToken *string `locationName:"authorizationToken" type:"string"`
  6278  
  6279  	// A timestamp that specifies the date and time the authorization token expires.
  6280  	Expiration *time.Time `locationName:"expiration" type:"timestamp"`
  6281  }
  6282  
  6283  // String returns the string representation.
  6284  //
  6285  // API parameter values that are decorated as "sensitive" in the API will not
  6286  // be included in the string output. The member name will be present, but the
  6287  // value will be replaced with "sensitive".
  6288  func (s GetAuthorizationTokenOutput) String() string {
  6289  	return awsutil.Prettify(s)
  6290  }
  6291  
  6292  // GoString returns the string representation.
  6293  //
  6294  // API parameter values that are decorated as "sensitive" in the API will not
  6295  // be included in the string output. The member name will be present, but the
  6296  // value will be replaced with "sensitive".
  6297  func (s GetAuthorizationTokenOutput) GoString() string {
  6298  	return s.String()
  6299  }
  6300  
  6301  // SetAuthorizationToken sets the AuthorizationToken field's value.
  6302  func (s *GetAuthorizationTokenOutput) SetAuthorizationToken(v string) *GetAuthorizationTokenOutput {
  6303  	s.AuthorizationToken = &v
  6304  	return s
  6305  }
  6306  
  6307  // SetExpiration sets the Expiration field's value.
  6308  func (s *GetAuthorizationTokenOutput) SetExpiration(v time.Time) *GetAuthorizationTokenOutput {
  6309  	s.Expiration = &v
  6310  	return s
  6311  }
  6312  
  6313  type GetDomainPermissionsPolicyInput struct {
  6314  	_ struct{} `type:"structure" nopayload:"true"`
  6315  
  6316  	// The name of the domain to which the resource policy is attached.
  6317  	//
  6318  	// Domain is a required field
  6319  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  6320  
  6321  	// The 12-digit account number of the AWS account that owns the domain. It does
  6322  	// not include dashes or spaces.
  6323  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  6324  }
  6325  
  6326  // String returns the string representation.
  6327  //
  6328  // API parameter values that are decorated as "sensitive" in the API will not
  6329  // be included in the string output. The member name will be present, but the
  6330  // value will be replaced with "sensitive".
  6331  func (s GetDomainPermissionsPolicyInput) String() string {
  6332  	return awsutil.Prettify(s)
  6333  }
  6334  
  6335  // GoString returns the string representation.
  6336  //
  6337  // API parameter values that are decorated as "sensitive" in the API will not
  6338  // be included in the string output. The member name will be present, but the
  6339  // value will be replaced with "sensitive".
  6340  func (s GetDomainPermissionsPolicyInput) GoString() string {
  6341  	return s.String()
  6342  }
  6343  
  6344  // Validate inspects the fields of the type to determine if they are valid.
  6345  func (s *GetDomainPermissionsPolicyInput) Validate() error {
  6346  	invalidParams := request.ErrInvalidParams{Context: "GetDomainPermissionsPolicyInput"}
  6347  	if s.Domain == nil {
  6348  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  6349  	}
  6350  	if s.Domain != nil && len(*s.Domain) < 2 {
  6351  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  6352  	}
  6353  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  6354  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  6355  	}
  6356  
  6357  	if invalidParams.Len() > 0 {
  6358  		return invalidParams
  6359  	}
  6360  	return nil
  6361  }
  6362  
  6363  // SetDomain sets the Domain field's value.
  6364  func (s *GetDomainPermissionsPolicyInput) SetDomain(v string) *GetDomainPermissionsPolicyInput {
  6365  	s.Domain = &v
  6366  	return s
  6367  }
  6368  
  6369  // SetDomainOwner sets the DomainOwner field's value.
  6370  func (s *GetDomainPermissionsPolicyInput) SetDomainOwner(v string) *GetDomainPermissionsPolicyInput {
  6371  	s.DomainOwner = &v
  6372  	return s
  6373  }
  6374  
  6375  type GetDomainPermissionsPolicyOutput struct {
  6376  	_ struct{} `type:"structure"`
  6377  
  6378  	// The returned resource policy.
  6379  	Policy *ResourcePolicy `locationName:"policy" type:"structure"`
  6380  }
  6381  
  6382  // String returns the string representation.
  6383  //
  6384  // API parameter values that are decorated as "sensitive" in the API will not
  6385  // be included in the string output. The member name will be present, but the
  6386  // value will be replaced with "sensitive".
  6387  func (s GetDomainPermissionsPolicyOutput) String() string {
  6388  	return awsutil.Prettify(s)
  6389  }
  6390  
  6391  // GoString returns the string representation.
  6392  //
  6393  // API parameter values that are decorated as "sensitive" in the API will not
  6394  // be included in the string output. The member name will be present, but the
  6395  // value will be replaced with "sensitive".
  6396  func (s GetDomainPermissionsPolicyOutput) GoString() string {
  6397  	return s.String()
  6398  }
  6399  
  6400  // SetPolicy sets the Policy field's value.
  6401  func (s *GetDomainPermissionsPolicyOutput) SetPolicy(v *ResourcePolicy) *GetDomainPermissionsPolicyOutput {
  6402  	s.Policy = v
  6403  	return s
  6404  }
  6405  
  6406  type GetPackageVersionAssetInput struct {
  6407  	_ struct{} `type:"structure" nopayload:"true"`
  6408  
  6409  	// The name of the requested asset.
  6410  	//
  6411  	// Asset is a required field
  6412  	Asset *string `location:"querystring" locationName:"asset" min:"1" type:"string" required:"true"`
  6413  
  6414  	// The name of the domain that contains the repository that contains the package
  6415  	// version with the requested asset.
  6416  	//
  6417  	// Domain is a required field
  6418  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  6419  
  6420  	// The 12-digit account number of the AWS account that owns the domain. It does
  6421  	// not include dashes or spaces.
  6422  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  6423  
  6424  	// A format that specifies the type of the package version with the requested
  6425  	// asset file. The valid values are:
  6426  	//
  6427  	//    * npm
  6428  	//
  6429  	//    * pypi
  6430  	//
  6431  	//    * maven
  6432  	//
  6433  	// Format is a required field
  6434  	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"`
  6435  
  6436  	// The namespace of the package. The package component that specifies its namespace
  6437  	// depends on its type. For example:
  6438  	//
  6439  	//    * The namespace of a Maven package is its groupId.
  6440  	//
  6441  	//    * The namespace of an npm package is its scope.
  6442  	//
  6443  	//    * A Python package does not contain a corresponding component, so Python
  6444  	//    packages do not have a namespace.
  6445  	Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"`
  6446  
  6447  	// The name of the package that contains the requested asset.
  6448  	//
  6449  	// Package is a required field
  6450  	Package *string `location:"querystring" locationName:"package" min:"1" type:"string" required:"true"`
  6451  
  6452  	// A string that contains the package version (for example, 3.5.2).
  6453  	//
  6454  	// PackageVersion is a required field
  6455  	PackageVersion *string `location:"querystring" locationName:"version" min:"1" type:"string" required:"true"`
  6456  
  6457  	// The name of the package version revision that contains the requested asset.
  6458  	PackageVersionRevision *string `location:"querystring" locationName:"revision" min:"1" type:"string"`
  6459  
  6460  	// The repository that contains the package version with the requested asset.
  6461  	//
  6462  	// Repository is a required field
  6463  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  6464  }
  6465  
  6466  // String returns the string representation.
  6467  //
  6468  // API parameter values that are decorated as "sensitive" in the API will not
  6469  // be included in the string output. The member name will be present, but the
  6470  // value will be replaced with "sensitive".
  6471  func (s GetPackageVersionAssetInput) String() string {
  6472  	return awsutil.Prettify(s)
  6473  }
  6474  
  6475  // GoString returns the string representation.
  6476  //
  6477  // API parameter values that are decorated as "sensitive" in the API will not
  6478  // be included in the string output. The member name will be present, but the
  6479  // value will be replaced with "sensitive".
  6480  func (s GetPackageVersionAssetInput) GoString() string {
  6481  	return s.String()
  6482  }
  6483  
  6484  // Validate inspects the fields of the type to determine if they are valid.
  6485  func (s *GetPackageVersionAssetInput) Validate() error {
  6486  	invalidParams := request.ErrInvalidParams{Context: "GetPackageVersionAssetInput"}
  6487  	if s.Asset == nil {
  6488  		invalidParams.Add(request.NewErrParamRequired("Asset"))
  6489  	}
  6490  	if s.Asset != nil && len(*s.Asset) < 1 {
  6491  		invalidParams.Add(request.NewErrParamMinLen("Asset", 1))
  6492  	}
  6493  	if s.Domain == nil {
  6494  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  6495  	}
  6496  	if s.Domain != nil && len(*s.Domain) < 2 {
  6497  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  6498  	}
  6499  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  6500  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  6501  	}
  6502  	if s.Format == nil {
  6503  		invalidParams.Add(request.NewErrParamRequired("Format"))
  6504  	}
  6505  	if s.Namespace != nil && len(*s.Namespace) < 1 {
  6506  		invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
  6507  	}
  6508  	if s.Package == nil {
  6509  		invalidParams.Add(request.NewErrParamRequired("Package"))
  6510  	}
  6511  	if s.Package != nil && len(*s.Package) < 1 {
  6512  		invalidParams.Add(request.NewErrParamMinLen("Package", 1))
  6513  	}
  6514  	if s.PackageVersion == nil {
  6515  		invalidParams.Add(request.NewErrParamRequired("PackageVersion"))
  6516  	}
  6517  	if s.PackageVersion != nil && len(*s.PackageVersion) < 1 {
  6518  		invalidParams.Add(request.NewErrParamMinLen("PackageVersion", 1))
  6519  	}
  6520  	if s.PackageVersionRevision != nil && len(*s.PackageVersionRevision) < 1 {
  6521  		invalidParams.Add(request.NewErrParamMinLen("PackageVersionRevision", 1))
  6522  	}
  6523  	if s.Repository == nil {
  6524  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  6525  	}
  6526  	if s.Repository != nil && len(*s.Repository) < 2 {
  6527  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  6528  	}
  6529  
  6530  	if invalidParams.Len() > 0 {
  6531  		return invalidParams
  6532  	}
  6533  	return nil
  6534  }
  6535  
  6536  // SetAsset sets the Asset field's value.
  6537  func (s *GetPackageVersionAssetInput) SetAsset(v string) *GetPackageVersionAssetInput {
  6538  	s.Asset = &v
  6539  	return s
  6540  }
  6541  
  6542  // SetDomain sets the Domain field's value.
  6543  func (s *GetPackageVersionAssetInput) SetDomain(v string) *GetPackageVersionAssetInput {
  6544  	s.Domain = &v
  6545  	return s
  6546  }
  6547  
  6548  // SetDomainOwner sets the DomainOwner field's value.
  6549  func (s *GetPackageVersionAssetInput) SetDomainOwner(v string) *GetPackageVersionAssetInput {
  6550  	s.DomainOwner = &v
  6551  	return s
  6552  }
  6553  
  6554  // SetFormat sets the Format field's value.
  6555  func (s *GetPackageVersionAssetInput) SetFormat(v string) *GetPackageVersionAssetInput {
  6556  	s.Format = &v
  6557  	return s
  6558  }
  6559  
  6560  // SetNamespace sets the Namespace field's value.
  6561  func (s *GetPackageVersionAssetInput) SetNamespace(v string) *GetPackageVersionAssetInput {
  6562  	s.Namespace = &v
  6563  	return s
  6564  }
  6565  
  6566  // SetPackage sets the Package field's value.
  6567  func (s *GetPackageVersionAssetInput) SetPackage(v string) *GetPackageVersionAssetInput {
  6568  	s.Package = &v
  6569  	return s
  6570  }
  6571  
  6572  // SetPackageVersion sets the PackageVersion field's value.
  6573  func (s *GetPackageVersionAssetInput) SetPackageVersion(v string) *GetPackageVersionAssetInput {
  6574  	s.PackageVersion = &v
  6575  	return s
  6576  }
  6577  
  6578  // SetPackageVersionRevision sets the PackageVersionRevision field's value.
  6579  func (s *GetPackageVersionAssetInput) SetPackageVersionRevision(v string) *GetPackageVersionAssetInput {
  6580  	s.PackageVersionRevision = &v
  6581  	return s
  6582  }
  6583  
  6584  // SetRepository sets the Repository field's value.
  6585  func (s *GetPackageVersionAssetInput) SetRepository(v string) *GetPackageVersionAssetInput {
  6586  	s.Repository = &v
  6587  	return s
  6588  }
  6589  
  6590  type GetPackageVersionAssetOutput struct {
  6591  	_ struct{} `type:"structure" payload:"Asset"`
  6592  
  6593  	// The binary file, or asset, that is downloaded.
  6594  	Asset io.ReadCloser `locationName:"asset" type:"blob"`
  6595  
  6596  	// The name of the asset that is downloaded.
  6597  	AssetName *string `location:"header" locationName:"X-AssetName" min:"1" type:"string"`
  6598  
  6599  	// A string that contains the package version (for example, 3.5.2).
  6600  	PackageVersion *string `location:"header" locationName:"X-PackageVersion" min:"1" type:"string"`
  6601  
  6602  	// The name of the package version revision that contains the downloaded asset.
  6603  	PackageVersionRevision *string `location:"header" locationName:"X-PackageVersionRevision" min:"1" type:"string"`
  6604  }
  6605  
  6606  // String returns the string representation.
  6607  //
  6608  // API parameter values that are decorated as "sensitive" in the API will not
  6609  // be included in the string output. The member name will be present, but the
  6610  // value will be replaced with "sensitive".
  6611  func (s GetPackageVersionAssetOutput) String() string {
  6612  	return awsutil.Prettify(s)
  6613  }
  6614  
  6615  // GoString returns the string representation.
  6616  //
  6617  // API parameter values that are decorated as "sensitive" in the API will not
  6618  // be included in the string output. The member name will be present, but the
  6619  // value will be replaced with "sensitive".
  6620  func (s GetPackageVersionAssetOutput) GoString() string {
  6621  	return s.String()
  6622  }
  6623  
  6624  // SetAsset sets the Asset field's value.
  6625  func (s *GetPackageVersionAssetOutput) SetAsset(v io.ReadCloser) *GetPackageVersionAssetOutput {
  6626  	s.Asset = v
  6627  	return s
  6628  }
  6629  
  6630  // SetAssetName sets the AssetName field's value.
  6631  func (s *GetPackageVersionAssetOutput) SetAssetName(v string) *GetPackageVersionAssetOutput {
  6632  	s.AssetName = &v
  6633  	return s
  6634  }
  6635  
  6636  // SetPackageVersion sets the PackageVersion field's value.
  6637  func (s *GetPackageVersionAssetOutput) SetPackageVersion(v string) *GetPackageVersionAssetOutput {
  6638  	s.PackageVersion = &v
  6639  	return s
  6640  }
  6641  
  6642  // SetPackageVersionRevision sets the PackageVersionRevision field's value.
  6643  func (s *GetPackageVersionAssetOutput) SetPackageVersionRevision(v string) *GetPackageVersionAssetOutput {
  6644  	s.PackageVersionRevision = &v
  6645  	return s
  6646  }
  6647  
  6648  type GetPackageVersionReadmeInput struct {
  6649  	_ struct{} `type:"structure" nopayload:"true"`
  6650  
  6651  	// The name of the domain that contains the repository that contains the package
  6652  	// version with the requested readme file.
  6653  	//
  6654  	// Domain is a required field
  6655  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  6656  
  6657  	// The 12-digit account number of the AWS account that owns the domain. It does
  6658  	// not include dashes or spaces.
  6659  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  6660  
  6661  	// A format that specifies the type of the package version with the requested
  6662  	// readme file. The valid values are:
  6663  	//
  6664  	//    * npm
  6665  	//
  6666  	//    * pypi
  6667  	//
  6668  	//    * maven
  6669  	//
  6670  	// Format is a required field
  6671  	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"`
  6672  
  6673  	// The namespace of the package. The package component that specifies its namespace
  6674  	// depends on its type. For example:
  6675  	//
  6676  	//    * The namespace of a Maven package is its groupId.
  6677  	//
  6678  	//    * The namespace of an npm package is its scope.
  6679  	//
  6680  	//    * A Python package does not contain a corresponding component, so Python
  6681  	//    packages do not have a namespace.
  6682  	Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"`
  6683  
  6684  	// The name of the package version that contains the requested readme file.
  6685  	//
  6686  	// Package is a required field
  6687  	Package *string `location:"querystring" locationName:"package" min:"1" type:"string" required:"true"`
  6688  
  6689  	// A string that contains the package version (for example, 3.5.2).
  6690  	//
  6691  	// PackageVersion is a required field
  6692  	PackageVersion *string `location:"querystring" locationName:"version" min:"1" type:"string" required:"true"`
  6693  
  6694  	// The repository that contains the package with the requested readme file.
  6695  	//
  6696  	// Repository is a required field
  6697  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  6698  }
  6699  
  6700  // String returns the string representation.
  6701  //
  6702  // API parameter values that are decorated as "sensitive" in the API will not
  6703  // be included in the string output. The member name will be present, but the
  6704  // value will be replaced with "sensitive".
  6705  func (s GetPackageVersionReadmeInput) String() string {
  6706  	return awsutil.Prettify(s)
  6707  }
  6708  
  6709  // GoString returns the string representation.
  6710  //
  6711  // API parameter values that are decorated as "sensitive" in the API will not
  6712  // be included in the string output. The member name will be present, but the
  6713  // value will be replaced with "sensitive".
  6714  func (s GetPackageVersionReadmeInput) GoString() string {
  6715  	return s.String()
  6716  }
  6717  
  6718  // Validate inspects the fields of the type to determine if they are valid.
  6719  func (s *GetPackageVersionReadmeInput) Validate() error {
  6720  	invalidParams := request.ErrInvalidParams{Context: "GetPackageVersionReadmeInput"}
  6721  	if s.Domain == nil {
  6722  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  6723  	}
  6724  	if s.Domain != nil && len(*s.Domain) < 2 {
  6725  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  6726  	}
  6727  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  6728  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  6729  	}
  6730  	if s.Format == nil {
  6731  		invalidParams.Add(request.NewErrParamRequired("Format"))
  6732  	}
  6733  	if s.Namespace != nil && len(*s.Namespace) < 1 {
  6734  		invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
  6735  	}
  6736  	if s.Package == nil {
  6737  		invalidParams.Add(request.NewErrParamRequired("Package"))
  6738  	}
  6739  	if s.Package != nil && len(*s.Package) < 1 {
  6740  		invalidParams.Add(request.NewErrParamMinLen("Package", 1))
  6741  	}
  6742  	if s.PackageVersion == nil {
  6743  		invalidParams.Add(request.NewErrParamRequired("PackageVersion"))
  6744  	}
  6745  	if s.PackageVersion != nil && len(*s.PackageVersion) < 1 {
  6746  		invalidParams.Add(request.NewErrParamMinLen("PackageVersion", 1))
  6747  	}
  6748  	if s.Repository == nil {
  6749  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  6750  	}
  6751  	if s.Repository != nil && len(*s.Repository) < 2 {
  6752  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  6753  	}
  6754  
  6755  	if invalidParams.Len() > 0 {
  6756  		return invalidParams
  6757  	}
  6758  	return nil
  6759  }
  6760  
  6761  // SetDomain sets the Domain field's value.
  6762  func (s *GetPackageVersionReadmeInput) SetDomain(v string) *GetPackageVersionReadmeInput {
  6763  	s.Domain = &v
  6764  	return s
  6765  }
  6766  
  6767  // SetDomainOwner sets the DomainOwner field's value.
  6768  func (s *GetPackageVersionReadmeInput) SetDomainOwner(v string) *GetPackageVersionReadmeInput {
  6769  	s.DomainOwner = &v
  6770  	return s
  6771  }
  6772  
  6773  // SetFormat sets the Format field's value.
  6774  func (s *GetPackageVersionReadmeInput) SetFormat(v string) *GetPackageVersionReadmeInput {
  6775  	s.Format = &v
  6776  	return s
  6777  }
  6778  
  6779  // SetNamespace sets the Namespace field's value.
  6780  func (s *GetPackageVersionReadmeInput) SetNamespace(v string) *GetPackageVersionReadmeInput {
  6781  	s.Namespace = &v
  6782  	return s
  6783  }
  6784  
  6785  // SetPackage sets the Package field's value.
  6786  func (s *GetPackageVersionReadmeInput) SetPackage(v string) *GetPackageVersionReadmeInput {
  6787  	s.Package = &v
  6788  	return s
  6789  }
  6790  
  6791  // SetPackageVersion sets the PackageVersion field's value.
  6792  func (s *GetPackageVersionReadmeInput) SetPackageVersion(v string) *GetPackageVersionReadmeInput {
  6793  	s.PackageVersion = &v
  6794  	return s
  6795  }
  6796  
  6797  // SetRepository sets the Repository field's value.
  6798  func (s *GetPackageVersionReadmeInput) SetRepository(v string) *GetPackageVersionReadmeInput {
  6799  	s.Repository = &v
  6800  	return s
  6801  }
  6802  
  6803  type GetPackageVersionReadmeOutput struct {
  6804  	_ struct{} `type:"structure"`
  6805  
  6806  	// The format of the package with the requested readme file. Valid format types
  6807  	// are:
  6808  	//
  6809  	//    * npm
  6810  	//
  6811  	//    * pypi
  6812  	//
  6813  	//    * maven
  6814  	Format *string `locationName:"format" type:"string" enum:"PackageFormat"`
  6815  
  6816  	// The namespace of the package. The package component that specifies its namespace
  6817  	// depends on its type. For example:
  6818  	//
  6819  	//    * The namespace of a Maven package is its groupId.
  6820  	//
  6821  	//    * The namespace of an npm package is its scope.
  6822  	//
  6823  	//    * A Python package does not contain a corresponding component, so Python
  6824  	//    packages do not have a namespace.
  6825  	Namespace *string `locationName:"namespace" min:"1" type:"string"`
  6826  
  6827  	// The name of the package that contains the returned readme file.
  6828  	Package *string `locationName:"package" min:"1" type:"string"`
  6829  
  6830  	// The text of the returned readme file.
  6831  	Readme *string `locationName:"readme" type:"string"`
  6832  
  6833  	// The version of the package with the requested readme file.
  6834  	Version *string `locationName:"version" min:"1" type:"string"`
  6835  
  6836  	// The current revision associated with the package version.
  6837  	VersionRevision *string `locationName:"versionRevision" min:"1" type:"string"`
  6838  }
  6839  
  6840  // String returns the string representation.
  6841  //
  6842  // API parameter values that are decorated as "sensitive" in the API will not
  6843  // be included in the string output. The member name will be present, but the
  6844  // value will be replaced with "sensitive".
  6845  func (s GetPackageVersionReadmeOutput) String() string {
  6846  	return awsutil.Prettify(s)
  6847  }
  6848  
  6849  // GoString returns the string representation.
  6850  //
  6851  // API parameter values that are decorated as "sensitive" in the API will not
  6852  // be included in the string output. The member name will be present, but the
  6853  // value will be replaced with "sensitive".
  6854  func (s GetPackageVersionReadmeOutput) GoString() string {
  6855  	return s.String()
  6856  }
  6857  
  6858  // SetFormat sets the Format field's value.
  6859  func (s *GetPackageVersionReadmeOutput) SetFormat(v string) *GetPackageVersionReadmeOutput {
  6860  	s.Format = &v
  6861  	return s
  6862  }
  6863  
  6864  // SetNamespace sets the Namespace field's value.
  6865  func (s *GetPackageVersionReadmeOutput) SetNamespace(v string) *GetPackageVersionReadmeOutput {
  6866  	s.Namespace = &v
  6867  	return s
  6868  }
  6869  
  6870  // SetPackage sets the Package field's value.
  6871  func (s *GetPackageVersionReadmeOutput) SetPackage(v string) *GetPackageVersionReadmeOutput {
  6872  	s.Package = &v
  6873  	return s
  6874  }
  6875  
  6876  // SetReadme sets the Readme field's value.
  6877  func (s *GetPackageVersionReadmeOutput) SetReadme(v string) *GetPackageVersionReadmeOutput {
  6878  	s.Readme = &v
  6879  	return s
  6880  }
  6881  
  6882  // SetVersion sets the Version field's value.
  6883  func (s *GetPackageVersionReadmeOutput) SetVersion(v string) *GetPackageVersionReadmeOutput {
  6884  	s.Version = &v
  6885  	return s
  6886  }
  6887  
  6888  // SetVersionRevision sets the VersionRevision field's value.
  6889  func (s *GetPackageVersionReadmeOutput) SetVersionRevision(v string) *GetPackageVersionReadmeOutput {
  6890  	s.VersionRevision = &v
  6891  	return s
  6892  }
  6893  
  6894  type GetRepositoryEndpointInput struct {
  6895  	_ struct{} `type:"structure" nopayload:"true"`
  6896  
  6897  	// The name of the domain that contains the repository.
  6898  	//
  6899  	// Domain is a required field
  6900  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  6901  
  6902  	// The 12-digit account number of the AWS account that owns the domain that
  6903  	// contains the repository. It does not include dashes or spaces.
  6904  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  6905  
  6906  	// Returns which endpoint of a repository to return. A repository has one endpoint
  6907  	// for each package format:
  6908  	//
  6909  	//    * npm
  6910  	//
  6911  	//    * pypi
  6912  	//
  6913  	//    * maven
  6914  	//
  6915  	// Format is a required field
  6916  	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"`
  6917  
  6918  	// The name of the repository.
  6919  	//
  6920  	// Repository is a required field
  6921  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  6922  }
  6923  
  6924  // String returns the string representation.
  6925  //
  6926  // API parameter values that are decorated as "sensitive" in the API will not
  6927  // be included in the string output. The member name will be present, but the
  6928  // value will be replaced with "sensitive".
  6929  func (s GetRepositoryEndpointInput) String() string {
  6930  	return awsutil.Prettify(s)
  6931  }
  6932  
  6933  // GoString returns the string representation.
  6934  //
  6935  // API parameter values that are decorated as "sensitive" in the API will not
  6936  // be included in the string output. The member name will be present, but the
  6937  // value will be replaced with "sensitive".
  6938  func (s GetRepositoryEndpointInput) GoString() string {
  6939  	return s.String()
  6940  }
  6941  
  6942  // Validate inspects the fields of the type to determine if they are valid.
  6943  func (s *GetRepositoryEndpointInput) Validate() error {
  6944  	invalidParams := request.ErrInvalidParams{Context: "GetRepositoryEndpointInput"}
  6945  	if s.Domain == nil {
  6946  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  6947  	}
  6948  	if s.Domain != nil && len(*s.Domain) < 2 {
  6949  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  6950  	}
  6951  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  6952  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  6953  	}
  6954  	if s.Format == nil {
  6955  		invalidParams.Add(request.NewErrParamRequired("Format"))
  6956  	}
  6957  	if s.Repository == nil {
  6958  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  6959  	}
  6960  	if s.Repository != nil && len(*s.Repository) < 2 {
  6961  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  6962  	}
  6963  
  6964  	if invalidParams.Len() > 0 {
  6965  		return invalidParams
  6966  	}
  6967  	return nil
  6968  }
  6969  
  6970  // SetDomain sets the Domain field's value.
  6971  func (s *GetRepositoryEndpointInput) SetDomain(v string) *GetRepositoryEndpointInput {
  6972  	s.Domain = &v
  6973  	return s
  6974  }
  6975  
  6976  // SetDomainOwner sets the DomainOwner field's value.
  6977  func (s *GetRepositoryEndpointInput) SetDomainOwner(v string) *GetRepositoryEndpointInput {
  6978  	s.DomainOwner = &v
  6979  	return s
  6980  }
  6981  
  6982  // SetFormat sets the Format field's value.
  6983  func (s *GetRepositoryEndpointInput) SetFormat(v string) *GetRepositoryEndpointInput {
  6984  	s.Format = &v
  6985  	return s
  6986  }
  6987  
  6988  // SetRepository sets the Repository field's value.
  6989  func (s *GetRepositoryEndpointInput) SetRepository(v string) *GetRepositoryEndpointInput {
  6990  	s.Repository = &v
  6991  	return s
  6992  }
  6993  
  6994  type GetRepositoryEndpointOutput struct {
  6995  	_ struct{} `type:"structure"`
  6996  
  6997  	// A string that specifies the URL of the returned endpoint.
  6998  	RepositoryEndpoint *string `locationName:"repositoryEndpoint" type:"string"`
  6999  }
  7000  
  7001  // String returns the string representation.
  7002  //
  7003  // API parameter values that are decorated as "sensitive" in the API will not
  7004  // be included in the string output. The member name will be present, but the
  7005  // value will be replaced with "sensitive".
  7006  func (s GetRepositoryEndpointOutput) String() string {
  7007  	return awsutil.Prettify(s)
  7008  }
  7009  
  7010  // GoString returns the string representation.
  7011  //
  7012  // API parameter values that are decorated as "sensitive" in the API will not
  7013  // be included in the string output. The member name will be present, but the
  7014  // value will be replaced with "sensitive".
  7015  func (s GetRepositoryEndpointOutput) GoString() string {
  7016  	return s.String()
  7017  }
  7018  
  7019  // SetRepositoryEndpoint sets the RepositoryEndpoint field's value.
  7020  func (s *GetRepositoryEndpointOutput) SetRepositoryEndpoint(v string) *GetRepositoryEndpointOutput {
  7021  	s.RepositoryEndpoint = &v
  7022  	return s
  7023  }
  7024  
  7025  type GetRepositoryPermissionsPolicyInput struct {
  7026  	_ struct{} `type:"structure" nopayload:"true"`
  7027  
  7028  	// The name of the domain containing the repository whose associated resource
  7029  	// policy is to be retrieved.
  7030  	//
  7031  	// Domain is a required field
  7032  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  7033  
  7034  	// The 12-digit account number of the AWS account that owns the domain. It does
  7035  	// not include dashes or spaces.
  7036  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  7037  
  7038  	// The name of the repository whose associated resource policy is to be retrieved.
  7039  	//
  7040  	// Repository is a required field
  7041  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  7042  }
  7043  
  7044  // String returns the string representation.
  7045  //
  7046  // API parameter values that are decorated as "sensitive" in the API will not
  7047  // be included in the string output. The member name will be present, but the
  7048  // value will be replaced with "sensitive".
  7049  func (s GetRepositoryPermissionsPolicyInput) String() string {
  7050  	return awsutil.Prettify(s)
  7051  }
  7052  
  7053  // GoString returns the string representation.
  7054  //
  7055  // API parameter values that are decorated as "sensitive" in the API will not
  7056  // be included in the string output. The member name will be present, but the
  7057  // value will be replaced with "sensitive".
  7058  func (s GetRepositoryPermissionsPolicyInput) GoString() string {
  7059  	return s.String()
  7060  }
  7061  
  7062  // Validate inspects the fields of the type to determine if they are valid.
  7063  func (s *GetRepositoryPermissionsPolicyInput) Validate() error {
  7064  	invalidParams := request.ErrInvalidParams{Context: "GetRepositoryPermissionsPolicyInput"}
  7065  	if s.Domain == nil {
  7066  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  7067  	}
  7068  	if s.Domain != nil && len(*s.Domain) < 2 {
  7069  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  7070  	}
  7071  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  7072  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  7073  	}
  7074  	if s.Repository == nil {
  7075  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  7076  	}
  7077  	if s.Repository != nil && len(*s.Repository) < 2 {
  7078  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  7079  	}
  7080  
  7081  	if invalidParams.Len() > 0 {
  7082  		return invalidParams
  7083  	}
  7084  	return nil
  7085  }
  7086  
  7087  // SetDomain sets the Domain field's value.
  7088  func (s *GetRepositoryPermissionsPolicyInput) SetDomain(v string) *GetRepositoryPermissionsPolicyInput {
  7089  	s.Domain = &v
  7090  	return s
  7091  }
  7092  
  7093  // SetDomainOwner sets the DomainOwner field's value.
  7094  func (s *GetRepositoryPermissionsPolicyInput) SetDomainOwner(v string) *GetRepositoryPermissionsPolicyInput {
  7095  	s.DomainOwner = &v
  7096  	return s
  7097  }
  7098  
  7099  // SetRepository sets the Repository field's value.
  7100  func (s *GetRepositoryPermissionsPolicyInput) SetRepository(v string) *GetRepositoryPermissionsPolicyInput {
  7101  	s.Repository = &v
  7102  	return s
  7103  }
  7104  
  7105  type GetRepositoryPermissionsPolicyOutput struct {
  7106  	_ struct{} `type:"structure"`
  7107  
  7108  	// The returned resource policy.
  7109  	Policy *ResourcePolicy `locationName:"policy" type:"structure"`
  7110  }
  7111  
  7112  // String returns the string representation.
  7113  //
  7114  // API parameter values that are decorated as "sensitive" in the API will not
  7115  // be included in the string output. The member name will be present, but the
  7116  // value will be replaced with "sensitive".
  7117  func (s GetRepositoryPermissionsPolicyOutput) String() string {
  7118  	return awsutil.Prettify(s)
  7119  }
  7120  
  7121  // GoString returns the string representation.
  7122  //
  7123  // API parameter values that are decorated as "sensitive" in the API will not
  7124  // be included in the string output. The member name will be present, but the
  7125  // value will be replaced with "sensitive".
  7126  func (s GetRepositoryPermissionsPolicyOutput) GoString() string {
  7127  	return s.String()
  7128  }
  7129  
  7130  // SetPolicy sets the Policy field's value.
  7131  func (s *GetRepositoryPermissionsPolicyOutput) SetPolicy(v *ResourcePolicy) *GetRepositoryPermissionsPolicyOutput {
  7132  	s.Policy = v
  7133  	return s
  7134  }
  7135  
  7136  // The operation did not succeed because of an error that occurred inside AWS
  7137  // CodeArtifact.
  7138  type InternalServerException struct {
  7139  	_            struct{}                  `type:"structure"`
  7140  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7141  
  7142  	Message_ *string `locationName:"message" type:"string"`
  7143  }
  7144  
  7145  // String returns the string representation.
  7146  //
  7147  // API parameter values that are decorated as "sensitive" in the API will not
  7148  // be included in the string output. The member name will be present, but the
  7149  // value will be replaced with "sensitive".
  7150  func (s InternalServerException) String() string {
  7151  	return awsutil.Prettify(s)
  7152  }
  7153  
  7154  // GoString returns the string representation.
  7155  //
  7156  // API parameter values that are decorated as "sensitive" in the API will not
  7157  // be included in the string output. The member name will be present, but the
  7158  // value will be replaced with "sensitive".
  7159  func (s InternalServerException) GoString() string {
  7160  	return s.String()
  7161  }
  7162  
  7163  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  7164  	return &InternalServerException{
  7165  		RespMetadata: v,
  7166  	}
  7167  }
  7168  
  7169  // Code returns the exception type name.
  7170  func (s *InternalServerException) Code() string {
  7171  	return "InternalServerException"
  7172  }
  7173  
  7174  // Message returns the exception's message.
  7175  func (s *InternalServerException) Message() string {
  7176  	if s.Message_ != nil {
  7177  		return *s.Message_
  7178  	}
  7179  	return ""
  7180  }
  7181  
  7182  // OrigErr always returns nil, satisfies awserr.Error interface.
  7183  func (s *InternalServerException) OrigErr() error {
  7184  	return nil
  7185  }
  7186  
  7187  func (s *InternalServerException) Error() string {
  7188  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7189  }
  7190  
  7191  // Status code returns the HTTP status code for the request's response error.
  7192  func (s *InternalServerException) StatusCode() int {
  7193  	return s.RespMetadata.StatusCode
  7194  }
  7195  
  7196  // RequestID returns the service's response RequestID for request.
  7197  func (s *InternalServerException) RequestID() string {
  7198  	return s.RespMetadata.RequestID
  7199  }
  7200  
  7201  // Details of the license data.
  7202  type LicenseInfo struct {
  7203  	_ struct{} `type:"structure"`
  7204  
  7205  	// Name of the license.
  7206  	Name *string `locationName:"name" type:"string"`
  7207  
  7208  	// The URL for license data.
  7209  	Url *string `locationName:"url" type:"string"`
  7210  }
  7211  
  7212  // String returns the string representation.
  7213  //
  7214  // API parameter values that are decorated as "sensitive" in the API will not
  7215  // be included in the string output. The member name will be present, but the
  7216  // value will be replaced with "sensitive".
  7217  func (s LicenseInfo) String() string {
  7218  	return awsutil.Prettify(s)
  7219  }
  7220  
  7221  // GoString returns the string representation.
  7222  //
  7223  // API parameter values that are decorated as "sensitive" in the API will not
  7224  // be included in the string output. The member name will be present, but the
  7225  // value will be replaced with "sensitive".
  7226  func (s LicenseInfo) GoString() string {
  7227  	return s.String()
  7228  }
  7229  
  7230  // SetName sets the Name field's value.
  7231  func (s *LicenseInfo) SetName(v string) *LicenseInfo {
  7232  	s.Name = &v
  7233  	return s
  7234  }
  7235  
  7236  // SetUrl sets the Url field's value.
  7237  func (s *LicenseInfo) SetUrl(v string) *LicenseInfo {
  7238  	s.Url = &v
  7239  	return s
  7240  }
  7241  
  7242  type ListDomainsInput struct {
  7243  	_ struct{} `type:"structure"`
  7244  
  7245  	// The maximum number of results to return per page.
  7246  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  7247  
  7248  	// The token for the next set of results. Use the value returned in the previous
  7249  	// response in the next request to retrieve the next set of results.
  7250  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  7251  }
  7252  
  7253  // String returns the string representation.
  7254  //
  7255  // API parameter values that are decorated as "sensitive" in the API will not
  7256  // be included in the string output. The member name will be present, but the
  7257  // value will be replaced with "sensitive".
  7258  func (s ListDomainsInput) String() string {
  7259  	return awsutil.Prettify(s)
  7260  }
  7261  
  7262  // GoString returns the string representation.
  7263  //
  7264  // API parameter values that are decorated as "sensitive" in the API will not
  7265  // be included in the string output. The member name will be present, but the
  7266  // value will be replaced with "sensitive".
  7267  func (s ListDomainsInput) GoString() string {
  7268  	return s.String()
  7269  }
  7270  
  7271  // Validate inspects the fields of the type to determine if they are valid.
  7272  func (s *ListDomainsInput) Validate() error {
  7273  	invalidParams := request.ErrInvalidParams{Context: "ListDomainsInput"}
  7274  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7275  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7276  	}
  7277  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7278  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7279  	}
  7280  
  7281  	if invalidParams.Len() > 0 {
  7282  		return invalidParams
  7283  	}
  7284  	return nil
  7285  }
  7286  
  7287  // SetMaxResults sets the MaxResults field's value.
  7288  func (s *ListDomainsInput) SetMaxResults(v int64) *ListDomainsInput {
  7289  	s.MaxResults = &v
  7290  	return s
  7291  }
  7292  
  7293  // SetNextToken sets the NextToken field's value.
  7294  func (s *ListDomainsInput) SetNextToken(v string) *ListDomainsInput {
  7295  	s.NextToken = &v
  7296  	return s
  7297  }
  7298  
  7299  type ListDomainsOutput struct {
  7300  	_ struct{} `type:"structure"`
  7301  
  7302  	// The returned list of DomainSummary (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DomainSummary.html)
  7303  	// objects.
  7304  	Domains []*DomainSummary `locationName:"domains" type:"list"`
  7305  
  7306  	// The token for the next set of results. Use the value returned in the previous
  7307  	// response in the next request to retrieve the next set of results.
  7308  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  7309  }
  7310  
  7311  // String returns the string representation.
  7312  //
  7313  // API parameter values that are decorated as "sensitive" in the API will not
  7314  // be included in the string output. The member name will be present, but the
  7315  // value will be replaced with "sensitive".
  7316  func (s ListDomainsOutput) String() string {
  7317  	return awsutil.Prettify(s)
  7318  }
  7319  
  7320  // GoString returns the string representation.
  7321  //
  7322  // API parameter values that are decorated as "sensitive" in the API will not
  7323  // be included in the string output. The member name will be present, but the
  7324  // value will be replaced with "sensitive".
  7325  func (s ListDomainsOutput) GoString() string {
  7326  	return s.String()
  7327  }
  7328  
  7329  // SetDomains sets the Domains field's value.
  7330  func (s *ListDomainsOutput) SetDomains(v []*DomainSummary) *ListDomainsOutput {
  7331  	s.Domains = v
  7332  	return s
  7333  }
  7334  
  7335  // SetNextToken sets the NextToken field's value.
  7336  func (s *ListDomainsOutput) SetNextToken(v string) *ListDomainsOutput {
  7337  	s.NextToken = &v
  7338  	return s
  7339  }
  7340  
  7341  type ListPackageVersionAssetsInput struct {
  7342  	_ struct{} `type:"structure" nopayload:"true"`
  7343  
  7344  	// The name of the domain that contains the repository associated with the package
  7345  	// version assets.
  7346  	//
  7347  	// Domain is a required field
  7348  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  7349  
  7350  	// The 12-digit account number of the AWS account that owns the domain. It does
  7351  	// not include dashes or spaces.
  7352  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  7353  
  7354  	// The format of the package that contains the returned package version assets.
  7355  	// The valid package types are:
  7356  	//
  7357  	//    * npm: A Node Package Manager (npm) package.
  7358  	//
  7359  	//    * pypi: A Python Package Index (PyPI) package.
  7360  	//
  7361  	//    * maven: A Maven package that contains compiled code in a distributable
  7362  	//    format, such as a JAR file.
  7363  	//
  7364  	// Format is a required field
  7365  	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"`
  7366  
  7367  	// The maximum number of results to return per page.
  7368  	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
  7369  
  7370  	// The namespace of the package. The package component that specifies its namespace
  7371  	// depends on its type. For example:
  7372  	//
  7373  	//    * The namespace of a Maven package is its groupId.
  7374  	//
  7375  	//    * The namespace of an npm package is its scope.
  7376  	//
  7377  	//    * A Python package does not contain a corresponding component, so Python
  7378  	//    packages do not have a namespace.
  7379  	Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"`
  7380  
  7381  	// The token for the next set of results. Use the value returned in the previous
  7382  	// response in the next request to retrieve the next set of results.
  7383  	NextToken *string `location:"querystring" locationName:"next-token" min:"1" type:"string"`
  7384  
  7385  	// The name of the package that contains the returned package version assets.
  7386  	//
  7387  	// Package is a required field
  7388  	Package *string `location:"querystring" locationName:"package" min:"1" type:"string" required:"true"`
  7389  
  7390  	// A string that contains the package version (for example, 3.5.2).
  7391  	//
  7392  	// PackageVersion is a required field
  7393  	PackageVersion *string `location:"querystring" locationName:"version" min:"1" type:"string" required:"true"`
  7394  
  7395  	// The name of the repository that contains the package that contains the returned
  7396  	// package version assets.
  7397  	//
  7398  	// Repository is a required field
  7399  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  7400  }
  7401  
  7402  // String returns the string representation.
  7403  //
  7404  // API parameter values that are decorated as "sensitive" in the API will not
  7405  // be included in the string output. The member name will be present, but the
  7406  // value will be replaced with "sensitive".
  7407  func (s ListPackageVersionAssetsInput) String() string {
  7408  	return awsutil.Prettify(s)
  7409  }
  7410  
  7411  // GoString returns the string representation.
  7412  //
  7413  // API parameter values that are decorated as "sensitive" in the API will not
  7414  // be included in the string output. The member name will be present, but the
  7415  // value will be replaced with "sensitive".
  7416  func (s ListPackageVersionAssetsInput) GoString() string {
  7417  	return s.String()
  7418  }
  7419  
  7420  // Validate inspects the fields of the type to determine if they are valid.
  7421  func (s *ListPackageVersionAssetsInput) Validate() error {
  7422  	invalidParams := request.ErrInvalidParams{Context: "ListPackageVersionAssetsInput"}
  7423  	if s.Domain == nil {
  7424  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  7425  	}
  7426  	if s.Domain != nil && len(*s.Domain) < 2 {
  7427  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  7428  	}
  7429  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  7430  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  7431  	}
  7432  	if s.Format == nil {
  7433  		invalidParams.Add(request.NewErrParamRequired("Format"))
  7434  	}
  7435  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7436  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7437  	}
  7438  	if s.Namespace != nil && len(*s.Namespace) < 1 {
  7439  		invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
  7440  	}
  7441  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7442  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7443  	}
  7444  	if s.Package == nil {
  7445  		invalidParams.Add(request.NewErrParamRequired("Package"))
  7446  	}
  7447  	if s.Package != nil && len(*s.Package) < 1 {
  7448  		invalidParams.Add(request.NewErrParamMinLen("Package", 1))
  7449  	}
  7450  	if s.PackageVersion == nil {
  7451  		invalidParams.Add(request.NewErrParamRequired("PackageVersion"))
  7452  	}
  7453  	if s.PackageVersion != nil && len(*s.PackageVersion) < 1 {
  7454  		invalidParams.Add(request.NewErrParamMinLen("PackageVersion", 1))
  7455  	}
  7456  	if s.Repository == nil {
  7457  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  7458  	}
  7459  	if s.Repository != nil && len(*s.Repository) < 2 {
  7460  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  7461  	}
  7462  
  7463  	if invalidParams.Len() > 0 {
  7464  		return invalidParams
  7465  	}
  7466  	return nil
  7467  }
  7468  
  7469  // SetDomain sets the Domain field's value.
  7470  func (s *ListPackageVersionAssetsInput) SetDomain(v string) *ListPackageVersionAssetsInput {
  7471  	s.Domain = &v
  7472  	return s
  7473  }
  7474  
  7475  // SetDomainOwner sets the DomainOwner field's value.
  7476  func (s *ListPackageVersionAssetsInput) SetDomainOwner(v string) *ListPackageVersionAssetsInput {
  7477  	s.DomainOwner = &v
  7478  	return s
  7479  }
  7480  
  7481  // SetFormat sets the Format field's value.
  7482  func (s *ListPackageVersionAssetsInput) SetFormat(v string) *ListPackageVersionAssetsInput {
  7483  	s.Format = &v
  7484  	return s
  7485  }
  7486  
  7487  // SetMaxResults sets the MaxResults field's value.
  7488  func (s *ListPackageVersionAssetsInput) SetMaxResults(v int64) *ListPackageVersionAssetsInput {
  7489  	s.MaxResults = &v
  7490  	return s
  7491  }
  7492  
  7493  // SetNamespace sets the Namespace field's value.
  7494  func (s *ListPackageVersionAssetsInput) SetNamespace(v string) *ListPackageVersionAssetsInput {
  7495  	s.Namespace = &v
  7496  	return s
  7497  }
  7498  
  7499  // SetNextToken sets the NextToken field's value.
  7500  func (s *ListPackageVersionAssetsInput) SetNextToken(v string) *ListPackageVersionAssetsInput {
  7501  	s.NextToken = &v
  7502  	return s
  7503  }
  7504  
  7505  // SetPackage sets the Package field's value.
  7506  func (s *ListPackageVersionAssetsInput) SetPackage(v string) *ListPackageVersionAssetsInput {
  7507  	s.Package = &v
  7508  	return s
  7509  }
  7510  
  7511  // SetPackageVersion sets the PackageVersion field's value.
  7512  func (s *ListPackageVersionAssetsInput) SetPackageVersion(v string) *ListPackageVersionAssetsInput {
  7513  	s.PackageVersion = &v
  7514  	return s
  7515  }
  7516  
  7517  // SetRepository sets the Repository field's value.
  7518  func (s *ListPackageVersionAssetsInput) SetRepository(v string) *ListPackageVersionAssetsInput {
  7519  	s.Repository = &v
  7520  	return s
  7521  }
  7522  
  7523  type ListPackageVersionAssetsOutput struct {
  7524  	_ struct{} `type:"structure"`
  7525  
  7526  	// The returned list of AssetSummary (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_AssetSummary.html)
  7527  	// objects.
  7528  	Assets []*AssetSummary `locationName:"assets" type:"list"`
  7529  
  7530  	// The format of the package that contains the returned package version assets.
  7531  	Format *string `locationName:"format" type:"string" enum:"PackageFormat"`
  7532  
  7533  	// The namespace of the package. The package component that specifies its namespace
  7534  	// depends on its type. For example:
  7535  	//
  7536  	//    * The namespace of a Maven package is its groupId.
  7537  	//
  7538  	//    * The namespace of an npm package is its scope.
  7539  	//
  7540  	//    * A Python package does not contain a corresponding component, so Python
  7541  	//    packages do not have a namespace.
  7542  	Namespace *string `locationName:"namespace" min:"1" type:"string"`
  7543  
  7544  	// If there are additional results, this is the token for the next set of results.
  7545  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  7546  
  7547  	// The name of the package that contains the returned package version assets.
  7548  	Package *string `locationName:"package" min:"1" type:"string"`
  7549  
  7550  	// The version of the package associated with the returned assets.
  7551  	Version *string `locationName:"version" min:"1" type:"string"`
  7552  
  7553  	// The current revision associated with the package version.
  7554  	VersionRevision *string `locationName:"versionRevision" min:"1" type:"string"`
  7555  }
  7556  
  7557  // String returns the string representation.
  7558  //
  7559  // API parameter values that are decorated as "sensitive" in the API will not
  7560  // be included in the string output. The member name will be present, but the
  7561  // value will be replaced with "sensitive".
  7562  func (s ListPackageVersionAssetsOutput) String() string {
  7563  	return awsutil.Prettify(s)
  7564  }
  7565  
  7566  // GoString returns the string representation.
  7567  //
  7568  // API parameter values that are decorated as "sensitive" in the API will not
  7569  // be included in the string output. The member name will be present, but the
  7570  // value will be replaced with "sensitive".
  7571  func (s ListPackageVersionAssetsOutput) GoString() string {
  7572  	return s.String()
  7573  }
  7574  
  7575  // SetAssets sets the Assets field's value.
  7576  func (s *ListPackageVersionAssetsOutput) SetAssets(v []*AssetSummary) *ListPackageVersionAssetsOutput {
  7577  	s.Assets = v
  7578  	return s
  7579  }
  7580  
  7581  // SetFormat sets the Format field's value.
  7582  func (s *ListPackageVersionAssetsOutput) SetFormat(v string) *ListPackageVersionAssetsOutput {
  7583  	s.Format = &v
  7584  	return s
  7585  }
  7586  
  7587  // SetNamespace sets the Namespace field's value.
  7588  func (s *ListPackageVersionAssetsOutput) SetNamespace(v string) *ListPackageVersionAssetsOutput {
  7589  	s.Namespace = &v
  7590  	return s
  7591  }
  7592  
  7593  // SetNextToken sets the NextToken field's value.
  7594  func (s *ListPackageVersionAssetsOutput) SetNextToken(v string) *ListPackageVersionAssetsOutput {
  7595  	s.NextToken = &v
  7596  	return s
  7597  }
  7598  
  7599  // SetPackage sets the Package field's value.
  7600  func (s *ListPackageVersionAssetsOutput) SetPackage(v string) *ListPackageVersionAssetsOutput {
  7601  	s.Package = &v
  7602  	return s
  7603  }
  7604  
  7605  // SetVersion sets the Version field's value.
  7606  func (s *ListPackageVersionAssetsOutput) SetVersion(v string) *ListPackageVersionAssetsOutput {
  7607  	s.Version = &v
  7608  	return s
  7609  }
  7610  
  7611  // SetVersionRevision sets the VersionRevision field's value.
  7612  func (s *ListPackageVersionAssetsOutput) SetVersionRevision(v string) *ListPackageVersionAssetsOutput {
  7613  	s.VersionRevision = &v
  7614  	return s
  7615  }
  7616  
  7617  type ListPackageVersionDependenciesInput struct {
  7618  	_ struct{} `type:"structure" nopayload:"true"`
  7619  
  7620  	// The name of the domain that contains the repository that contains the requested
  7621  	// package version dependencies.
  7622  	//
  7623  	// Domain is a required field
  7624  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  7625  
  7626  	// The 12-digit account number of the AWS account that owns the domain. It does
  7627  	// not include dashes or spaces.
  7628  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  7629  
  7630  	// The format of the package with the requested dependencies. The valid package
  7631  	// types are:
  7632  	//
  7633  	//    * npm: A Node Package Manager (npm) package.
  7634  	//
  7635  	//    * pypi: A Python Package Index (PyPI) package.
  7636  	//
  7637  	//    * maven: A Maven package that contains compiled code in a distributable
  7638  	//    format, such as a JAR file.
  7639  	//
  7640  	// Format is a required field
  7641  	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"`
  7642  
  7643  	// The namespace of the package. The package component that specifies its namespace
  7644  	// depends on its type. For example:
  7645  	//
  7646  	//    * The namespace of a Maven package is its groupId.
  7647  	//
  7648  	//    * The namespace of an npm package is its scope.
  7649  	//
  7650  	//    * A Python package does not contain a corresponding component, so Python
  7651  	//    packages do not have a namespace.
  7652  	Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"`
  7653  
  7654  	// The token for the next set of results. Use the value returned in the previous
  7655  	// response in the next request to retrieve the next set of results.
  7656  	NextToken *string `location:"querystring" locationName:"next-token" min:"1" type:"string"`
  7657  
  7658  	// The name of the package versions' package.
  7659  	//
  7660  	// Package is a required field
  7661  	Package *string `location:"querystring" locationName:"package" min:"1" type:"string" required:"true"`
  7662  
  7663  	// A string that contains the package version (for example, 3.5.2).
  7664  	//
  7665  	// PackageVersion is a required field
  7666  	PackageVersion *string `location:"querystring" locationName:"version" min:"1" type:"string" required:"true"`
  7667  
  7668  	// The name of the repository that contains the requested package version.
  7669  	//
  7670  	// Repository is a required field
  7671  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  7672  }
  7673  
  7674  // String returns the string representation.
  7675  //
  7676  // API parameter values that are decorated as "sensitive" in the API will not
  7677  // be included in the string output. The member name will be present, but the
  7678  // value will be replaced with "sensitive".
  7679  func (s ListPackageVersionDependenciesInput) String() string {
  7680  	return awsutil.Prettify(s)
  7681  }
  7682  
  7683  // GoString returns the string representation.
  7684  //
  7685  // API parameter values that are decorated as "sensitive" in the API will not
  7686  // be included in the string output. The member name will be present, but the
  7687  // value will be replaced with "sensitive".
  7688  func (s ListPackageVersionDependenciesInput) GoString() string {
  7689  	return s.String()
  7690  }
  7691  
  7692  // Validate inspects the fields of the type to determine if they are valid.
  7693  func (s *ListPackageVersionDependenciesInput) Validate() error {
  7694  	invalidParams := request.ErrInvalidParams{Context: "ListPackageVersionDependenciesInput"}
  7695  	if s.Domain == nil {
  7696  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  7697  	}
  7698  	if s.Domain != nil && len(*s.Domain) < 2 {
  7699  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  7700  	}
  7701  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  7702  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  7703  	}
  7704  	if s.Format == nil {
  7705  		invalidParams.Add(request.NewErrParamRequired("Format"))
  7706  	}
  7707  	if s.Namespace != nil && len(*s.Namespace) < 1 {
  7708  		invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
  7709  	}
  7710  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7711  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7712  	}
  7713  	if s.Package == nil {
  7714  		invalidParams.Add(request.NewErrParamRequired("Package"))
  7715  	}
  7716  	if s.Package != nil && len(*s.Package) < 1 {
  7717  		invalidParams.Add(request.NewErrParamMinLen("Package", 1))
  7718  	}
  7719  	if s.PackageVersion == nil {
  7720  		invalidParams.Add(request.NewErrParamRequired("PackageVersion"))
  7721  	}
  7722  	if s.PackageVersion != nil && len(*s.PackageVersion) < 1 {
  7723  		invalidParams.Add(request.NewErrParamMinLen("PackageVersion", 1))
  7724  	}
  7725  	if s.Repository == nil {
  7726  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  7727  	}
  7728  	if s.Repository != nil && len(*s.Repository) < 2 {
  7729  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  7730  	}
  7731  
  7732  	if invalidParams.Len() > 0 {
  7733  		return invalidParams
  7734  	}
  7735  	return nil
  7736  }
  7737  
  7738  // SetDomain sets the Domain field's value.
  7739  func (s *ListPackageVersionDependenciesInput) SetDomain(v string) *ListPackageVersionDependenciesInput {
  7740  	s.Domain = &v
  7741  	return s
  7742  }
  7743  
  7744  // SetDomainOwner sets the DomainOwner field's value.
  7745  func (s *ListPackageVersionDependenciesInput) SetDomainOwner(v string) *ListPackageVersionDependenciesInput {
  7746  	s.DomainOwner = &v
  7747  	return s
  7748  }
  7749  
  7750  // SetFormat sets the Format field's value.
  7751  func (s *ListPackageVersionDependenciesInput) SetFormat(v string) *ListPackageVersionDependenciesInput {
  7752  	s.Format = &v
  7753  	return s
  7754  }
  7755  
  7756  // SetNamespace sets the Namespace field's value.
  7757  func (s *ListPackageVersionDependenciesInput) SetNamespace(v string) *ListPackageVersionDependenciesInput {
  7758  	s.Namespace = &v
  7759  	return s
  7760  }
  7761  
  7762  // SetNextToken sets the NextToken field's value.
  7763  func (s *ListPackageVersionDependenciesInput) SetNextToken(v string) *ListPackageVersionDependenciesInput {
  7764  	s.NextToken = &v
  7765  	return s
  7766  }
  7767  
  7768  // SetPackage sets the Package field's value.
  7769  func (s *ListPackageVersionDependenciesInput) SetPackage(v string) *ListPackageVersionDependenciesInput {
  7770  	s.Package = &v
  7771  	return s
  7772  }
  7773  
  7774  // SetPackageVersion sets the PackageVersion field's value.
  7775  func (s *ListPackageVersionDependenciesInput) SetPackageVersion(v string) *ListPackageVersionDependenciesInput {
  7776  	s.PackageVersion = &v
  7777  	return s
  7778  }
  7779  
  7780  // SetRepository sets the Repository field's value.
  7781  func (s *ListPackageVersionDependenciesInput) SetRepository(v string) *ListPackageVersionDependenciesInput {
  7782  	s.Repository = &v
  7783  	return s
  7784  }
  7785  
  7786  type ListPackageVersionDependenciesOutput struct {
  7787  	_ struct{} `type:"structure"`
  7788  
  7789  	// The returned list of PackageDependency (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageDependency.html)
  7790  	// objects.
  7791  	Dependencies []*PackageDependency `locationName:"dependencies" type:"list"`
  7792  
  7793  	// A format that specifies the type of the package that contains the returned
  7794  	// dependencies. The valid values are:
  7795  	//
  7796  	//    * npm
  7797  	//
  7798  	//    * pypi
  7799  	//
  7800  	//    * maven
  7801  	Format *string `locationName:"format" type:"string" enum:"PackageFormat"`
  7802  
  7803  	// The namespace of the package. The package component that specifies its namespace
  7804  	// depends on its type. For example:
  7805  	//
  7806  	//    * The namespace of a Maven package is its groupId.
  7807  	//
  7808  	//    * The namespace of an npm package is its scope.
  7809  	//
  7810  	//    * A Python package does not contain a corresponding component, so Python
  7811  	//    packages do not have a namespace.
  7812  	Namespace *string `locationName:"namespace" min:"1" type:"string"`
  7813  
  7814  	// The token for the next set of results. Use the value returned in the previous
  7815  	// response in the next request to retrieve the next set of results.
  7816  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  7817  
  7818  	// The name of the package that contains the returned package versions dependencies.
  7819  	Package *string `locationName:"package" min:"1" type:"string"`
  7820  
  7821  	// The version of the package that is specified in the request.
  7822  	Version *string `locationName:"version" min:"1" type:"string"`
  7823  
  7824  	// The current revision associated with the package version.
  7825  	VersionRevision *string `locationName:"versionRevision" min:"1" type:"string"`
  7826  }
  7827  
  7828  // String returns the string representation.
  7829  //
  7830  // API parameter values that are decorated as "sensitive" in the API will not
  7831  // be included in the string output. The member name will be present, but the
  7832  // value will be replaced with "sensitive".
  7833  func (s ListPackageVersionDependenciesOutput) String() string {
  7834  	return awsutil.Prettify(s)
  7835  }
  7836  
  7837  // GoString returns the string representation.
  7838  //
  7839  // API parameter values that are decorated as "sensitive" in the API will not
  7840  // be included in the string output. The member name will be present, but the
  7841  // value will be replaced with "sensitive".
  7842  func (s ListPackageVersionDependenciesOutput) GoString() string {
  7843  	return s.String()
  7844  }
  7845  
  7846  // SetDependencies sets the Dependencies field's value.
  7847  func (s *ListPackageVersionDependenciesOutput) SetDependencies(v []*PackageDependency) *ListPackageVersionDependenciesOutput {
  7848  	s.Dependencies = v
  7849  	return s
  7850  }
  7851  
  7852  // SetFormat sets the Format field's value.
  7853  func (s *ListPackageVersionDependenciesOutput) SetFormat(v string) *ListPackageVersionDependenciesOutput {
  7854  	s.Format = &v
  7855  	return s
  7856  }
  7857  
  7858  // SetNamespace sets the Namespace field's value.
  7859  func (s *ListPackageVersionDependenciesOutput) SetNamespace(v string) *ListPackageVersionDependenciesOutput {
  7860  	s.Namespace = &v
  7861  	return s
  7862  }
  7863  
  7864  // SetNextToken sets the NextToken field's value.
  7865  func (s *ListPackageVersionDependenciesOutput) SetNextToken(v string) *ListPackageVersionDependenciesOutput {
  7866  	s.NextToken = &v
  7867  	return s
  7868  }
  7869  
  7870  // SetPackage sets the Package field's value.
  7871  func (s *ListPackageVersionDependenciesOutput) SetPackage(v string) *ListPackageVersionDependenciesOutput {
  7872  	s.Package = &v
  7873  	return s
  7874  }
  7875  
  7876  // SetVersion sets the Version field's value.
  7877  func (s *ListPackageVersionDependenciesOutput) SetVersion(v string) *ListPackageVersionDependenciesOutput {
  7878  	s.Version = &v
  7879  	return s
  7880  }
  7881  
  7882  // SetVersionRevision sets the VersionRevision field's value.
  7883  func (s *ListPackageVersionDependenciesOutput) SetVersionRevision(v string) *ListPackageVersionDependenciesOutput {
  7884  	s.VersionRevision = &v
  7885  	return s
  7886  }
  7887  
  7888  type ListPackageVersionsInput struct {
  7889  	_ struct{} `type:"structure" nopayload:"true"`
  7890  
  7891  	// The name of the domain that contains the repository that contains the returned
  7892  	// package versions.
  7893  	//
  7894  	// Domain is a required field
  7895  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  7896  
  7897  	// The 12-digit account number of the AWS account that owns the domain. It does
  7898  	// not include dashes or spaces.
  7899  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  7900  
  7901  	// The format of the returned packages. The valid package types are:
  7902  	//
  7903  	//    * npm: A Node Package Manager (npm) package.
  7904  	//
  7905  	//    * pypi: A Python Package Index (PyPI) package.
  7906  	//
  7907  	//    * maven: A Maven package that contains compiled code in a distributable
  7908  	//    format, such as a JAR file.
  7909  	//
  7910  	// Format is a required field
  7911  	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"`
  7912  
  7913  	// The maximum number of results to return per page.
  7914  	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
  7915  
  7916  	// The namespace of the package. The package component that specifies its namespace
  7917  	// depends on its type. For example:
  7918  	//
  7919  	//    * The namespace of a Maven package is its groupId.
  7920  	//
  7921  	//    * The namespace of an npm package is its scope.
  7922  	//
  7923  	//    * A Python package does not contain a corresponding component, so Python
  7924  	//    packages do not have a namespace.
  7925  	Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"`
  7926  
  7927  	// The token for the next set of results. Use the value returned in the previous
  7928  	// response in the next request to retrieve the next set of results.
  7929  	NextToken *string `location:"querystring" locationName:"next-token" min:"1" type:"string"`
  7930  
  7931  	// The name of the package for which you want to return a list of package versions.
  7932  	//
  7933  	// Package is a required field
  7934  	Package *string `location:"querystring" locationName:"package" min:"1" type:"string" required:"true"`
  7935  
  7936  	// The name of the repository that contains the package.
  7937  	//
  7938  	// Repository is a required field
  7939  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  7940  
  7941  	// How to sort the returned list of package versions.
  7942  	SortBy *string `location:"querystring" locationName:"sortBy" type:"string" enum:"PackageVersionSortType"`
  7943  
  7944  	// A string that specifies the status of the package versions to include in
  7945  	// the returned list. It can be one of the following:
  7946  	//
  7947  	//    * Published
  7948  	//
  7949  	//    * Unfinished
  7950  	//
  7951  	//    * Unlisted
  7952  	//
  7953  	//    * Archived
  7954  	//
  7955  	//    * Disposed
  7956  	Status *string `location:"querystring" locationName:"status" type:"string" enum:"PackageVersionStatus"`
  7957  }
  7958  
  7959  // String returns the string representation.
  7960  //
  7961  // API parameter values that are decorated as "sensitive" in the API will not
  7962  // be included in the string output. The member name will be present, but the
  7963  // value will be replaced with "sensitive".
  7964  func (s ListPackageVersionsInput) String() string {
  7965  	return awsutil.Prettify(s)
  7966  }
  7967  
  7968  // GoString returns the string representation.
  7969  //
  7970  // API parameter values that are decorated as "sensitive" in the API will not
  7971  // be included in the string output. The member name will be present, but the
  7972  // value will be replaced with "sensitive".
  7973  func (s ListPackageVersionsInput) GoString() string {
  7974  	return s.String()
  7975  }
  7976  
  7977  // Validate inspects the fields of the type to determine if they are valid.
  7978  func (s *ListPackageVersionsInput) Validate() error {
  7979  	invalidParams := request.ErrInvalidParams{Context: "ListPackageVersionsInput"}
  7980  	if s.Domain == nil {
  7981  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  7982  	}
  7983  	if s.Domain != nil && len(*s.Domain) < 2 {
  7984  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  7985  	}
  7986  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  7987  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  7988  	}
  7989  	if s.Format == nil {
  7990  		invalidParams.Add(request.NewErrParamRequired("Format"))
  7991  	}
  7992  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7993  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7994  	}
  7995  	if s.Namespace != nil && len(*s.Namespace) < 1 {
  7996  		invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
  7997  	}
  7998  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7999  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8000  	}
  8001  	if s.Package == nil {
  8002  		invalidParams.Add(request.NewErrParamRequired("Package"))
  8003  	}
  8004  	if s.Package != nil && len(*s.Package) < 1 {
  8005  		invalidParams.Add(request.NewErrParamMinLen("Package", 1))
  8006  	}
  8007  	if s.Repository == nil {
  8008  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  8009  	}
  8010  	if s.Repository != nil && len(*s.Repository) < 2 {
  8011  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  8012  	}
  8013  
  8014  	if invalidParams.Len() > 0 {
  8015  		return invalidParams
  8016  	}
  8017  	return nil
  8018  }
  8019  
  8020  // SetDomain sets the Domain field's value.
  8021  func (s *ListPackageVersionsInput) SetDomain(v string) *ListPackageVersionsInput {
  8022  	s.Domain = &v
  8023  	return s
  8024  }
  8025  
  8026  // SetDomainOwner sets the DomainOwner field's value.
  8027  func (s *ListPackageVersionsInput) SetDomainOwner(v string) *ListPackageVersionsInput {
  8028  	s.DomainOwner = &v
  8029  	return s
  8030  }
  8031  
  8032  // SetFormat sets the Format field's value.
  8033  func (s *ListPackageVersionsInput) SetFormat(v string) *ListPackageVersionsInput {
  8034  	s.Format = &v
  8035  	return s
  8036  }
  8037  
  8038  // SetMaxResults sets the MaxResults field's value.
  8039  func (s *ListPackageVersionsInput) SetMaxResults(v int64) *ListPackageVersionsInput {
  8040  	s.MaxResults = &v
  8041  	return s
  8042  }
  8043  
  8044  // SetNamespace sets the Namespace field's value.
  8045  func (s *ListPackageVersionsInput) SetNamespace(v string) *ListPackageVersionsInput {
  8046  	s.Namespace = &v
  8047  	return s
  8048  }
  8049  
  8050  // SetNextToken sets the NextToken field's value.
  8051  func (s *ListPackageVersionsInput) SetNextToken(v string) *ListPackageVersionsInput {
  8052  	s.NextToken = &v
  8053  	return s
  8054  }
  8055  
  8056  // SetPackage sets the Package field's value.
  8057  func (s *ListPackageVersionsInput) SetPackage(v string) *ListPackageVersionsInput {
  8058  	s.Package = &v
  8059  	return s
  8060  }
  8061  
  8062  // SetRepository sets the Repository field's value.
  8063  func (s *ListPackageVersionsInput) SetRepository(v string) *ListPackageVersionsInput {
  8064  	s.Repository = &v
  8065  	return s
  8066  }
  8067  
  8068  // SetSortBy sets the SortBy field's value.
  8069  func (s *ListPackageVersionsInput) SetSortBy(v string) *ListPackageVersionsInput {
  8070  	s.SortBy = &v
  8071  	return s
  8072  }
  8073  
  8074  // SetStatus sets the Status field's value.
  8075  func (s *ListPackageVersionsInput) SetStatus(v string) *ListPackageVersionsInput {
  8076  	s.Status = &v
  8077  	return s
  8078  }
  8079  
  8080  type ListPackageVersionsOutput struct {
  8081  	_ struct{} `type:"structure"`
  8082  
  8083  	// The default package version to display. This depends on the package format:
  8084  	//
  8085  	//    * For Maven and PyPI packages, it's the most recently published package
  8086  	//    version.
  8087  	//
  8088  	//    * For npm packages, it's the version referenced by the latest tag. If
  8089  	//    the latest tag is not set, it's the most recently published package version.
  8090  	DefaultDisplayVersion *string `locationName:"defaultDisplayVersion" min:"1" type:"string"`
  8091  
  8092  	// A format of the package. Valid package format values are:
  8093  	//
  8094  	//    * npm
  8095  	//
  8096  	//    * pypi
  8097  	//
  8098  	//    * maven
  8099  	Format *string `locationName:"format" type:"string" enum:"PackageFormat"`
  8100  
  8101  	// The namespace of the package. The package component that specifies its namespace
  8102  	// depends on its type. For example:
  8103  	//
  8104  	//    * The namespace of a Maven package is its groupId.
  8105  	//
  8106  	//    * The namespace of an npm package is its scope.
  8107  	//
  8108  	//    * A Python package does not contain a corresponding component, so Python
  8109  	//    packages do not have a namespace.
  8110  	Namespace *string `locationName:"namespace" min:"1" type:"string"`
  8111  
  8112  	// If there are additional results, this is the token for the next set of results.
  8113  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  8114  
  8115  	// The name of the package.
  8116  	Package *string `locationName:"package" min:"1" type:"string"`
  8117  
  8118  	// The returned list of PackageVersionSummary (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionSummary.html)
  8119  	// objects.
  8120  	Versions []*PackageVersionSummary `locationName:"versions" type:"list"`
  8121  }
  8122  
  8123  // String returns the string representation.
  8124  //
  8125  // API parameter values that are decorated as "sensitive" in the API will not
  8126  // be included in the string output. The member name will be present, but the
  8127  // value will be replaced with "sensitive".
  8128  func (s ListPackageVersionsOutput) String() string {
  8129  	return awsutil.Prettify(s)
  8130  }
  8131  
  8132  // GoString returns the string representation.
  8133  //
  8134  // API parameter values that are decorated as "sensitive" in the API will not
  8135  // be included in the string output. The member name will be present, but the
  8136  // value will be replaced with "sensitive".
  8137  func (s ListPackageVersionsOutput) GoString() string {
  8138  	return s.String()
  8139  }
  8140  
  8141  // SetDefaultDisplayVersion sets the DefaultDisplayVersion field's value.
  8142  func (s *ListPackageVersionsOutput) SetDefaultDisplayVersion(v string) *ListPackageVersionsOutput {
  8143  	s.DefaultDisplayVersion = &v
  8144  	return s
  8145  }
  8146  
  8147  // SetFormat sets the Format field's value.
  8148  func (s *ListPackageVersionsOutput) SetFormat(v string) *ListPackageVersionsOutput {
  8149  	s.Format = &v
  8150  	return s
  8151  }
  8152  
  8153  // SetNamespace sets the Namespace field's value.
  8154  func (s *ListPackageVersionsOutput) SetNamespace(v string) *ListPackageVersionsOutput {
  8155  	s.Namespace = &v
  8156  	return s
  8157  }
  8158  
  8159  // SetNextToken sets the NextToken field's value.
  8160  func (s *ListPackageVersionsOutput) SetNextToken(v string) *ListPackageVersionsOutput {
  8161  	s.NextToken = &v
  8162  	return s
  8163  }
  8164  
  8165  // SetPackage sets the Package field's value.
  8166  func (s *ListPackageVersionsOutput) SetPackage(v string) *ListPackageVersionsOutput {
  8167  	s.Package = &v
  8168  	return s
  8169  }
  8170  
  8171  // SetVersions sets the Versions field's value.
  8172  func (s *ListPackageVersionsOutput) SetVersions(v []*PackageVersionSummary) *ListPackageVersionsOutput {
  8173  	s.Versions = v
  8174  	return s
  8175  }
  8176  
  8177  type ListPackagesInput struct {
  8178  	_ struct{} `type:"structure" nopayload:"true"`
  8179  
  8180  	// The name of the domain that contains the repository that contains the requested
  8181  	// list of packages.
  8182  	//
  8183  	// Domain is a required field
  8184  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  8185  
  8186  	// The 12-digit account number of the AWS account that owns the domain. It does
  8187  	// not include dashes or spaces.
  8188  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  8189  
  8190  	// The format of the packages. The valid package types are:
  8191  	//
  8192  	//    * npm: A Node Package Manager (npm) package.
  8193  	//
  8194  	//    * pypi: A Python Package Index (PyPI) package.
  8195  	//
  8196  	//    * maven: A Maven package that contains compiled code in a distributable
  8197  	//    format, such as a JAR file.
  8198  	Format *string `location:"querystring" locationName:"format" type:"string" enum:"PackageFormat"`
  8199  
  8200  	// The maximum number of results to return per page.
  8201  	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
  8202  
  8203  	// The namespace of the package. The package component that specifies its namespace
  8204  	// depends on its type. For example:
  8205  	//
  8206  	//    * The namespace of a Maven package is its groupId.
  8207  	//
  8208  	//    * The namespace of an npm package is its scope.
  8209  	//
  8210  	//    * A Python package does not contain a corresponding component, so Python
  8211  	//    packages do not have a namespace.
  8212  	Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"`
  8213  
  8214  	// The token for the next set of results. Use the value returned in the previous
  8215  	// response in the next request to retrieve the next set of results.
  8216  	NextToken *string `location:"querystring" locationName:"next-token" min:"1" type:"string"`
  8217  
  8218  	// A prefix used to filter returned packages. Only packages with names that
  8219  	// start with packagePrefix are returned.
  8220  	PackagePrefix *string `location:"querystring" locationName:"package-prefix" min:"1" type:"string"`
  8221  
  8222  	// The name of the repository from which packages are to be listed.
  8223  	//
  8224  	// Repository is a required field
  8225  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  8226  }
  8227  
  8228  // String returns the string representation.
  8229  //
  8230  // API parameter values that are decorated as "sensitive" in the API will not
  8231  // be included in the string output. The member name will be present, but the
  8232  // value will be replaced with "sensitive".
  8233  func (s ListPackagesInput) String() string {
  8234  	return awsutil.Prettify(s)
  8235  }
  8236  
  8237  // GoString returns the string representation.
  8238  //
  8239  // API parameter values that are decorated as "sensitive" in the API will not
  8240  // be included in the string output. The member name will be present, but the
  8241  // value will be replaced with "sensitive".
  8242  func (s ListPackagesInput) GoString() string {
  8243  	return s.String()
  8244  }
  8245  
  8246  // Validate inspects the fields of the type to determine if they are valid.
  8247  func (s *ListPackagesInput) Validate() error {
  8248  	invalidParams := request.ErrInvalidParams{Context: "ListPackagesInput"}
  8249  	if s.Domain == nil {
  8250  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  8251  	}
  8252  	if s.Domain != nil && len(*s.Domain) < 2 {
  8253  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  8254  	}
  8255  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  8256  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  8257  	}
  8258  	if s.MaxResults != nil && *s.MaxResults < 1 {
  8259  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8260  	}
  8261  	if s.Namespace != nil && len(*s.Namespace) < 1 {
  8262  		invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
  8263  	}
  8264  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8265  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8266  	}
  8267  	if s.PackagePrefix != nil && len(*s.PackagePrefix) < 1 {
  8268  		invalidParams.Add(request.NewErrParamMinLen("PackagePrefix", 1))
  8269  	}
  8270  	if s.Repository == nil {
  8271  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  8272  	}
  8273  	if s.Repository != nil && len(*s.Repository) < 2 {
  8274  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  8275  	}
  8276  
  8277  	if invalidParams.Len() > 0 {
  8278  		return invalidParams
  8279  	}
  8280  	return nil
  8281  }
  8282  
  8283  // SetDomain sets the Domain field's value.
  8284  func (s *ListPackagesInput) SetDomain(v string) *ListPackagesInput {
  8285  	s.Domain = &v
  8286  	return s
  8287  }
  8288  
  8289  // SetDomainOwner sets the DomainOwner field's value.
  8290  func (s *ListPackagesInput) SetDomainOwner(v string) *ListPackagesInput {
  8291  	s.DomainOwner = &v
  8292  	return s
  8293  }
  8294  
  8295  // SetFormat sets the Format field's value.
  8296  func (s *ListPackagesInput) SetFormat(v string) *ListPackagesInput {
  8297  	s.Format = &v
  8298  	return s
  8299  }
  8300  
  8301  // SetMaxResults sets the MaxResults field's value.
  8302  func (s *ListPackagesInput) SetMaxResults(v int64) *ListPackagesInput {
  8303  	s.MaxResults = &v
  8304  	return s
  8305  }
  8306  
  8307  // SetNamespace sets the Namespace field's value.
  8308  func (s *ListPackagesInput) SetNamespace(v string) *ListPackagesInput {
  8309  	s.Namespace = &v
  8310  	return s
  8311  }
  8312  
  8313  // SetNextToken sets the NextToken field's value.
  8314  func (s *ListPackagesInput) SetNextToken(v string) *ListPackagesInput {
  8315  	s.NextToken = &v
  8316  	return s
  8317  }
  8318  
  8319  // SetPackagePrefix sets the PackagePrefix field's value.
  8320  func (s *ListPackagesInput) SetPackagePrefix(v string) *ListPackagesInput {
  8321  	s.PackagePrefix = &v
  8322  	return s
  8323  }
  8324  
  8325  // SetRepository sets the Repository field's value.
  8326  func (s *ListPackagesInput) SetRepository(v string) *ListPackagesInput {
  8327  	s.Repository = &v
  8328  	return s
  8329  }
  8330  
  8331  type ListPackagesOutput struct {
  8332  	_ struct{} `type:"structure"`
  8333  
  8334  	// If there are additional results, this is the token for the next set of results.
  8335  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  8336  
  8337  	// The list of returned PackageSummary (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageSummary.html)
  8338  	// objects.
  8339  	Packages []*PackageSummary `locationName:"packages" type:"list"`
  8340  }
  8341  
  8342  // String returns the string representation.
  8343  //
  8344  // API parameter values that are decorated as "sensitive" in the API will not
  8345  // be included in the string output. The member name will be present, but the
  8346  // value will be replaced with "sensitive".
  8347  func (s ListPackagesOutput) String() string {
  8348  	return awsutil.Prettify(s)
  8349  }
  8350  
  8351  // GoString returns the string representation.
  8352  //
  8353  // API parameter values that are decorated as "sensitive" in the API will not
  8354  // be included in the string output. The member name will be present, but the
  8355  // value will be replaced with "sensitive".
  8356  func (s ListPackagesOutput) GoString() string {
  8357  	return s.String()
  8358  }
  8359  
  8360  // SetNextToken sets the NextToken field's value.
  8361  func (s *ListPackagesOutput) SetNextToken(v string) *ListPackagesOutput {
  8362  	s.NextToken = &v
  8363  	return s
  8364  }
  8365  
  8366  // SetPackages sets the Packages field's value.
  8367  func (s *ListPackagesOutput) SetPackages(v []*PackageSummary) *ListPackagesOutput {
  8368  	s.Packages = v
  8369  	return s
  8370  }
  8371  
  8372  type ListRepositoriesInDomainInput struct {
  8373  	_ struct{} `type:"structure" nopayload:"true"`
  8374  
  8375  	// Filter the list of repositories to only include those that are managed by
  8376  	// the AWS account ID.
  8377  	AdministratorAccount *string `location:"querystring" locationName:"administrator-account" min:"12" type:"string"`
  8378  
  8379  	// The name of the domain that contains the returned list of repositories.
  8380  	//
  8381  	// Domain is a required field
  8382  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  8383  
  8384  	// The 12-digit account number of the AWS account that owns the domain. It does
  8385  	// not include dashes or spaces.
  8386  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  8387  
  8388  	// The maximum number of results to return per page.
  8389  	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
  8390  
  8391  	// The token for the next set of results. Use the value returned in the previous
  8392  	// response in the next request to retrieve the next set of results.
  8393  	NextToken *string `location:"querystring" locationName:"next-token" min:"1" type:"string"`
  8394  
  8395  	// A prefix used to filter returned repositories. Only repositories with names
  8396  	// that start with repositoryPrefix are returned.
  8397  	RepositoryPrefix *string `location:"querystring" locationName:"repository-prefix" min:"2" type:"string"`
  8398  }
  8399  
  8400  // String returns the string representation.
  8401  //
  8402  // API parameter values that are decorated as "sensitive" in the API will not
  8403  // be included in the string output. The member name will be present, but the
  8404  // value will be replaced with "sensitive".
  8405  func (s ListRepositoriesInDomainInput) String() string {
  8406  	return awsutil.Prettify(s)
  8407  }
  8408  
  8409  // GoString returns the string representation.
  8410  //
  8411  // API parameter values that are decorated as "sensitive" in the API will not
  8412  // be included in the string output. The member name will be present, but the
  8413  // value will be replaced with "sensitive".
  8414  func (s ListRepositoriesInDomainInput) GoString() string {
  8415  	return s.String()
  8416  }
  8417  
  8418  // Validate inspects the fields of the type to determine if they are valid.
  8419  func (s *ListRepositoriesInDomainInput) Validate() error {
  8420  	invalidParams := request.ErrInvalidParams{Context: "ListRepositoriesInDomainInput"}
  8421  	if s.AdministratorAccount != nil && len(*s.AdministratorAccount) < 12 {
  8422  		invalidParams.Add(request.NewErrParamMinLen("AdministratorAccount", 12))
  8423  	}
  8424  	if s.Domain == nil {
  8425  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  8426  	}
  8427  	if s.Domain != nil && len(*s.Domain) < 2 {
  8428  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  8429  	}
  8430  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  8431  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  8432  	}
  8433  	if s.MaxResults != nil && *s.MaxResults < 1 {
  8434  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8435  	}
  8436  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8437  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8438  	}
  8439  	if s.RepositoryPrefix != nil && len(*s.RepositoryPrefix) < 2 {
  8440  		invalidParams.Add(request.NewErrParamMinLen("RepositoryPrefix", 2))
  8441  	}
  8442  
  8443  	if invalidParams.Len() > 0 {
  8444  		return invalidParams
  8445  	}
  8446  	return nil
  8447  }
  8448  
  8449  // SetAdministratorAccount sets the AdministratorAccount field's value.
  8450  func (s *ListRepositoriesInDomainInput) SetAdministratorAccount(v string) *ListRepositoriesInDomainInput {
  8451  	s.AdministratorAccount = &v
  8452  	return s
  8453  }
  8454  
  8455  // SetDomain sets the Domain field's value.
  8456  func (s *ListRepositoriesInDomainInput) SetDomain(v string) *ListRepositoriesInDomainInput {
  8457  	s.Domain = &v
  8458  	return s
  8459  }
  8460  
  8461  // SetDomainOwner sets the DomainOwner field's value.
  8462  func (s *ListRepositoriesInDomainInput) SetDomainOwner(v string) *ListRepositoriesInDomainInput {
  8463  	s.DomainOwner = &v
  8464  	return s
  8465  }
  8466  
  8467  // SetMaxResults sets the MaxResults field's value.
  8468  func (s *ListRepositoriesInDomainInput) SetMaxResults(v int64) *ListRepositoriesInDomainInput {
  8469  	s.MaxResults = &v
  8470  	return s
  8471  }
  8472  
  8473  // SetNextToken sets the NextToken field's value.
  8474  func (s *ListRepositoriesInDomainInput) SetNextToken(v string) *ListRepositoriesInDomainInput {
  8475  	s.NextToken = &v
  8476  	return s
  8477  }
  8478  
  8479  // SetRepositoryPrefix sets the RepositoryPrefix field's value.
  8480  func (s *ListRepositoriesInDomainInput) SetRepositoryPrefix(v string) *ListRepositoriesInDomainInput {
  8481  	s.RepositoryPrefix = &v
  8482  	return s
  8483  }
  8484  
  8485  type ListRepositoriesInDomainOutput struct {
  8486  	_ struct{} `type:"structure"`
  8487  
  8488  	// If there are additional results, this is the token for the next set of results.
  8489  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  8490  
  8491  	// The returned list of repositories.
  8492  	Repositories []*RepositorySummary `locationName:"repositories" type:"list"`
  8493  }
  8494  
  8495  // String returns the string representation.
  8496  //
  8497  // API parameter values that are decorated as "sensitive" in the API will not
  8498  // be included in the string output. The member name will be present, but the
  8499  // value will be replaced with "sensitive".
  8500  func (s ListRepositoriesInDomainOutput) String() string {
  8501  	return awsutil.Prettify(s)
  8502  }
  8503  
  8504  // GoString returns the string representation.
  8505  //
  8506  // API parameter values that are decorated as "sensitive" in the API will not
  8507  // be included in the string output. The member name will be present, but the
  8508  // value will be replaced with "sensitive".
  8509  func (s ListRepositoriesInDomainOutput) GoString() string {
  8510  	return s.String()
  8511  }
  8512  
  8513  // SetNextToken sets the NextToken field's value.
  8514  func (s *ListRepositoriesInDomainOutput) SetNextToken(v string) *ListRepositoriesInDomainOutput {
  8515  	s.NextToken = &v
  8516  	return s
  8517  }
  8518  
  8519  // SetRepositories sets the Repositories field's value.
  8520  func (s *ListRepositoriesInDomainOutput) SetRepositories(v []*RepositorySummary) *ListRepositoriesInDomainOutput {
  8521  	s.Repositories = v
  8522  	return s
  8523  }
  8524  
  8525  type ListRepositoriesInput struct {
  8526  	_ struct{} `type:"structure" nopayload:"true"`
  8527  
  8528  	// The maximum number of results to return per page.
  8529  	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
  8530  
  8531  	// The token for the next set of results. Use the value returned in the previous
  8532  	// response in the next request to retrieve the next set of results.
  8533  	NextToken *string `location:"querystring" locationName:"next-token" min:"1" type:"string"`
  8534  
  8535  	// A prefix used to filter returned repositories. Only repositories with names
  8536  	// that start with repositoryPrefix are returned.
  8537  	RepositoryPrefix *string `location:"querystring" locationName:"repository-prefix" min:"2" type:"string"`
  8538  }
  8539  
  8540  // String returns the string representation.
  8541  //
  8542  // API parameter values that are decorated as "sensitive" in the API will not
  8543  // be included in the string output. The member name will be present, but the
  8544  // value will be replaced with "sensitive".
  8545  func (s ListRepositoriesInput) String() string {
  8546  	return awsutil.Prettify(s)
  8547  }
  8548  
  8549  // GoString returns the string representation.
  8550  //
  8551  // API parameter values that are decorated as "sensitive" in the API will not
  8552  // be included in the string output. The member name will be present, but the
  8553  // value will be replaced with "sensitive".
  8554  func (s ListRepositoriesInput) GoString() string {
  8555  	return s.String()
  8556  }
  8557  
  8558  // Validate inspects the fields of the type to determine if they are valid.
  8559  func (s *ListRepositoriesInput) Validate() error {
  8560  	invalidParams := request.ErrInvalidParams{Context: "ListRepositoriesInput"}
  8561  	if s.MaxResults != nil && *s.MaxResults < 1 {
  8562  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8563  	}
  8564  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8565  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8566  	}
  8567  	if s.RepositoryPrefix != nil && len(*s.RepositoryPrefix) < 2 {
  8568  		invalidParams.Add(request.NewErrParamMinLen("RepositoryPrefix", 2))
  8569  	}
  8570  
  8571  	if invalidParams.Len() > 0 {
  8572  		return invalidParams
  8573  	}
  8574  	return nil
  8575  }
  8576  
  8577  // SetMaxResults sets the MaxResults field's value.
  8578  func (s *ListRepositoriesInput) SetMaxResults(v int64) *ListRepositoriesInput {
  8579  	s.MaxResults = &v
  8580  	return s
  8581  }
  8582  
  8583  // SetNextToken sets the NextToken field's value.
  8584  func (s *ListRepositoriesInput) SetNextToken(v string) *ListRepositoriesInput {
  8585  	s.NextToken = &v
  8586  	return s
  8587  }
  8588  
  8589  // SetRepositoryPrefix sets the RepositoryPrefix field's value.
  8590  func (s *ListRepositoriesInput) SetRepositoryPrefix(v string) *ListRepositoriesInput {
  8591  	s.RepositoryPrefix = &v
  8592  	return s
  8593  }
  8594  
  8595  type ListRepositoriesOutput struct {
  8596  	_ struct{} `type:"structure"`
  8597  
  8598  	// If there are additional results, this is the token for the next set of results.
  8599  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  8600  
  8601  	// The returned list of RepositorySummary (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_RepositorySummary.html)
  8602  	// objects.
  8603  	Repositories []*RepositorySummary `locationName:"repositories" type:"list"`
  8604  }
  8605  
  8606  // String returns the string representation.
  8607  //
  8608  // API parameter values that are decorated as "sensitive" in the API will not
  8609  // be included in the string output. The member name will be present, but the
  8610  // value will be replaced with "sensitive".
  8611  func (s ListRepositoriesOutput) String() string {
  8612  	return awsutil.Prettify(s)
  8613  }
  8614  
  8615  // GoString returns the string representation.
  8616  //
  8617  // API parameter values that are decorated as "sensitive" in the API will not
  8618  // be included in the string output. The member name will be present, but the
  8619  // value will be replaced with "sensitive".
  8620  func (s ListRepositoriesOutput) GoString() string {
  8621  	return s.String()
  8622  }
  8623  
  8624  // SetNextToken sets the NextToken field's value.
  8625  func (s *ListRepositoriesOutput) SetNextToken(v string) *ListRepositoriesOutput {
  8626  	s.NextToken = &v
  8627  	return s
  8628  }
  8629  
  8630  // SetRepositories sets the Repositories field's value.
  8631  func (s *ListRepositoriesOutput) SetRepositories(v []*RepositorySummary) *ListRepositoriesOutput {
  8632  	s.Repositories = v
  8633  	return s
  8634  }
  8635  
  8636  type ListTagsForResourceInput struct {
  8637  	_ struct{} `type:"structure" nopayload:"true"`
  8638  
  8639  	// The Amazon Resource Name (ARN) of the resource to get tags for.
  8640  	//
  8641  	// ResourceArn is a required field
  8642  	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
  8643  }
  8644  
  8645  // String returns the string representation.
  8646  //
  8647  // API parameter values that are decorated as "sensitive" in the API will not
  8648  // be included in the string output. The member name will be present, but the
  8649  // value will be replaced with "sensitive".
  8650  func (s ListTagsForResourceInput) String() string {
  8651  	return awsutil.Prettify(s)
  8652  }
  8653  
  8654  // GoString returns the string representation.
  8655  //
  8656  // API parameter values that are decorated as "sensitive" in the API will not
  8657  // be included in the string output. The member name will be present, but the
  8658  // value will be replaced with "sensitive".
  8659  func (s ListTagsForResourceInput) GoString() string {
  8660  	return s.String()
  8661  }
  8662  
  8663  // Validate inspects the fields of the type to determine if they are valid.
  8664  func (s *ListTagsForResourceInput) Validate() error {
  8665  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  8666  	if s.ResourceArn == nil {
  8667  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  8668  	}
  8669  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  8670  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  8671  	}
  8672  
  8673  	if invalidParams.Len() > 0 {
  8674  		return invalidParams
  8675  	}
  8676  	return nil
  8677  }
  8678  
  8679  // SetResourceArn sets the ResourceArn field's value.
  8680  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  8681  	s.ResourceArn = &v
  8682  	return s
  8683  }
  8684  
  8685  type ListTagsForResourceOutput struct {
  8686  	_ struct{} `type:"structure"`
  8687  
  8688  	// A list of tag key and value pairs associated with the specified resource.
  8689  	Tags []*Tag `locationName:"tags" type:"list"`
  8690  }
  8691  
  8692  // String returns the string representation.
  8693  //
  8694  // API parameter values that are decorated as "sensitive" in the API will not
  8695  // be included in the string output. The member name will be present, but the
  8696  // value will be replaced with "sensitive".
  8697  func (s ListTagsForResourceOutput) String() string {
  8698  	return awsutil.Prettify(s)
  8699  }
  8700  
  8701  // GoString returns the string representation.
  8702  //
  8703  // API parameter values that are decorated as "sensitive" in the API will not
  8704  // be included in the string output. The member name will be present, but the
  8705  // value will be replaced with "sensitive".
  8706  func (s ListTagsForResourceOutput) GoString() string {
  8707  	return s.String()
  8708  }
  8709  
  8710  // SetTags sets the Tags field's value.
  8711  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
  8712  	s.Tags = v
  8713  	return s
  8714  }
  8715  
  8716  // Details about a package dependency.
  8717  type PackageDependency struct {
  8718  	_ struct{} `type:"structure"`
  8719  
  8720  	// The type of a package dependency. The possible values depend on the package
  8721  	// type. Example types are compile, runtime, and test for Maven packages, and
  8722  	// dev, prod, and optional for npm packages.
  8723  	DependencyType *string `locationName:"dependencyType" type:"string"`
  8724  
  8725  	// The namespace of the package. The package component that specifies its namespace
  8726  	// depends on its type. For example:
  8727  	//
  8728  	//    * The namespace of a Maven package is its groupId.
  8729  	//
  8730  	//    * The namespace of an npm package is its scope.
  8731  	//
  8732  	//    * A Python package does not contain a corresponding component, so Python
  8733  	//    packages do not have a namespace.
  8734  	Namespace *string `locationName:"namespace" min:"1" type:"string"`
  8735  
  8736  	// The name of the package that this package depends on.
  8737  	Package *string `locationName:"package" min:"1" type:"string"`
  8738  
  8739  	// The required version, or version range, of the package that this package
  8740  	// depends on. The version format is specific to the package type. For example,
  8741  	// the following are possible valid required versions: 1.2.3, ^2.3.4, or 4.x.
  8742  	VersionRequirement *string `locationName:"versionRequirement" type:"string"`
  8743  }
  8744  
  8745  // String returns the string representation.
  8746  //
  8747  // API parameter values that are decorated as "sensitive" in the API will not
  8748  // be included in the string output. The member name will be present, but the
  8749  // value will be replaced with "sensitive".
  8750  func (s PackageDependency) String() string {
  8751  	return awsutil.Prettify(s)
  8752  }
  8753  
  8754  // GoString returns the string representation.
  8755  //
  8756  // API parameter values that are decorated as "sensitive" in the API will not
  8757  // be included in the string output. The member name will be present, but the
  8758  // value will be replaced with "sensitive".
  8759  func (s PackageDependency) GoString() string {
  8760  	return s.String()
  8761  }
  8762  
  8763  // SetDependencyType sets the DependencyType field's value.
  8764  func (s *PackageDependency) SetDependencyType(v string) *PackageDependency {
  8765  	s.DependencyType = &v
  8766  	return s
  8767  }
  8768  
  8769  // SetNamespace sets the Namespace field's value.
  8770  func (s *PackageDependency) SetNamespace(v string) *PackageDependency {
  8771  	s.Namespace = &v
  8772  	return s
  8773  }
  8774  
  8775  // SetPackage sets the Package field's value.
  8776  func (s *PackageDependency) SetPackage(v string) *PackageDependency {
  8777  	s.Package = &v
  8778  	return s
  8779  }
  8780  
  8781  // SetVersionRequirement sets the VersionRequirement field's value.
  8782  func (s *PackageDependency) SetVersionRequirement(v string) *PackageDependency {
  8783  	s.VersionRequirement = &v
  8784  	return s
  8785  }
  8786  
  8787  // Details about a package, including its format, namespace, and name. The ListPackages
  8788  // (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackages.html)
  8789  // operation returns a list of PackageSummary objects.
  8790  type PackageSummary struct {
  8791  	_ struct{} `type:"structure"`
  8792  
  8793  	// The format of the package. Valid values are:
  8794  	//
  8795  	//    * npm
  8796  	//
  8797  	//    * pypi
  8798  	//
  8799  	//    * maven
  8800  	Format *string `locationName:"format" type:"string" enum:"PackageFormat"`
  8801  
  8802  	// The namespace of the package. The package component that specifies its namespace
  8803  	// depends on its type. For example:
  8804  	//
  8805  	//    * The namespace of a Maven package is its groupId.
  8806  	//
  8807  	//    * The namespace of an npm package is its scope.
  8808  	//
  8809  	//    * A Python package does not contain a corresponding component, so Python
  8810  	//    packages do not have a namespace.
  8811  	Namespace *string `locationName:"namespace" min:"1" type:"string"`
  8812  
  8813  	// The name of the package.
  8814  	Package *string `locationName:"package" min:"1" type:"string"`
  8815  }
  8816  
  8817  // String returns the string representation.
  8818  //
  8819  // API parameter values that are decorated as "sensitive" in the API will not
  8820  // be included in the string output. The member name will be present, but the
  8821  // value will be replaced with "sensitive".
  8822  func (s PackageSummary) String() string {
  8823  	return awsutil.Prettify(s)
  8824  }
  8825  
  8826  // GoString returns the string representation.
  8827  //
  8828  // API parameter values that are decorated as "sensitive" in the API will not
  8829  // be included in the string output. The member name will be present, but the
  8830  // value will be replaced with "sensitive".
  8831  func (s PackageSummary) GoString() string {
  8832  	return s.String()
  8833  }
  8834  
  8835  // SetFormat sets the Format field's value.
  8836  func (s *PackageSummary) SetFormat(v string) *PackageSummary {
  8837  	s.Format = &v
  8838  	return s
  8839  }
  8840  
  8841  // SetNamespace sets the Namespace field's value.
  8842  func (s *PackageSummary) SetNamespace(v string) *PackageSummary {
  8843  	s.Namespace = &v
  8844  	return s
  8845  }
  8846  
  8847  // SetPackage sets the Package field's value.
  8848  func (s *PackageSummary) SetPackage(v string) *PackageSummary {
  8849  	s.Package = &v
  8850  	return s
  8851  }
  8852  
  8853  // Details about a package version.
  8854  type PackageVersionDescription struct {
  8855  	_ struct{} `type:"structure"`
  8856  
  8857  	// The name of the package that is displayed. The displayName varies depending
  8858  	// on the package version's format. For example, if an npm package is named
  8859  	// ui, is in the namespace vue, and has the format npm, then the displayName
  8860  	// is @vue/ui.
  8861  	DisplayName *string `locationName:"displayName" min:"1" type:"string"`
  8862  
  8863  	// The format of the package version. The valid package formats are:
  8864  	//
  8865  	//    * npm: A Node Package Manager (npm) package.
  8866  	//
  8867  	//    * pypi: A Python Package Index (PyPI) package.
  8868  	//
  8869  	//    * maven: A Maven package that contains compiled code in a distributable
  8870  	//    format, such as a JAR file.
  8871  	Format *string `locationName:"format" type:"string" enum:"PackageFormat"`
  8872  
  8873  	// The homepage associated with the package.
  8874  	HomePage *string `locationName:"homePage" type:"string"`
  8875  
  8876  	// Information about licenses associated with the package version.
  8877  	Licenses []*LicenseInfo `locationName:"licenses" type:"list"`
  8878  
  8879  	// The namespace of the package. The package component that specifies its namespace
  8880  	// depends on its type. For example:
  8881  	//
  8882  	//    * The namespace of a Maven package is its groupId.
  8883  	//
  8884  	//    * The namespace of an npm package is its scope.
  8885  	//
  8886  	//    * A Python package does not contain a corresponding component, so Python
  8887  	//    packages do not have a namespace.
  8888  	Namespace *string `locationName:"namespace" min:"1" type:"string"`
  8889  
  8890  	// The name of the requested package.
  8891  	PackageName *string `locationName:"packageName" min:"1" type:"string"`
  8892  
  8893  	// A timestamp that contains the date and time the package version was published.
  8894  	PublishedTime *time.Time `locationName:"publishedTime" type:"timestamp"`
  8895  
  8896  	// The revision of the package version.
  8897  	Revision *string `locationName:"revision" min:"1" type:"string"`
  8898  
  8899  	// The repository for the source code in the package version, or the source
  8900  	// code used to build it.
  8901  	SourceCodeRepository *string `locationName:"sourceCodeRepository" type:"string"`
  8902  
  8903  	// A string that contains the status of the package version. It can be one of
  8904  	// the following:
  8905  	//
  8906  	//    * Published
  8907  	//
  8908  	//    * Unfinished
  8909  	//
  8910  	//    * Unlisted
  8911  	//
  8912  	//    * Archived
  8913  	//
  8914  	//    * Disposed
  8915  	Status *string `locationName:"status" type:"string" enum:"PackageVersionStatus"`
  8916  
  8917  	// A summary of the package version. The summary is extracted from the package.
  8918  	// The information in and detail level of the summary depends on the package
  8919  	// version's format.
  8920  	Summary *string `locationName:"summary" type:"string"`
  8921  
  8922  	// The version of the package.
  8923  	Version *string `locationName:"version" min:"1" type:"string"`
  8924  }
  8925  
  8926  // String returns the string representation.
  8927  //
  8928  // API parameter values that are decorated as "sensitive" in the API will not
  8929  // be included in the string output. The member name will be present, but the
  8930  // value will be replaced with "sensitive".
  8931  func (s PackageVersionDescription) String() string {
  8932  	return awsutil.Prettify(s)
  8933  }
  8934  
  8935  // GoString returns the string representation.
  8936  //
  8937  // API parameter values that are decorated as "sensitive" in the API will not
  8938  // be included in the string output. The member name will be present, but the
  8939  // value will be replaced with "sensitive".
  8940  func (s PackageVersionDescription) GoString() string {
  8941  	return s.String()
  8942  }
  8943  
  8944  // SetDisplayName sets the DisplayName field's value.
  8945  func (s *PackageVersionDescription) SetDisplayName(v string) *PackageVersionDescription {
  8946  	s.DisplayName = &v
  8947  	return s
  8948  }
  8949  
  8950  // SetFormat sets the Format field's value.
  8951  func (s *PackageVersionDescription) SetFormat(v string) *PackageVersionDescription {
  8952  	s.Format = &v
  8953  	return s
  8954  }
  8955  
  8956  // SetHomePage sets the HomePage field's value.
  8957  func (s *PackageVersionDescription) SetHomePage(v string) *PackageVersionDescription {
  8958  	s.HomePage = &v
  8959  	return s
  8960  }
  8961  
  8962  // SetLicenses sets the Licenses field's value.
  8963  func (s *PackageVersionDescription) SetLicenses(v []*LicenseInfo) *PackageVersionDescription {
  8964  	s.Licenses = v
  8965  	return s
  8966  }
  8967  
  8968  // SetNamespace sets the Namespace field's value.
  8969  func (s *PackageVersionDescription) SetNamespace(v string) *PackageVersionDescription {
  8970  	s.Namespace = &v
  8971  	return s
  8972  }
  8973  
  8974  // SetPackageName sets the PackageName field's value.
  8975  func (s *PackageVersionDescription) SetPackageName(v string) *PackageVersionDescription {
  8976  	s.PackageName = &v
  8977  	return s
  8978  }
  8979  
  8980  // SetPublishedTime sets the PublishedTime field's value.
  8981  func (s *PackageVersionDescription) SetPublishedTime(v time.Time) *PackageVersionDescription {
  8982  	s.PublishedTime = &v
  8983  	return s
  8984  }
  8985  
  8986  // SetRevision sets the Revision field's value.
  8987  func (s *PackageVersionDescription) SetRevision(v string) *PackageVersionDescription {
  8988  	s.Revision = &v
  8989  	return s
  8990  }
  8991  
  8992  // SetSourceCodeRepository sets the SourceCodeRepository field's value.
  8993  func (s *PackageVersionDescription) SetSourceCodeRepository(v string) *PackageVersionDescription {
  8994  	s.SourceCodeRepository = &v
  8995  	return s
  8996  }
  8997  
  8998  // SetStatus sets the Status field's value.
  8999  func (s *PackageVersionDescription) SetStatus(v string) *PackageVersionDescription {
  9000  	s.Status = &v
  9001  	return s
  9002  }
  9003  
  9004  // SetSummary sets the Summary field's value.
  9005  func (s *PackageVersionDescription) SetSummary(v string) *PackageVersionDescription {
  9006  	s.Summary = &v
  9007  	return s
  9008  }
  9009  
  9010  // SetVersion sets the Version field's value.
  9011  func (s *PackageVersionDescription) SetVersion(v string) *PackageVersionDescription {
  9012  	s.Version = &v
  9013  	return s
  9014  }
  9015  
  9016  // An error associated with package.
  9017  type PackageVersionError struct {
  9018  	_ struct{} `type:"structure"`
  9019  
  9020  	// The error code associated with the error. Valid error codes are:
  9021  	//
  9022  	//    * ALREADY_EXISTS
  9023  	//
  9024  	//    * MISMATCHED_REVISION
  9025  	//
  9026  	//    * MISMATCHED_STATUS
  9027  	//
  9028  	//    * NOT_ALLOWED
  9029  	//
  9030  	//    * NOT_FOUND
  9031  	//
  9032  	//    * SKIPPED
  9033  	ErrorCode *string `locationName:"errorCode" type:"string" enum:"PackageVersionErrorCode"`
  9034  
  9035  	// The error message associated with the error.
  9036  	ErrorMessage *string `locationName:"errorMessage" type:"string"`
  9037  }
  9038  
  9039  // String returns the string representation.
  9040  //
  9041  // API parameter values that are decorated as "sensitive" in the API will not
  9042  // be included in the string output. The member name will be present, but the
  9043  // value will be replaced with "sensitive".
  9044  func (s PackageVersionError) String() string {
  9045  	return awsutil.Prettify(s)
  9046  }
  9047  
  9048  // GoString returns the string representation.
  9049  //
  9050  // API parameter values that are decorated as "sensitive" in the API will not
  9051  // be included in the string output. The member name will be present, but the
  9052  // value will be replaced with "sensitive".
  9053  func (s PackageVersionError) GoString() string {
  9054  	return s.String()
  9055  }
  9056  
  9057  // SetErrorCode sets the ErrorCode field's value.
  9058  func (s *PackageVersionError) SetErrorCode(v string) *PackageVersionError {
  9059  	s.ErrorCode = &v
  9060  	return s
  9061  }
  9062  
  9063  // SetErrorMessage sets the ErrorMessage field's value.
  9064  func (s *PackageVersionError) SetErrorMessage(v string) *PackageVersionError {
  9065  	s.ErrorMessage = &v
  9066  	return s
  9067  }
  9068  
  9069  // Details about a package version, including its status, version, and revision.
  9070  // The ListPackageVersions (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackageVersions.html)
  9071  // operation returns a list of PackageVersionSummary objects.
  9072  type PackageVersionSummary struct {
  9073  	_ struct{} `type:"structure"`
  9074  
  9075  	// The revision associated with a package version.
  9076  	Revision *string `locationName:"revision" min:"1" type:"string"`
  9077  
  9078  	// A string that contains the status of the package version. It can be one of
  9079  	// the following:
  9080  	//
  9081  	//    * Published
  9082  	//
  9083  	//    * Unfinished
  9084  	//
  9085  	//    * Unlisted
  9086  	//
  9087  	//    * Archived
  9088  	//
  9089  	//    * Disposed
  9090  	//
  9091  	// Status is a required field
  9092  	Status *string `locationName:"status" type:"string" required:"true" enum:"PackageVersionStatus"`
  9093  
  9094  	// Information about a package version.
  9095  	//
  9096  	// Version is a required field
  9097  	Version *string `locationName:"version" min:"1" type:"string" required:"true"`
  9098  }
  9099  
  9100  // String returns the string representation.
  9101  //
  9102  // API parameter values that are decorated as "sensitive" in the API will not
  9103  // be included in the string output. The member name will be present, but the
  9104  // value will be replaced with "sensitive".
  9105  func (s PackageVersionSummary) String() string {
  9106  	return awsutil.Prettify(s)
  9107  }
  9108  
  9109  // GoString returns the string representation.
  9110  //
  9111  // API parameter values that are decorated as "sensitive" in the API will not
  9112  // be included in the string output. The member name will be present, but the
  9113  // value will be replaced with "sensitive".
  9114  func (s PackageVersionSummary) GoString() string {
  9115  	return s.String()
  9116  }
  9117  
  9118  // SetRevision sets the Revision field's value.
  9119  func (s *PackageVersionSummary) SetRevision(v string) *PackageVersionSummary {
  9120  	s.Revision = &v
  9121  	return s
  9122  }
  9123  
  9124  // SetStatus sets the Status field's value.
  9125  func (s *PackageVersionSummary) SetStatus(v string) *PackageVersionSummary {
  9126  	s.Status = &v
  9127  	return s
  9128  }
  9129  
  9130  // SetVersion sets the Version field's value.
  9131  func (s *PackageVersionSummary) SetVersion(v string) *PackageVersionSummary {
  9132  	s.Version = &v
  9133  	return s
  9134  }
  9135  
  9136  type PutDomainPermissionsPolicyInput struct {
  9137  	_ struct{} `type:"structure"`
  9138  
  9139  	// The name of the domain on which to set the resource policy.
  9140  	//
  9141  	// Domain is a required field
  9142  	Domain *string `locationName:"domain" min:"2" type:"string" required:"true"`
  9143  
  9144  	// The 12-digit account number of the AWS account that owns the domain. It does
  9145  	// not include dashes or spaces.
  9146  	DomainOwner *string `locationName:"domainOwner" min:"12" type:"string"`
  9147  
  9148  	// A valid displayable JSON Aspen policy string to be set as the access control
  9149  	// resource policy on the provided domain.
  9150  	//
  9151  	// PolicyDocument is a required field
  9152  	PolicyDocument *string `locationName:"policyDocument" min:"1" type:"string" required:"true"`
  9153  
  9154  	// The current revision of the resource policy to be set. This revision is used
  9155  	// for optimistic locking, which prevents others from overwriting your changes
  9156  	// to the domain's resource policy.
  9157  	PolicyRevision *string `locationName:"policyRevision" min:"1" type:"string"`
  9158  }
  9159  
  9160  // String returns the string representation.
  9161  //
  9162  // API parameter values that are decorated as "sensitive" in the API will not
  9163  // be included in the string output. The member name will be present, but the
  9164  // value will be replaced with "sensitive".
  9165  func (s PutDomainPermissionsPolicyInput) String() string {
  9166  	return awsutil.Prettify(s)
  9167  }
  9168  
  9169  // GoString returns the string representation.
  9170  //
  9171  // API parameter values that are decorated as "sensitive" in the API will not
  9172  // be included in the string output. The member name will be present, but the
  9173  // value will be replaced with "sensitive".
  9174  func (s PutDomainPermissionsPolicyInput) GoString() string {
  9175  	return s.String()
  9176  }
  9177  
  9178  // Validate inspects the fields of the type to determine if they are valid.
  9179  func (s *PutDomainPermissionsPolicyInput) Validate() error {
  9180  	invalidParams := request.ErrInvalidParams{Context: "PutDomainPermissionsPolicyInput"}
  9181  	if s.Domain == nil {
  9182  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  9183  	}
  9184  	if s.Domain != nil && len(*s.Domain) < 2 {
  9185  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  9186  	}
  9187  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  9188  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  9189  	}
  9190  	if s.PolicyDocument == nil {
  9191  		invalidParams.Add(request.NewErrParamRequired("PolicyDocument"))
  9192  	}
  9193  	if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 {
  9194  		invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1))
  9195  	}
  9196  	if s.PolicyRevision != nil && len(*s.PolicyRevision) < 1 {
  9197  		invalidParams.Add(request.NewErrParamMinLen("PolicyRevision", 1))
  9198  	}
  9199  
  9200  	if invalidParams.Len() > 0 {
  9201  		return invalidParams
  9202  	}
  9203  	return nil
  9204  }
  9205  
  9206  // SetDomain sets the Domain field's value.
  9207  func (s *PutDomainPermissionsPolicyInput) SetDomain(v string) *PutDomainPermissionsPolicyInput {
  9208  	s.Domain = &v
  9209  	return s
  9210  }
  9211  
  9212  // SetDomainOwner sets the DomainOwner field's value.
  9213  func (s *PutDomainPermissionsPolicyInput) SetDomainOwner(v string) *PutDomainPermissionsPolicyInput {
  9214  	s.DomainOwner = &v
  9215  	return s
  9216  }
  9217  
  9218  // SetPolicyDocument sets the PolicyDocument field's value.
  9219  func (s *PutDomainPermissionsPolicyInput) SetPolicyDocument(v string) *PutDomainPermissionsPolicyInput {
  9220  	s.PolicyDocument = &v
  9221  	return s
  9222  }
  9223  
  9224  // SetPolicyRevision sets the PolicyRevision field's value.
  9225  func (s *PutDomainPermissionsPolicyInput) SetPolicyRevision(v string) *PutDomainPermissionsPolicyInput {
  9226  	s.PolicyRevision = &v
  9227  	return s
  9228  }
  9229  
  9230  type PutDomainPermissionsPolicyOutput struct {
  9231  	_ struct{} `type:"structure"`
  9232  
  9233  	// The resource policy that was set after processing the request.
  9234  	Policy *ResourcePolicy `locationName:"policy" type:"structure"`
  9235  }
  9236  
  9237  // String returns the string representation.
  9238  //
  9239  // API parameter values that are decorated as "sensitive" in the API will not
  9240  // be included in the string output. The member name will be present, but the
  9241  // value will be replaced with "sensitive".
  9242  func (s PutDomainPermissionsPolicyOutput) String() string {
  9243  	return awsutil.Prettify(s)
  9244  }
  9245  
  9246  // GoString returns the string representation.
  9247  //
  9248  // API parameter values that are decorated as "sensitive" in the API will not
  9249  // be included in the string output. The member name will be present, but the
  9250  // value will be replaced with "sensitive".
  9251  func (s PutDomainPermissionsPolicyOutput) GoString() string {
  9252  	return s.String()
  9253  }
  9254  
  9255  // SetPolicy sets the Policy field's value.
  9256  func (s *PutDomainPermissionsPolicyOutput) SetPolicy(v *ResourcePolicy) *PutDomainPermissionsPolicyOutput {
  9257  	s.Policy = v
  9258  	return s
  9259  }
  9260  
  9261  type PutRepositoryPermissionsPolicyInput struct {
  9262  	_ struct{} `type:"structure"`
  9263  
  9264  	// The name of the domain containing the repository to set the resource policy
  9265  	// on.
  9266  	//
  9267  	// Domain is a required field
  9268  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
  9269  
  9270  	// The 12-digit account number of the AWS account that owns the domain. It does
  9271  	// not include dashes or spaces.
  9272  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
  9273  
  9274  	// A valid displayable JSON Aspen policy string to be set as the access control
  9275  	// resource policy on the provided repository.
  9276  	//
  9277  	// PolicyDocument is a required field
  9278  	PolicyDocument *string `locationName:"policyDocument" min:"1" type:"string" required:"true"`
  9279  
  9280  	// Sets the revision of the resource policy that specifies permissions to access
  9281  	// the repository. This revision is used for optimistic locking, which prevents
  9282  	// others from overwriting your changes to the repository's resource policy.
  9283  	PolicyRevision *string `locationName:"policyRevision" min:"1" type:"string"`
  9284  
  9285  	// The name of the repository to set the resource policy on.
  9286  	//
  9287  	// Repository is a required field
  9288  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
  9289  }
  9290  
  9291  // String returns the string representation.
  9292  //
  9293  // API parameter values that are decorated as "sensitive" in the API will not
  9294  // be included in the string output. The member name will be present, but the
  9295  // value will be replaced with "sensitive".
  9296  func (s PutRepositoryPermissionsPolicyInput) String() string {
  9297  	return awsutil.Prettify(s)
  9298  }
  9299  
  9300  // GoString returns the string representation.
  9301  //
  9302  // API parameter values that are decorated as "sensitive" in the API will not
  9303  // be included in the string output. The member name will be present, but the
  9304  // value will be replaced with "sensitive".
  9305  func (s PutRepositoryPermissionsPolicyInput) GoString() string {
  9306  	return s.String()
  9307  }
  9308  
  9309  // Validate inspects the fields of the type to determine if they are valid.
  9310  func (s *PutRepositoryPermissionsPolicyInput) Validate() error {
  9311  	invalidParams := request.ErrInvalidParams{Context: "PutRepositoryPermissionsPolicyInput"}
  9312  	if s.Domain == nil {
  9313  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  9314  	}
  9315  	if s.Domain != nil && len(*s.Domain) < 2 {
  9316  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
  9317  	}
  9318  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
  9319  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
  9320  	}
  9321  	if s.PolicyDocument == nil {
  9322  		invalidParams.Add(request.NewErrParamRequired("PolicyDocument"))
  9323  	}
  9324  	if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 {
  9325  		invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1))
  9326  	}
  9327  	if s.PolicyRevision != nil && len(*s.PolicyRevision) < 1 {
  9328  		invalidParams.Add(request.NewErrParamMinLen("PolicyRevision", 1))
  9329  	}
  9330  	if s.Repository == nil {
  9331  		invalidParams.Add(request.NewErrParamRequired("Repository"))
  9332  	}
  9333  	if s.Repository != nil && len(*s.Repository) < 2 {
  9334  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
  9335  	}
  9336  
  9337  	if invalidParams.Len() > 0 {
  9338  		return invalidParams
  9339  	}
  9340  	return nil
  9341  }
  9342  
  9343  // SetDomain sets the Domain field's value.
  9344  func (s *PutRepositoryPermissionsPolicyInput) SetDomain(v string) *PutRepositoryPermissionsPolicyInput {
  9345  	s.Domain = &v
  9346  	return s
  9347  }
  9348  
  9349  // SetDomainOwner sets the DomainOwner field's value.
  9350  func (s *PutRepositoryPermissionsPolicyInput) SetDomainOwner(v string) *PutRepositoryPermissionsPolicyInput {
  9351  	s.DomainOwner = &v
  9352  	return s
  9353  }
  9354  
  9355  // SetPolicyDocument sets the PolicyDocument field's value.
  9356  func (s *PutRepositoryPermissionsPolicyInput) SetPolicyDocument(v string) *PutRepositoryPermissionsPolicyInput {
  9357  	s.PolicyDocument = &v
  9358  	return s
  9359  }
  9360  
  9361  // SetPolicyRevision sets the PolicyRevision field's value.
  9362  func (s *PutRepositoryPermissionsPolicyInput) SetPolicyRevision(v string) *PutRepositoryPermissionsPolicyInput {
  9363  	s.PolicyRevision = &v
  9364  	return s
  9365  }
  9366  
  9367  // SetRepository sets the Repository field's value.
  9368  func (s *PutRepositoryPermissionsPolicyInput) SetRepository(v string) *PutRepositoryPermissionsPolicyInput {
  9369  	s.Repository = &v
  9370  	return s
  9371  }
  9372  
  9373  type PutRepositoryPermissionsPolicyOutput struct {
  9374  	_ struct{} `type:"structure"`
  9375  
  9376  	// The resource policy that was set after processing the request.
  9377  	Policy *ResourcePolicy `locationName:"policy" type:"structure"`
  9378  }
  9379  
  9380  // String returns the string representation.
  9381  //
  9382  // API parameter values that are decorated as "sensitive" in the API will not
  9383  // be included in the string output. The member name will be present, but the
  9384  // value will be replaced with "sensitive".
  9385  func (s PutRepositoryPermissionsPolicyOutput) String() string {
  9386  	return awsutil.Prettify(s)
  9387  }
  9388  
  9389  // GoString returns the string representation.
  9390  //
  9391  // API parameter values that are decorated as "sensitive" in the API will not
  9392  // be included in the string output. The member name will be present, but the
  9393  // value will be replaced with "sensitive".
  9394  func (s PutRepositoryPermissionsPolicyOutput) GoString() string {
  9395  	return s.String()
  9396  }
  9397  
  9398  // SetPolicy sets the Policy field's value.
  9399  func (s *PutRepositoryPermissionsPolicyOutput) SetPolicy(v *ResourcePolicy) *PutRepositoryPermissionsPolicyOutput {
  9400  	s.Policy = v
  9401  	return s
  9402  }
  9403  
  9404  // The details of a repository stored in AWS CodeArtifact. A CodeArtifact repository
  9405  // contains a set of package versions, each of which maps to a set of assets.
  9406  // Repositories are polyglot—a single repository can contain packages of any
  9407  // supported type. Each repository exposes endpoints for fetching and publishing
  9408  // packages using tools like the npm CLI, the Maven CLI (mvn), and pip. You
  9409  // can create up to 100 repositories per AWS account.
  9410  type RepositoryDescription struct {
  9411  	_ struct{} `type:"structure"`
  9412  
  9413  	// The 12-digit account number of the AWS account that manages the repository.
  9414  	AdministratorAccount *string `locationName:"administratorAccount" min:"12" type:"string"`
  9415  
  9416  	// The Amazon Resource Name (ARN) of the repository.
  9417  	Arn *string `locationName:"arn" min:"1" type:"string"`
  9418  
  9419  	// A text description of the repository.
  9420  	Description *string `locationName:"description" type:"string"`
  9421  
  9422  	// The name of the domain that contains the repository.
  9423  	DomainName *string `locationName:"domainName" min:"2" type:"string"`
  9424  
  9425  	// The 12-digit account number of the AWS account that owns the domain that
  9426  	// contains the repository. It does not include dashes or spaces.
  9427  	DomainOwner *string `locationName:"domainOwner" min:"12" type:"string"`
  9428  
  9429  	// An array of external connections associated with the repository.
  9430  	ExternalConnections []*RepositoryExternalConnectionInfo `locationName:"externalConnections" type:"list"`
  9431  
  9432  	// The name of the repository.
  9433  	Name *string `locationName:"name" min:"2" type:"string"`
  9434  
  9435  	// A list of upstream repositories to associate with the repository. The order
  9436  	// of the upstream repositories in the list determines their priority order
  9437  	// when AWS CodeArtifact looks for a requested package version. For more information,
  9438  	// see Working with upstream repositories (https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html).
  9439  	Upstreams []*UpstreamRepositoryInfo `locationName:"upstreams" type:"list"`
  9440  }
  9441  
  9442  // String returns the string representation.
  9443  //
  9444  // API parameter values that are decorated as "sensitive" in the API will not
  9445  // be included in the string output. The member name will be present, but the
  9446  // value will be replaced with "sensitive".
  9447  func (s RepositoryDescription) String() string {
  9448  	return awsutil.Prettify(s)
  9449  }
  9450  
  9451  // GoString returns the string representation.
  9452  //
  9453  // API parameter values that are decorated as "sensitive" in the API will not
  9454  // be included in the string output. The member name will be present, but the
  9455  // value will be replaced with "sensitive".
  9456  func (s RepositoryDescription) GoString() string {
  9457  	return s.String()
  9458  }
  9459  
  9460  // SetAdministratorAccount sets the AdministratorAccount field's value.
  9461  func (s *RepositoryDescription) SetAdministratorAccount(v string) *RepositoryDescription {
  9462  	s.AdministratorAccount = &v
  9463  	return s
  9464  }
  9465  
  9466  // SetArn sets the Arn field's value.
  9467  func (s *RepositoryDescription) SetArn(v string) *RepositoryDescription {
  9468  	s.Arn = &v
  9469  	return s
  9470  }
  9471  
  9472  // SetDescription sets the Description field's value.
  9473  func (s *RepositoryDescription) SetDescription(v string) *RepositoryDescription {
  9474  	s.Description = &v
  9475  	return s
  9476  }
  9477  
  9478  // SetDomainName sets the DomainName field's value.
  9479  func (s *RepositoryDescription) SetDomainName(v string) *RepositoryDescription {
  9480  	s.DomainName = &v
  9481  	return s
  9482  }
  9483  
  9484  // SetDomainOwner sets the DomainOwner field's value.
  9485  func (s *RepositoryDescription) SetDomainOwner(v string) *RepositoryDescription {
  9486  	s.DomainOwner = &v
  9487  	return s
  9488  }
  9489  
  9490  // SetExternalConnections sets the ExternalConnections field's value.
  9491  func (s *RepositoryDescription) SetExternalConnections(v []*RepositoryExternalConnectionInfo) *RepositoryDescription {
  9492  	s.ExternalConnections = v
  9493  	return s
  9494  }
  9495  
  9496  // SetName sets the Name field's value.
  9497  func (s *RepositoryDescription) SetName(v string) *RepositoryDescription {
  9498  	s.Name = &v
  9499  	return s
  9500  }
  9501  
  9502  // SetUpstreams sets the Upstreams field's value.
  9503  func (s *RepositoryDescription) SetUpstreams(v []*UpstreamRepositoryInfo) *RepositoryDescription {
  9504  	s.Upstreams = v
  9505  	return s
  9506  }
  9507  
  9508  // Contains information about the external connection of a repository.
  9509  type RepositoryExternalConnectionInfo struct {
  9510  	_ struct{} `type:"structure"`
  9511  
  9512  	// The name of the external connection associated with a repository.
  9513  	ExternalConnectionName *string `locationName:"externalConnectionName" type:"string"`
  9514  
  9515  	// The package format associated with a repository's external connection. The
  9516  	// valid package formats are:
  9517  	//
  9518  	//    * npm: A Node Package Manager (npm) package.
  9519  	//
  9520  	//    * pypi: A Python Package Index (PyPI) package.
  9521  	//
  9522  	//    * maven: A Maven package that contains compiled code in a distributable
  9523  	//    format, such as a JAR file.
  9524  	PackageFormat *string `locationName:"packageFormat" type:"string" enum:"PackageFormat"`
  9525  
  9526  	// The status of the external connection of a repository. There is one valid
  9527  	// value, Available.
  9528  	Status *string `locationName:"status" type:"string" enum:"ExternalConnectionStatus"`
  9529  }
  9530  
  9531  // String returns the string representation.
  9532  //
  9533  // API parameter values that are decorated as "sensitive" in the API will not
  9534  // be included in the string output. The member name will be present, but the
  9535  // value will be replaced with "sensitive".
  9536  func (s RepositoryExternalConnectionInfo) String() string {
  9537  	return awsutil.Prettify(s)
  9538  }
  9539  
  9540  // GoString returns the string representation.
  9541  //
  9542  // API parameter values that are decorated as "sensitive" in the API will not
  9543  // be included in the string output. The member name will be present, but the
  9544  // value will be replaced with "sensitive".
  9545  func (s RepositoryExternalConnectionInfo) GoString() string {
  9546  	return s.String()
  9547  }
  9548  
  9549  // SetExternalConnectionName sets the ExternalConnectionName field's value.
  9550  func (s *RepositoryExternalConnectionInfo) SetExternalConnectionName(v string) *RepositoryExternalConnectionInfo {
  9551  	s.ExternalConnectionName = &v
  9552  	return s
  9553  }
  9554  
  9555  // SetPackageFormat sets the PackageFormat field's value.
  9556  func (s *RepositoryExternalConnectionInfo) SetPackageFormat(v string) *RepositoryExternalConnectionInfo {
  9557  	s.PackageFormat = &v
  9558  	return s
  9559  }
  9560  
  9561  // SetStatus sets the Status field's value.
  9562  func (s *RepositoryExternalConnectionInfo) SetStatus(v string) *RepositoryExternalConnectionInfo {
  9563  	s.Status = &v
  9564  	return s
  9565  }
  9566  
  9567  // Details about a repository, including its Amazon Resource Name (ARN), description,
  9568  // and domain information. The ListRepositories (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListRepositories.html)
  9569  // operation returns a list of RepositorySummary objects.
  9570  type RepositorySummary struct {
  9571  	_ struct{} `type:"structure"`
  9572  
  9573  	// The AWS account ID that manages the repository.
  9574  	AdministratorAccount *string `locationName:"administratorAccount" min:"12" type:"string"`
  9575  
  9576  	// The ARN of the repository.
  9577  	Arn *string `locationName:"arn" min:"1" type:"string"`
  9578  
  9579  	// The description of the repository.
  9580  	Description *string `locationName:"description" type:"string"`
  9581  
  9582  	// The name of the domain that contains the repository.
  9583  	DomainName *string `locationName:"domainName" min:"2" type:"string"`
  9584  
  9585  	// The 12-digit account number of the AWS account that owns the domain. It does
  9586  	// not include dashes or spaces.
  9587  	DomainOwner *string `locationName:"domainOwner" min:"12" type:"string"`
  9588  
  9589  	// The name of the repository.
  9590  	Name *string `locationName:"name" min:"2" type:"string"`
  9591  }
  9592  
  9593  // String returns the string representation.
  9594  //
  9595  // API parameter values that are decorated as "sensitive" in the API will not
  9596  // be included in the string output. The member name will be present, but the
  9597  // value will be replaced with "sensitive".
  9598  func (s RepositorySummary) String() string {
  9599  	return awsutil.Prettify(s)
  9600  }
  9601  
  9602  // GoString returns the string representation.
  9603  //
  9604  // API parameter values that are decorated as "sensitive" in the API will not
  9605  // be included in the string output. The member name will be present, but the
  9606  // value will be replaced with "sensitive".
  9607  func (s RepositorySummary) GoString() string {
  9608  	return s.String()
  9609  }
  9610  
  9611  // SetAdministratorAccount sets the AdministratorAccount field's value.
  9612  func (s *RepositorySummary) SetAdministratorAccount(v string) *RepositorySummary {
  9613  	s.AdministratorAccount = &v
  9614  	return s
  9615  }
  9616  
  9617  // SetArn sets the Arn field's value.
  9618  func (s *RepositorySummary) SetArn(v string) *RepositorySummary {
  9619  	s.Arn = &v
  9620  	return s
  9621  }
  9622  
  9623  // SetDescription sets the Description field's value.
  9624  func (s *RepositorySummary) SetDescription(v string) *RepositorySummary {
  9625  	s.Description = &v
  9626  	return s
  9627  }
  9628  
  9629  // SetDomainName sets the DomainName field's value.
  9630  func (s *RepositorySummary) SetDomainName(v string) *RepositorySummary {
  9631  	s.DomainName = &v
  9632  	return s
  9633  }
  9634  
  9635  // SetDomainOwner sets the DomainOwner field's value.
  9636  func (s *RepositorySummary) SetDomainOwner(v string) *RepositorySummary {
  9637  	s.DomainOwner = &v
  9638  	return s
  9639  }
  9640  
  9641  // SetName sets the Name field's value.
  9642  func (s *RepositorySummary) SetName(v string) *RepositorySummary {
  9643  	s.Name = &v
  9644  	return s
  9645  }
  9646  
  9647  // The operation did not succeed because the resource requested is not found
  9648  // in the service.
  9649  type ResourceNotFoundException struct {
  9650  	_            struct{}                  `type:"structure"`
  9651  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9652  
  9653  	Message_ *string `locationName:"message" type:"string"`
  9654  
  9655  	// The ID of the resource.
  9656  	ResourceId *string `locationName:"resourceId" type:"string"`
  9657  
  9658  	// The type of AWS resource.
  9659  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  9660  }
  9661  
  9662  // String returns the string representation.
  9663  //
  9664  // API parameter values that are decorated as "sensitive" in the API will not
  9665  // be included in the string output. The member name will be present, but the
  9666  // value will be replaced with "sensitive".
  9667  func (s ResourceNotFoundException) String() string {
  9668  	return awsutil.Prettify(s)
  9669  }
  9670  
  9671  // GoString returns the string representation.
  9672  //
  9673  // API parameter values that are decorated as "sensitive" in the API will not
  9674  // be included in the string output. The member name will be present, but the
  9675  // value will be replaced with "sensitive".
  9676  func (s ResourceNotFoundException) GoString() string {
  9677  	return s.String()
  9678  }
  9679  
  9680  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  9681  	return &ResourceNotFoundException{
  9682  		RespMetadata: v,
  9683  	}
  9684  }
  9685  
  9686  // Code returns the exception type name.
  9687  func (s *ResourceNotFoundException) Code() string {
  9688  	return "ResourceNotFoundException"
  9689  }
  9690  
  9691  // Message returns the exception's message.
  9692  func (s *ResourceNotFoundException) Message() string {
  9693  	if s.Message_ != nil {
  9694  		return *s.Message_
  9695  	}
  9696  	return ""
  9697  }
  9698  
  9699  // OrigErr always returns nil, satisfies awserr.Error interface.
  9700  func (s *ResourceNotFoundException) OrigErr() error {
  9701  	return nil
  9702  }
  9703  
  9704  func (s *ResourceNotFoundException) Error() string {
  9705  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  9706  }
  9707  
  9708  // Status code returns the HTTP status code for the request's response error.
  9709  func (s *ResourceNotFoundException) StatusCode() int {
  9710  	return s.RespMetadata.StatusCode
  9711  }
  9712  
  9713  // RequestID returns the service's response RequestID for request.
  9714  func (s *ResourceNotFoundException) RequestID() string {
  9715  	return s.RespMetadata.RequestID
  9716  }
  9717  
  9718  // An AWS CodeArtifact resource policy that contains a resource ARN, document
  9719  // details, and a revision.
  9720  type ResourcePolicy struct {
  9721  	_ struct{} `type:"structure"`
  9722  
  9723  	// The resource policy formatted in JSON.
  9724  	Document *string `locationName:"document" min:"1" type:"string"`
  9725  
  9726  	// The ARN of the resource associated with the resource policy
  9727  	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"`
  9728  
  9729  	// The current revision of the resource policy.
  9730  	Revision *string `locationName:"revision" min:"1" type:"string"`
  9731  }
  9732  
  9733  // String returns the string representation.
  9734  //
  9735  // API parameter values that are decorated as "sensitive" in the API will not
  9736  // be included in the string output. The member name will be present, but the
  9737  // value will be replaced with "sensitive".
  9738  func (s ResourcePolicy) String() string {
  9739  	return awsutil.Prettify(s)
  9740  }
  9741  
  9742  // GoString returns the string representation.
  9743  //
  9744  // API parameter values that are decorated as "sensitive" in the API will not
  9745  // be included in the string output. The member name will be present, but the
  9746  // value will be replaced with "sensitive".
  9747  func (s ResourcePolicy) GoString() string {
  9748  	return s.String()
  9749  }
  9750  
  9751  // SetDocument sets the Document field's value.
  9752  func (s *ResourcePolicy) SetDocument(v string) *ResourcePolicy {
  9753  	s.Document = &v
  9754  	return s
  9755  }
  9756  
  9757  // SetResourceArn sets the ResourceArn field's value.
  9758  func (s *ResourcePolicy) SetResourceArn(v string) *ResourcePolicy {
  9759  	s.ResourceArn = &v
  9760  	return s
  9761  }
  9762  
  9763  // SetRevision sets the Revision field's value.
  9764  func (s *ResourcePolicy) SetRevision(v string) *ResourcePolicy {
  9765  	s.Revision = &v
  9766  	return s
  9767  }
  9768  
  9769  // The operation did not succeed because it would have exceeded a service limit
  9770  // for your account.
  9771  type ServiceQuotaExceededException struct {
  9772  	_            struct{}                  `type:"structure"`
  9773  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9774  
  9775  	Message_ *string `locationName:"message" type:"string"`
  9776  
  9777  	// The ID of the resource.
  9778  	ResourceId *string `locationName:"resourceId" type:"string"`
  9779  
  9780  	// The type of AWS resource.
  9781  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  9782  }
  9783  
  9784  // String returns the string representation.
  9785  //
  9786  // API parameter values that are decorated as "sensitive" in the API will not
  9787  // be included in the string output. The member name will be present, but the
  9788  // value will be replaced with "sensitive".
  9789  func (s ServiceQuotaExceededException) String() string {
  9790  	return awsutil.Prettify(s)
  9791  }
  9792  
  9793  // GoString returns the string representation.
  9794  //
  9795  // API parameter values that are decorated as "sensitive" in the API will not
  9796  // be included in the string output. The member name will be present, but the
  9797  // value will be replaced with "sensitive".
  9798  func (s ServiceQuotaExceededException) GoString() string {
  9799  	return s.String()
  9800  }
  9801  
  9802  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
  9803  	return &ServiceQuotaExceededException{
  9804  		RespMetadata: v,
  9805  	}
  9806  }
  9807  
  9808  // Code returns the exception type name.
  9809  func (s *ServiceQuotaExceededException) Code() string {
  9810  	return "ServiceQuotaExceededException"
  9811  }
  9812  
  9813  // Message returns the exception's message.
  9814  func (s *ServiceQuotaExceededException) Message() string {
  9815  	if s.Message_ != nil {
  9816  		return *s.Message_
  9817  	}
  9818  	return ""
  9819  }
  9820  
  9821  // OrigErr always returns nil, satisfies awserr.Error interface.
  9822  func (s *ServiceQuotaExceededException) OrigErr() error {
  9823  	return nil
  9824  }
  9825  
  9826  func (s *ServiceQuotaExceededException) Error() string {
  9827  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  9828  }
  9829  
  9830  // Status code returns the HTTP status code for the request's response error.
  9831  func (s *ServiceQuotaExceededException) StatusCode() int {
  9832  	return s.RespMetadata.StatusCode
  9833  }
  9834  
  9835  // RequestID returns the service's response RequestID for request.
  9836  func (s *ServiceQuotaExceededException) RequestID() string {
  9837  	return s.RespMetadata.RequestID
  9838  }
  9839  
  9840  // Contains the revision and status of a package version.
  9841  type SuccessfulPackageVersionInfo struct {
  9842  	_ struct{} `type:"structure"`
  9843  
  9844  	// The revision of a package version.
  9845  	Revision *string `locationName:"revision" type:"string"`
  9846  
  9847  	// The status of a package version. Valid statuses are:
  9848  	//
  9849  	//    * Published
  9850  	//
  9851  	//    * Unfinished
  9852  	//
  9853  	//    * Unlisted
  9854  	//
  9855  	//    * Archived
  9856  	//
  9857  	//    * Disposed
  9858  	Status *string `locationName:"status" type:"string" enum:"PackageVersionStatus"`
  9859  }
  9860  
  9861  // String returns the string representation.
  9862  //
  9863  // API parameter values that are decorated as "sensitive" in the API will not
  9864  // be included in the string output. The member name will be present, but the
  9865  // value will be replaced with "sensitive".
  9866  func (s SuccessfulPackageVersionInfo) String() string {
  9867  	return awsutil.Prettify(s)
  9868  }
  9869  
  9870  // GoString returns the string representation.
  9871  //
  9872  // API parameter values that are decorated as "sensitive" in the API will not
  9873  // be included in the string output. The member name will be present, but the
  9874  // value will be replaced with "sensitive".
  9875  func (s SuccessfulPackageVersionInfo) GoString() string {
  9876  	return s.String()
  9877  }
  9878  
  9879  // SetRevision sets the Revision field's value.
  9880  func (s *SuccessfulPackageVersionInfo) SetRevision(v string) *SuccessfulPackageVersionInfo {
  9881  	s.Revision = &v
  9882  	return s
  9883  }
  9884  
  9885  // SetStatus sets the Status field's value.
  9886  func (s *SuccessfulPackageVersionInfo) SetStatus(v string) *SuccessfulPackageVersionInfo {
  9887  	s.Status = &v
  9888  	return s
  9889  }
  9890  
  9891  // A tag is a key-value pair that can be used to manage, search for, or filter
  9892  // resources in AWS CodeArtifact.
  9893  type Tag struct {
  9894  	_ struct{} `type:"structure"`
  9895  
  9896  	// The tag key.
  9897  	//
  9898  	// Key is a required field
  9899  	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
  9900  
  9901  	// The tag value.
  9902  	//
  9903  	// Value is a required field
  9904  	Value *string `locationName:"value" type:"string" required:"true"`
  9905  }
  9906  
  9907  // String returns the string representation.
  9908  //
  9909  // API parameter values that are decorated as "sensitive" in the API will not
  9910  // be included in the string output. The member name will be present, but the
  9911  // value will be replaced with "sensitive".
  9912  func (s Tag) String() string {
  9913  	return awsutil.Prettify(s)
  9914  }
  9915  
  9916  // GoString returns the string representation.
  9917  //
  9918  // API parameter values that are decorated as "sensitive" in the API will not
  9919  // be included in the string output. The member name will be present, but the
  9920  // value will be replaced with "sensitive".
  9921  func (s Tag) GoString() string {
  9922  	return s.String()
  9923  }
  9924  
  9925  // Validate inspects the fields of the type to determine if they are valid.
  9926  func (s *Tag) Validate() error {
  9927  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
  9928  	if s.Key == nil {
  9929  		invalidParams.Add(request.NewErrParamRequired("Key"))
  9930  	}
  9931  	if s.Key != nil && len(*s.Key) < 1 {
  9932  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  9933  	}
  9934  	if s.Value == nil {
  9935  		invalidParams.Add(request.NewErrParamRequired("Value"))
  9936  	}
  9937  
  9938  	if invalidParams.Len() > 0 {
  9939  		return invalidParams
  9940  	}
  9941  	return nil
  9942  }
  9943  
  9944  // SetKey sets the Key field's value.
  9945  func (s *Tag) SetKey(v string) *Tag {
  9946  	s.Key = &v
  9947  	return s
  9948  }
  9949  
  9950  // SetValue sets the Value field's value.
  9951  func (s *Tag) SetValue(v string) *Tag {
  9952  	s.Value = &v
  9953  	return s
  9954  }
  9955  
  9956  type TagResourceInput struct {
  9957  	_ struct{} `type:"structure"`
  9958  
  9959  	// The Amazon Resource Name (ARN) of the resource that you want to add or update
  9960  	// tags for.
  9961  	//
  9962  	// ResourceArn is a required field
  9963  	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
  9964  
  9965  	// The tags you want to modify or add to the resource.
  9966  	//
  9967  	// Tags is a required field
  9968  	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
  9969  }
  9970  
  9971  // String returns the string representation.
  9972  //
  9973  // API parameter values that are decorated as "sensitive" in the API will not
  9974  // be included in the string output. The member name will be present, but the
  9975  // value will be replaced with "sensitive".
  9976  func (s TagResourceInput) String() string {
  9977  	return awsutil.Prettify(s)
  9978  }
  9979  
  9980  // GoString returns the string representation.
  9981  //
  9982  // API parameter values that are decorated as "sensitive" in the API will not
  9983  // be included in the string output. The member name will be present, but the
  9984  // value will be replaced with "sensitive".
  9985  func (s TagResourceInput) GoString() string {
  9986  	return s.String()
  9987  }
  9988  
  9989  // Validate inspects the fields of the type to determine if they are valid.
  9990  func (s *TagResourceInput) Validate() error {
  9991  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  9992  	if s.ResourceArn == nil {
  9993  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  9994  	}
  9995  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  9996  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  9997  	}
  9998  	if s.Tags == nil {
  9999  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 10000  	}
 10001  	if s.Tags != nil {
 10002  		for i, v := range s.Tags {
 10003  			if v == nil {
 10004  				continue
 10005  			}
 10006  			if err := v.Validate(); err != nil {
 10007  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 10008  			}
 10009  		}
 10010  	}
 10011  
 10012  	if invalidParams.Len() > 0 {
 10013  		return invalidParams
 10014  	}
 10015  	return nil
 10016  }
 10017  
 10018  // SetResourceArn sets the ResourceArn field's value.
 10019  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 10020  	s.ResourceArn = &v
 10021  	return s
 10022  }
 10023  
 10024  // SetTags sets the Tags field's value.
 10025  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
 10026  	s.Tags = v
 10027  	return s
 10028  }
 10029  
 10030  type TagResourceOutput struct {
 10031  	_ struct{} `type:"structure" nopayload:"true"`
 10032  }
 10033  
 10034  // String returns the string representation.
 10035  //
 10036  // API parameter values that are decorated as "sensitive" in the API will not
 10037  // be included in the string output. The member name will be present, but the
 10038  // value will be replaced with "sensitive".
 10039  func (s TagResourceOutput) String() string {
 10040  	return awsutil.Prettify(s)
 10041  }
 10042  
 10043  // GoString returns the string representation.
 10044  //
 10045  // API parameter values that are decorated as "sensitive" in the API will not
 10046  // be included in the string output. The member name will be present, but the
 10047  // value will be replaced with "sensitive".
 10048  func (s TagResourceOutput) GoString() string {
 10049  	return s.String()
 10050  }
 10051  
 10052  // The operation did not succeed because too many requests are sent to the service.
 10053  type ThrottlingException struct {
 10054  	_            struct{}                  `type:"structure"`
 10055  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10056  
 10057  	Message_ *string `locationName:"message" type:"string"`
 10058  
 10059  	// The time period, in seconds, to wait before retrying the request.
 10060  	RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"`
 10061  }
 10062  
 10063  // String returns the string representation.
 10064  //
 10065  // API parameter values that are decorated as "sensitive" in the API will not
 10066  // be included in the string output. The member name will be present, but the
 10067  // value will be replaced with "sensitive".
 10068  func (s ThrottlingException) String() string {
 10069  	return awsutil.Prettify(s)
 10070  }
 10071  
 10072  // GoString returns the string representation.
 10073  //
 10074  // API parameter values that are decorated as "sensitive" in the API will not
 10075  // be included in the string output. The member name will be present, but the
 10076  // value will be replaced with "sensitive".
 10077  func (s ThrottlingException) GoString() string {
 10078  	return s.String()
 10079  }
 10080  
 10081  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
 10082  	return &ThrottlingException{
 10083  		RespMetadata: v,
 10084  	}
 10085  }
 10086  
 10087  // Code returns the exception type name.
 10088  func (s *ThrottlingException) Code() string {
 10089  	return "ThrottlingException"
 10090  }
 10091  
 10092  // Message returns the exception's message.
 10093  func (s *ThrottlingException) Message() string {
 10094  	if s.Message_ != nil {
 10095  		return *s.Message_
 10096  	}
 10097  	return ""
 10098  }
 10099  
 10100  // OrigErr always returns nil, satisfies awserr.Error interface.
 10101  func (s *ThrottlingException) OrigErr() error {
 10102  	return nil
 10103  }
 10104  
 10105  func (s *ThrottlingException) Error() string {
 10106  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 10107  }
 10108  
 10109  // Status code returns the HTTP status code for the request's response error.
 10110  func (s *ThrottlingException) StatusCode() int {
 10111  	return s.RespMetadata.StatusCode
 10112  }
 10113  
 10114  // RequestID returns the service's response RequestID for request.
 10115  func (s *ThrottlingException) RequestID() string {
 10116  	return s.RespMetadata.RequestID
 10117  }
 10118  
 10119  type UntagResourceInput struct {
 10120  	_ struct{} `type:"structure"`
 10121  
 10122  	// The Amazon Resource Name (ARN) of the resource that you want to remove tags
 10123  	// from.
 10124  	//
 10125  	// ResourceArn is a required field
 10126  	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
 10127  
 10128  	// The tag key for each tag that you want to remove from the resource.
 10129  	//
 10130  	// TagKeys is a required field
 10131  	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
 10132  }
 10133  
 10134  // String returns the string representation.
 10135  //
 10136  // API parameter values that are decorated as "sensitive" in the API will not
 10137  // be included in the string output. The member name will be present, but the
 10138  // value will be replaced with "sensitive".
 10139  func (s UntagResourceInput) String() string {
 10140  	return awsutil.Prettify(s)
 10141  }
 10142  
 10143  // GoString returns the string representation.
 10144  //
 10145  // API parameter values that are decorated as "sensitive" in the API will not
 10146  // be included in the string output. The member name will be present, but the
 10147  // value will be replaced with "sensitive".
 10148  func (s UntagResourceInput) GoString() string {
 10149  	return s.String()
 10150  }
 10151  
 10152  // Validate inspects the fields of the type to determine if they are valid.
 10153  func (s *UntagResourceInput) Validate() error {
 10154  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 10155  	if s.ResourceArn == nil {
 10156  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 10157  	}
 10158  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 10159  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 10160  	}
 10161  	if s.TagKeys == nil {
 10162  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 10163  	}
 10164  
 10165  	if invalidParams.Len() > 0 {
 10166  		return invalidParams
 10167  	}
 10168  	return nil
 10169  }
 10170  
 10171  // SetResourceArn sets the ResourceArn field's value.
 10172  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 10173  	s.ResourceArn = &v
 10174  	return s
 10175  }
 10176  
 10177  // SetTagKeys sets the TagKeys field's value.
 10178  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 10179  	s.TagKeys = v
 10180  	return s
 10181  }
 10182  
 10183  type UntagResourceOutput struct {
 10184  	_ struct{} `type:"structure" nopayload:"true"`
 10185  }
 10186  
 10187  // String returns the string representation.
 10188  //
 10189  // API parameter values that are decorated as "sensitive" in the API will not
 10190  // be included in the string output. The member name will be present, but the
 10191  // value will be replaced with "sensitive".
 10192  func (s UntagResourceOutput) String() string {
 10193  	return awsutil.Prettify(s)
 10194  }
 10195  
 10196  // GoString returns the string representation.
 10197  //
 10198  // API parameter values that are decorated as "sensitive" in the API will not
 10199  // be included in the string output. The member name will be present, but the
 10200  // value will be replaced with "sensitive".
 10201  func (s UntagResourceOutput) GoString() string {
 10202  	return s.String()
 10203  }
 10204  
 10205  type UpdatePackageVersionsStatusInput struct {
 10206  	_ struct{} `type:"structure"`
 10207  
 10208  	// The name of the domain that contains the repository that contains the package
 10209  	// versions with a status to be updated.
 10210  	//
 10211  	// Domain is a required field
 10212  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
 10213  
 10214  	// The 12-digit account number of the AWS account that owns the domain. It does
 10215  	// not include dashes or spaces.
 10216  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
 10217  
 10218  	// The package version’s expected status before it is updated. If expectedStatus
 10219  	// is provided, the package version's status is updated only if its status at
 10220  	// the time UpdatePackageVersionsStatus is called matches expectedStatus.
 10221  	ExpectedStatus *string `locationName:"expectedStatus" type:"string" enum:"PackageVersionStatus"`
 10222  
 10223  	// A format that specifies the type of the package with the statuses to update.
 10224  	// The valid values are:
 10225  	//
 10226  	//    * npm
 10227  	//
 10228  	//    * pypi
 10229  	//
 10230  	//    * maven
 10231  	//
 10232  	// Format is a required field
 10233  	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"`
 10234  
 10235  	// The namespace of the package. The package component that specifies its namespace
 10236  	// depends on its type. For example:
 10237  	//
 10238  	//    * The namespace of a Maven package is its groupId.
 10239  	//
 10240  	//    * The namespace of an npm package is its scope.
 10241  	//
 10242  	//    * A Python package does not contain a corresponding component, so Python
 10243  	//    packages do not have a namespace.
 10244  	Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"`
 10245  
 10246  	// The name of the package with the version statuses to update.
 10247  	//
 10248  	// Package is a required field
 10249  	Package *string `location:"querystring" locationName:"package" min:"1" type:"string" required:"true"`
 10250  
 10251  	// The repository that contains the package versions with the status you want
 10252  	// to update.
 10253  	//
 10254  	// Repository is a required field
 10255  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
 10256  
 10257  	// The status you want to change the package version status to.
 10258  	//
 10259  	// TargetStatus is a required field
 10260  	TargetStatus *string `locationName:"targetStatus" type:"string" required:"true" enum:"PackageVersionStatus"`
 10261  
 10262  	// A map of package versions and package version revisions. The map key is the
 10263  	// package version (for example, 3.5.2), and the map value is the package version
 10264  	// revision.
 10265  	VersionRevisions map[string]*string `locationName:"versionRevisions" type:"map"`
 10266  
 10267  	// An array of strings that specify the versions of the package with the statuses
 10268  	// to update.
 10269  	//
 10270  	// Versions is a required field
 10271  	Versions []*string `locationName:"versions" type:"list" required:"true"`
 10272  }
 10273  
 10274  // String returns the string representation.
 10275  //
 10276  // API parameter values that are decorated as "sensitive" in the API will not
 10277  // be included in the string output. The member name will be present, but the
 10278  // value will be replaced with "sensitive".
 10279  func (s UpdatePackageVersionsStatusInput) String() string {
 10280  	return awsutil.Prettify(s)
 10281  }
 10282  
 10283  // GoString returns the string representation.
 10284  //
 10285  // API parameter values that are decorated as "sensitive" in the API will not
 10286  // be included in the string output. The member name will be present, but the
 10287  // value will be replaced with "sensitive".
 10288  func (s UpdatePackageVersionsStatusInput) GoString() string {
 10289  	return s.String()
 10290  }
 10291  
 10292  // Validate inspects the fields of the type to determine if they are valid.
 10293  func (s *UpdatePackageVersionsStatusInput) Validate() error {
 10294  	invalidParams := request.ErrInvalidParams{Context: "UpdatePackageVersionsStatusInput"}
 10295  	if s.Domain == nil {
 10296  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 10297  	}
 10298  	if s.Domain != nil && len(*s.Domain) < 2 {
 10299  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
 10300  	}
 10301  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
 10302  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
 10303  	}
 10304  	if s.Format == nil {
 10305  		invalidParams.Add(request.NewErrParamRequired("Format"))
 10306  	}
 10307  	if s.Namespace != nil && len(*s.Namespace) < 1 {
 10308  		invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
 10309  	}
 10310  	if s.Package == nil {
 10311  		invalidParams.Add(request.NewErrParamRequired("Package"))
 10312  	}
 10313  	if s.Package != nil && len(*s.Package) < 1 {
 10314  		invalidParams.Add(request.NewErrParamMinLen("Package", 1))
 10315  	}
 10316  	if s.Repository == nil {
 10317  		invalidParams.Add(request.NewErrParamRequired("Repository"))
 10318  	}
 10319  	if s.Repository != nil && len(*s.Repository) < 2 {
 10320  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
 10321  	}
 10322  	if s.TargetStatus == nil {
 10323  		invalidParams.Add(request.NewErrParamRequired("TargetStatus"))
 10324  	}
 10325  	if s.Versions == nil {
 10326  		invalidParams.Add(request.NewErrParamRequired("Versions"))
 10327  	}
 10328  
 10329  	if invalidParams.Len() > 0 {
 10330  		return invalidParams
 10331  	}
 10332  	return nil
 10333  }
 10334  
 10335  // SetDomain sets the Domain field's value.
 10336  func (s *UpdatePackageVersionsStatusInput) SetDomain(v string) *UpdatePackageVersionsStatusInput {
 10337  	s.Domain = &v
 10338  	return s
 10339  }
 10340  
 10341  // SetDomainOwner sets the DomainOwner field's value.
 10342  func (s *UpdatePackageVersionsStatusInput) SetDomainOwner(v string) *UpdatePackageVersionsStatusInput {
 10343  	s.DomainOwner = &v
 10344  	return s
 10345  }
 10346  
 10347  // SetExpectedStatus sets the ExpectedStatus field's value.
 10348  func (s *UpdatePackageVersionsStatusInput) SetExpectedStatus(v string) *UpdatePackageVersionsStatusInput {
 10349  	s.ExpectedStatus = &v
 10350  	return s
 10351  }
 10352  
 10353  // SetFormat sets the Format field's value.
 10354  func (s *UpdatePackageVersionsStatusInput) SetFormat(v string) *UpdatePackageVersionsStatusInput {
 10355  	s.Format = &v
 10356  	return s
 10357  }
 10358  
 10359  // SetNamespace sets the Namespace field's value.
 10360  func (s *UpdatePackageVersionsStatusInput) SetNamespace(v string) *UpdatePackageVersionsStatusInput {
 10361  	s.Namespace = &v
 10362  	return s
 10363  }
 10364  
 10365  // SetPackage sets the Package field's value.
 10366  func (s *UpdatePackageVersionsStatusInput) SetPackage(v string) *UpdatePackageVersionsStatusInput {
 10367  	s.Package = &v
 10368  	return s
 10369  }
 10370  
 10371  // SetRepository sets the Repository field's value.
 10372  func (s *UpdatePackageVersionsStatusInput) SetRepository(v string) *UpdatePackageVersionsStatusInput {
 10373  	s.Repository = &v
 10374  	return s
 10375  }
 10376  
 10377  // SetTargetStatus sets the TargetStatus field's value.
 10378  func (s *UpdatePackageVersionsStatusInput) SetTargetStatus(v string) *UpdatePackageVersionsStatusInput {
 10379  	s.TargetStatus = &v
 10380  	return s
 10381  }
 10382  
 10383  // SetVersionRevisions sets the VersionRevisions field's value.
 10384  func (s *UpdatePackageVersionsStatusInput) SetVersionRevisions(v map[string]*string) *UpdatePackageVersionsStatusInput {
 10385  	s.VersionRevisions = v
 10386  	return s
 10387  }
 10388  
 10389  // SetVersions sets the Versions field's value.
 10390  func (s *UpdatePackageVersionsStatusInput) SetVersions(v []*string) *UpdatePackageVersionsStatusInput {
 10391  	s.Versions = v
 10392  	return s
 10393  }
 10394  
 10395  type UpdatePackageVersionsStatusOutput struct {
 10396  	_ struct{} `type:"structure"`
 10397  
 10398  	// A list of SuccessfulPackageVersionInfo objects, one for each package version
 10399  	// with a status that successfully updated.
 10400  	FailedVersions map[string]*PackageVersionError `locationName:"failedVersions" type:"map"`
 10401  
 10402  	// A list of PackageVersionError objects, one for each package version with
 10403  	// a status that failed to update.
 10404  	SuccessfulVersions map[string]*SuccessfulPackageVersionInfo `locationName:"successfulVersions" type:"map"`
 10405  }
 10406  
 10407  // String returns the string representation.
 10408  //
 10409  // API parameter values that are decorated as "sensitive" in the API will not
 10410  // be included in the string output. The member name will be present, but the
 10411  // value will be replaced with "sensitive".
 10412  func (s UpdatePackageVersionsStatusOutput) String() string {
 10413  	return awsutil.Prettify(s)
 10414  }
 10415  
 10416  // GoString returns the string representation.
 10417  //
 10418  // API parameter values that are decorated as "sensitive" in the API will not
 10419  // be included in the string output. The member name will be present, but the
 10420  // value will be replaced with "sensitive".
 10421  func (s UpdatePackageVersionsStatusOutput) GoString() string {
 10422  	return s.String()
 10423  }
 10424  
 10425  // SetFailedVersions sets the FailedVersions field's value.
 10426  func (s *UpdatePackageVersionsStatusOutput) SetFailedVersions(v map[string]*PackageVersionError) *UpdatePackageVersionsStatusOutput {
 10427  	s.FailedVersions = v
 10428  	return s
 10429  }
 10430  
 10431  // SetSuccessfulVersions sets the SuccessfulVersions field's value.
 10432  func (s *UpdatePackageVersionsStatusOutput) SetSuccessfulVersions(v map[string]*SuccessfulPackageVersionInfo) *UpdatePackageVersionsStatusOutput {
 10433  	s.SuccessfulVersions = v
 10434  	return s
 10435  }
 10436  
 10437  type UpdateRepositoryInput struct {
 10438  	_ struct{} `type:"structure"`
 10439  
 10440  	// An updated repository description.
 10441  	Description *string `locationName:"description" type:"string"`
 10442  
 10443  	// The name of the domain associated with the repository to update.
 10444  	//
 10445  	// Domain is a required field
 10446  	Domain *string `location:"querystring" locationName:"domain" min:"2" type:"string" required:"true"`
 10447  
 10448  	// The 12-digit account number of the AWS account that owns the domain. It does
 10449  	// not include dashes or spaces.
 10450  	DomainOwner *string `location:"querystring" locationName:"domain-owner" min:"12" type:"string"`
 10451  
 10452  	// The name of the repository to update.
 10453  	//
 10454  	// Repository is a required field
 10455  	Repository *string `location:"querystring" locationName:"repository" min:"2" type:"string" required:"true"`
 10456  
 10457  	// A list of upstream repositories to associate with the repository. The order
 10458  	// of the upstream repositories in the list determines their priority order
 10459  	// when AWS CodeArtifact looks for a requested package version. For more information,
 10460  	// see Working with upstream repositories (https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html).
 10461  	Upstreams []*UpstreamRepository `locationName:"upstreams" type:"list"`
 10462  }
 10463  
 10464  // String returns the string representation.
 10465  //
 10466  // API parameter values that are decorated as "sensitive" in the API will not
 10467  // be included in the string output. The member name will be present, but the
 10468  // value will be replaced with "sensitive".
 10469  func (s UpdateRepositoryInput) String() string {
 10470  	return awsutil.Prettify(s)
 10471  }
 10472  
 10473  // GoString returns the string representation.
 10474  //
 10475  // API parameter values that are decorated as "sensitive" in the API will not
 10476  // be included in the string output. The member name will be present, but the
 10477  // value will be replaced with "sensitive".
 10478  func (s UpdateRepositoryInput) GoString() string {
 10479  	return s.String()
 10480  }
 10481  
 10482  // Validate inspects the fields of the type to determine if they are valid.
 10483  func (s *UpdateRepositoryInput) Validate() error {
 10484  	invalidParams := request.ErrInvalidParams{Context: "UpdateRepositoryInput"}
 10485  	if s.Domain == nil {
 10486  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 10487  	}
 10488  	if s.Domain != nil && len(*s.Domain) < 2 {
 10489  		invalidParams.Add(request.NewErrParamMinLen("Domain", 2))
 10490  	}
 10491  	if s.DomainOwner != nil && len(*s.DomainOwner) < 12 {
 10492  		invalidParams.Add(request.NewErrParamMinLen("DomainOwner", 12))
 10493  	}
 10494  	if s.Repository == nil {
 10495  		invalidParams.Add(request.NewErrParamRequired("Repository"))
 10496  	}
 10497  	if s.Repository != nil && len(*s.Repository) < 2 {
 10498  		invalidParams.Add(request.NewErrParamMinLen("Repository", 2))
 10499  	}
 10500  	if s.Upstreams != nil {
 10501  		for i, v := range s.Upstreams {
 10502  			if v == nil {
 10503  				continue
 10504  			}
 10505  			if err := v.Validate(); err != nil {
 10506  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Upstreams", i), err.(request.ErrInvalidParams))
 10507  			}
 10508  		}
 10509  	}
 10510  
 10511  	if invalidParams.Len() > 0 {
 10512  		return invalidParams
 10513  	}
 10514  	return nil
 10515  }
 10516  
 10517  // SetDescription sets the Description field's value.
 10518  func (s *UpdateRepositoryInput) SetDescription(v string) *UpdateRepositoryInput {
 10519  	s.Description = &v
 10520  	return s
 10521  }
 10522  
 10523  // SetDomain sets the Domain field's value.
 10524  func (s *UpdateRepositoryInput) SetDomain(v string) *UpdateRepositoryInput {
 10525  	s.Domain = &v
 10526  	return s
 10527  }
 10528  
 10529  // SetDomainOwner sets the DomainOwner field's value.
 10530  func (s *UpdateRepositoryInput) SetDomainOwner(v string) *UpdateRepositoryInput {
 10531  	s.DomainOwner = &v
 10532  	return s
 10533  }
 10534  
 10535  // SetRepository sets the Repository field's value.
 10536  func (s *UpdateRepositoryInput) SetRepository(v string) *UpdateRepositoryInput {
 10537  	s.Repository = &v
 10538  	return s
 10539  }
 10540  
 10541  // SetUpstreams sets the Upstreams field's value.
 10542  func (s *UpdateRepositoryInput) SetUpstreams(v []*UpstreamRepository) *UpdateRepositoryInput {
 10543  	s.Upstreams = v
 10544  	return s
 10545  }
 10546  
 10547  type UpdateRepositoryOutput struct {
 10548  	_ struct{} `type:"structure"`
 10549  
 10550  	// The updated repository.
 10551  	Repository *RepositoryDescription `locationName:"repository" type:"structure"`
 10552  }
 10553  
 10554  // String returns the string representation.
 10555  //
 10556  // API parameter values that are decorated as "sensitive" in the API will not
 10557  // be included in the string output. The member name will be present, but the
 10558  // value will be replaced with "sensitive".
 10559  func (s UpdateRepositoryOutput) String() string {
 10560  	return awsutil.Prettify(s)
 10561  }
 10562  
 10563  // GoString returns the string representation.
 10564  //
 10565  // API parameter values that are decorated as "sensitive" in the API will not
 10566  // be included in the string output. The member name will be present, but the
 10567  // value will be replaced with "sensitive".
 10568  func (s UpdateRepositoryOutput) GoString() string {
 10569  	return s.String()
 10570  }
 10571  
 10572  // SetRepository sets the Repository field's value.
 10573  func (s *UpdateRepositoryOutput) SetRepository(v *RepositoryDescription) *UpdateRepositoryOutput {
 10574  	s.Repository = v
 10575  	return s
 10576  }
 10577  
 10578  // Information about an upstream repository. A list of UpstreamRepository objects
 10579  // is an input parameter to CreateRepository (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_CreateRepository.html)
 10580  // and UpdateRepository (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_UpdateRepository.html).
 10581  type UpstreamRepository struct {
 10582  	_ struct{} `type:"structure"`
 10583  
 10584  	// The name of an upstream repository.
 10585  	//
 10586  	// RepositoryName is a required field
 10587  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"`
 10588  }
 10589  
 10590  // String returns the string representation.
 10591  //
 10592  // API parameter values that are decorated as "sensitive" in the API will not
 10593  // be included in the string output. The member name will be present, but the
 10594  // value will be replaced with "sensitive".
 10595  func (s UpstreamRepository) String() string {
 10596  	return awsutil.Prettify(s)
 10597  }
 10598  
 10599  // GoString returns the string representation.
 10600  //
 10601  // API parameter values that are decorated as "sensitive" in the API will not
 10602  // be included in the string output. The member name will be present, but the
 10603  // value will be replaced with "sensitive".
 10604  func (s UpstreamRepository) GoString() string {
 10605  	return s.String()
 10606  }
 10607  
 10608  // Validate inspects the fields of the type to determine if they are valid.
 10609  func (s *UpstreamRepository) Validate() error {
 10610  	invalidParams := request.ErrInvalidParams{Context: "UpstreamRepository"}
 10611  	if s.RepositoryName == nil {
 10612  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
 10613  	}
 10614  	if s.RepositoryName != nil && len(*s.RepositoryName) < 2 {
 10615  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2))
 10616  	}
 10617  
 10618  	if invalidParams.Len() > 0 {
 10619  		return invalidParams
 10620  	}
 10621  	return nil
 10622  }
 10623  
 10624  // SetRepositoryName sets the RepositoryName field's value.
 10625  func (s *UpstreamRepository) SetRepositoryName(v string) *UpstreamRepository {
 10626  	s.RepositoryName = &v
 10627  	return s
 10628  }
 10629  
 10630  // Information about an upstream repository.
 10631  type UpstreamRepositoryInfo struct {
 10632  	_ struct{} `type:"structure"`
 10633  
 10634  	// The name of an upstream repository.
 10635  	RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"`
 10636  }
 10637  
 10638  // String returns the string representation.
 10639  //
 10640  // API parameter values that are decorated as "sensitive" in the API will not
 10641  // be included in the string output. The member name will be present, but the
 10642  // value will be replaced with "sensitive".
 10643  func (s UpstreamRepositoryInfo) String() string {
 10644  	return awsutil.Prettify(s)
 10645  }
 10646  
 10647  // GoString returns the string representation.
 10648  //
 10649  // API parameter values that are decorated as "sensitive" in the API will not
 10650  // be included in the string output. The member name will be present, but the
 10651  // value will be replaced with "sensitive".
 10652  func (s UpstreamRepositoryInfo) GoString() string {
 10653  	return s.String()
 10654  }
 10655  
 10656  // SetRepositoryName sets the RepositoryName field's value.
 10657  func (s *UpstreamRepositoryInfo) SetRepositoryName(v string) *UpstreamRepositoryInfo {
 10658  	s.RepositoryName = &v
 10659  	return s
 10660  }
 10661  
 10662  // The operation did not succeed because a parameter in the request was sent
 10663  // with an invalid value.
 10664  type ValidationException struct {
 10665  	_            struct{}                  `type:"structure"`
 10666  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10667  
 10668  	Message_ *string `locationName:"message" type:"string"`
 10669  
 10670  	Reason *string `locationName:"reason" type:"string" enum:"ValidationExceptionReason"`
 10671  }
 10672  
 10673  // String returns the string representation.
 10674  //
 10675  // API parameter values that are decorated as "sensitive" in the API will not
 10676  // be included in the string output. The member name will be present, but the
 10677  // value will be replaced with "sensitive".
 10678  func (s ValidationException) String() string {
 10679  	return awsutil.Prettify(s)
 10680  }
 10681  
 10682  // GoString returns the string representation.
 10683  //
 10684  // API parameter values that are decorated as "sensitive" in the API will not
 10685  // be included in the string output. The member name will be present, but the
 10686  // value will be replaced with "sensitive".
 10687  func (s ValidationException) GoString() string {
 10688  	return s.String()
 10689  }
 10690  
 10691  func newErrorValidationException(v protocol.ResponseMetadata) error {
 10692  	return &ValidationException{
 10693  		RespMetadata: v,
 10694  	}
 10695  }
 10696  
 10697  // Code returns the exception type name.
 10698  func (s *ValidationException) Code() string {
 10699  	return "ValidationException"
 10700  }
 10701  
 10702  // Message returns the exception's message.
 10703  func (s *ValidationException) Message() string {
 10704  	if s.Message_ != nil {
 10705  		return *s.Message_
 10706  	}
 10707  	return ""
 10708  }
 10709  
 10710  // OrigErr always returns nil, satisfies awserr.Error interface.
 10711  func (s *ValidationException) OrigErr() error {
 10712  	return nil
 10713  }
 10714  
 10715  func (s *ValidationException) Error() string {
 10716  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 10717  }
 10718  
 10719  // Status code returns the HTTP status code for the request's response error.
 10720  func (s *ValidationException) StatusCode() int {
 10721  	return s.RespMetadata.StatusCode
 10722  }
 10723  
 10724  // RequestID returns the service's response RequestID for request.
 10725  func (s *ValidationException) RequestID() string {
 10726  	return s.RespMetadata.RequestID
 10727  }
 10728  
 10729  const (
 10730  	// DomainStatusActive is a DomainStatus enum value
 10731  	DomainStatusActive = "Active"
 10732  
 10733  	// DomainStatusDeleted is a DomainStatus enum value
 10734  	DomainStatusDeleted = "Deleted"
 10735  )
 10736  
 10737  // DomainStatus_Values returns all elements of the DomainStatus enum
 10738  func DomainStatus_Values() []string {
 10739  	return []string{
 10740  		DomainStatusActive,
 10741  		DomainStatusDeleted,
 10742  	}
 10743  }
 10744  
 10745  const (
 10746  	// ExternalConnectionStatusAvailable is a ExternalConnectionStatus enum value
 10747  	ExternalConnectionStatusAvailable = "Available"
 10748  )
 10749  
 10750  // ExternalConnectionStatus_Values returns all elements of the ExternalConnectionStatus enum
 10751  func ExternalConnectionStatus_Values() []string {
 10752  	return []string{
 10753  		ExternalConnectionStatusAvailable,
 10754  	}
 10755  }
 10756  
 10757  const (
 10758  	// HashAlgorithmMd5 is a HashAlgorithm enum value
 10759  	HashAlgorithmMd5 = "MD5"
 10760  
 10761  	// HashAlgorithmSha1 is a HashAlgorithm enum value
 10762  	HashAlgorithmSha1 = "SHA-1"
 10763  
 10764  	// HashAlgorithmSha256 is a HashAlgorithm enum value
 10765  	HashAlgorithmSha256 = "SHA-256"
 10766  
 10767  	// HashAlgorithmSha512 is a HashAlgorithm enum value
 10768  	HashAlgorithmSha512 = "SHA-512"
 10769  )
 10770  
 10771  // HashAlgorithm_Values returns all elements of the HashAlgorithm enum
 10772  func HashAlgorithm_Values() []string {
 10773  	return []string{
 10774  		HashAlgorithmMd5,
 10775  		HashAlgorithmSha1,
 10776  		HashAlgorithmSha256,
 10777  		HashAlgorithmSha512,
 10778  	}
 10779  }
 10780  
 10781  const (
 10782  	// PackageFormatNpm is a PackageFormat enum value
 10783  	PackageFormatNpm = "npm"
 10784  
 10785  	// PackageFormatPypi is a PackageFormat enum value
 10786  	PackageFormatPypi = "pypi"
 10787  
 10788  	// PackageFormatMaven is a PackageFormat enum value
 10789  	PackageFormatMaven = "maven"
 10790  
 10791  	// PackageFormatNuget is a PackageFormat enum value
 10792  	PackageFormatNuget = "nuget"
 10793  )
 10794  
 10795  // PackageFormat_Values returns all elements of the PackageFormat enum
 10796  func PackageFormat_Values() []string {
 10797  	return []string{
 10798  		PackageFormatNpm,
 10799  		PackageFormatPypi,
 10800  		PackageFormatMaven,
 10801  		PackageFormatNuget,
 10802  	}
 10803  }
 10804  
 10805  const (
 10806  	// PackageVersionErrorCodeAlreadyExists is a PackageVersionErrorCode enum value
 10807  	PackageVersionErrorCodeAlreadyExists = "ALREADY_EXISTS"
 10808  
 10809  	// PackageVersionErrorCodeMismatchedRevision is a PackageVersionErrorCode enum value
 10810  	PackageVersionErrorCodeMismatchedRevision = "MISMATCHED_REVISION"
 10811  
 10812  	// PackageVersionErrorCodeMismatchedStatus is a PackageVersionErrorCode enum value
 10813  	PackageVersionErrorCodeMismatchedStatus = "MISMATCHED_STATUS"
 10814  
 10815  	// PackageVersionErrorCodeNotAllowed is a PackageVersionErrorCode enum value
 10816  	PackageVersionErrorCodeNotAllowed = "NOT_ALLOWED"
 10817  
 10818  	// PackageVersionErrorCodeNotFound is a PackageVersionErrorCode enum value
 10819  	PackageVersionErrorCodeNotFound = "NOT_FOUND"
 10820  
 10821  	// PackageVersionErrorCodeSkipped is a PackageVersionErrorCode enum value
 10822  	PackageVersionErrorCodeSkipped = "SKIPPED"
 10823  )
 10824  
 10825  // PackageVersionErrorCode_Values returns all elements of the PackageVersionErrorCode enum
 10826  func PackageVersionErrorCode_Values() []string {
 10827  	return []string{
 10828  		PackageVersionErrorCodeAlreadyExists,
 10829  		PackageVersionErrorCodeMismatchedRevision,
 10830  		PackageVersionErrorCodeMismatchedStatus,
 10831  		PackageVersionErrorCodeNotAllowed,
 10832  		PackageVersionErrorCodeNotFound,
 10833  		PackageVersionErrorCodeSkipped,
 10834  	}
 10835  }
 10836  
 10837  const (
 10838  	// PackageVersionSortTypePublishedTime is a PackageVersionSortType enum value
 10839  	PackageVersionSortTypePublishedTime = "PUBLISHED_TIME"
 10840  )
 10841  
 10842  // PackageVersionSortType_Values returns all elements of the PackageVersionSortType enum
 10843  func PackageVersionSortType_Values() []string {
 10844  	return []string{
 10845  		PackageVersionSortTypePublishedTime,
 10846  	}
 10847  }
 10848  
 10849  const (
 10850  	// PackageVersionStatusPublished is a PackageVersionStatus enum value
 10851  	PackageVersionStatusPublished = "Published"
 10852  
 10853  	// PackageVersionStatusUnfinished is a PackageVersionStatus enum value
 10854  	PackageVersionStatusUnfinished = "Unfinished"
 10855  
 10856  	// PackageVersionStatusUnlisted is a PackageVersionStatus enum value
 10857  	PackageVersionStatusUnlisted = "Unlisted"
 10858  
 10859  	// PackageVersionStatusArchived is a PackageVersionStatus enum value
 10860  	PackageVersionStatusArchived = "Archived"
 10861  
 10862  	// PackageVersionStatusDisposed is a PackageVersionStatus enum value
 10863  	PackageVersionStatusDisposed = "Disposed"
 10864  
 10865  	// PackageVersionStatusDeleted is a PackageVersionStatus enum value
 10866  	PackageVersionStatusDeleted = "Deleted"
 10867  )
 10868  
 10869  // PackageVersionStatus_Values returns all elements of the PackageVersionStatus enum
 10870  func PackageVersionStatus_Values() []string {
 10871  	return []string{
 10872  		PackageVersionStatusPublished,
 10873  		PackageVersionStatusUnfinished,
 10874  		PackageVersionStatusUnlisted,
 10875  		PackageVersionStatusArchived,
 10876  		PackageVersionStatusDisposed,
 10877  		PackageVersionStatusDeleted,
 10878  	}
 10879  }
 10880  
 10881  const (
 10882  	// ResourceTypeDomain is a ResourceType enum value
 10883  	ResourceTypeDomain = "domain"
 10884  
 10885  	// ResourceTypeRepository is a ResourceType enum value
 10886  	ResourceTypeRepository = "repository"
 10887  
 10888  	// ResourceTypePackage is a ResourceType enum value
 10889  	ResourceTypePackage = "package"
 10890  
 10891  	// ResourceTypePackageVersion is a ResourceType enum value
 10892  	ResourceTypePackageVersion = "package-version"
 10893  
 10894  	// ResourceTypeAsset is a ResourceType enum value
 10895  	ResourceTypeAsset = "asset"
 10896  )
 10897  
 10898  // ResourceType_Values returns all elements of the ResourceType enum
 10899  func ResourceType_Values() []string {
 10900  	return []string{
 10901  		ResourceTypeDomain,
 10902  		ResourceTypeRepository,
 10903  		ResourceTypePackage,
 10904  		ResourceTypePackageVersion,
 10905  		ResourceTypeAsset,
 10906  	}
 10907  }
 10908  
 10909  const (
 10910  	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
 10911  	ValidationExceptionReasonCannotParse = "CANNOT_PARSE"
 10912  
 10913  	// ValidationExceptionReasonEncryptionKeyError is a ValidationExceptionReason enum value
 10914  	ValidationExceptionReasonEncryptionKeyError = "ENCRYPTION_KEY_ERROR"
 10915  
 10916  	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
 10917  	ValidationExceptionReasonFieldValidationFailed = "FIELD_VALIDATION_FAILED"
 10918  
 10919  	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
 10920  	ValidationExceptionReasonUnknownOperation = "UNKNOWN_OPERATION"
 10921  
 10922  	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
 10923  	ValidationExceptionReasonOther = "OTHER"
 10924  )
 10925  
 10926  // ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
 10927  func ValidationExceptionReason_Values() []string {
 10928  	return []string{
 10929  		ValidationExceptionReasonCannotParse,
 10930  		ValidationExceptionReasonEncryptionKeyError,
 10931  		ValidationExceptionReasonFieldValidationFailed,
 10932  		ValidationExceptionReasonUnknownOperation,
 10933  		ValidationExceptionReasonOther,
 10934  	}
 10935  }