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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package appconfig
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const opCreateApplication = "CreateApplication"
    17  
    18  // CreateApplicationRequest generates a "aws/request.Request" representing the
    19  // client's request for the CreateApplication operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See CreateApplication for more information on using the CreateApplication
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the CreateApplicationRequest method.
    34  //    req, resp := client.CreateApplicationRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateApplication
    42  func (c *AppConfig) CreateApplicationRequest(input *CreateApplicationInput) (req *request.Request, output *CreateApplicationOutput) {
    43  	op := &request.Operation{
    44  		Name:       opCreateApplication,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/applications",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &CreateApplicationInput{}
    51  	}
    52  
    53  	output = &CreateApplicationOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // CreateApplication API operation for Amazon AppConfig.
    59  //
    60  // An application in AppConfig is a logical unit of code that provides capabilities
    61  // for your customers. For example, an application can be a microservice that
    62  // runs on Amazon EC2 instances, a mobile application installed by your users,
    63  // a serverless application using Amazon API Gateway and AWS Lambda, or any
    64  // system you run on behalf of others.
    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 Amazon AppConfig's
    71  // API operation CreateApplication for usage and error information.
    72  //
    73  // Returned Error Types:
    74  //   * BadRequestException
    75  //   The input fails to satisfy the constraints specified by an AWS service.
    76  //
    77  //   * InternalServerException
    78  //   There was an internal failure in the AppConfig service.
    79  //
    80  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateApplication
    81  func (c *AppConfig) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) {
    82  	req, out := c.CreateApplicationRequest(input)
    83  	return out, req.Send()
    84  }
    85  
    86  // CreateApplicationWithContext is the same as CreateApplication with the addition of
    87  // the ability to pass a context and additional request options.
    88  //
    89  // See CreateApplication for details on how to use this API operation.
    90  //
    91  // The context must be non-nil and will be used for request cancellation. If
    92  // the context is nil a panic will occur. In the future the SDK may create
    93  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    94  // for more information on using Contexts.
    95  func (c *AppConfig) CreateApplicationWithContext(ctx aws.Context, input *CreateApplicationInput, opts ...request.Option) (*CreateApplicationOutput, error) {
    96  	req, out := c.CreateApplicationRequest(input)
    97  	req.SetContext(ctx)
    98  	req.ApplyOptions(opts...)
    99  	return out, req.Send()
   100  }
   101  
   102  const opCreateConfigurationProfile = "CreateConfigurationProfile"
   103  
   104  // CreateConfigurationProfileRequest generates a "aws/request.Request" representing the
   105  // client's request for the CreateConfigurationProfile operation. The "output" return
   106  // value will be populated with the request's response once the request completes
   107  // successfully.
   108  //
   109  // Use "Send" method on the returned Request to send the API call to the service.
   110  // the "output" return value is not valid until after Send returns without error.
   111  //
   112  // See CreateConfigurationProfile for more information on using the CreateConfigurationProfile
   113  // API call, and error handling.
   114  //
   115  // This method is useful when you want to inject custom logic or configuration
   116  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   117  //
   118  //
   119  //    // Example sending a request using the CreateConfigurationProfileRequest method.
   120  //    req, resp := client.CreateConfigurationProfileRequest(params)
   121  //
   122  //    err := req.Send()
   123  //    if err == nil { // resp is now filled
   124  //        fmt.Println(resp)
   125  //    }
   126  //
   127  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateConfigurationProfile
   128  func (c *AppConfig) CreateConfigurationProfileRequest(input *CreateConfigurationProfileInput) (req *request.Request, output *CreateConfigurationProfileOutput) {
   129  	op := &request.Operation{
   130  		Name:       opCreateConfigurationProfile,
   131  		HTTPMethod: "POST",
   132  		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles",
   133  	}
   134  
   135  	if input == nil {
   136  		input = &CreateConfigurationProfileInput{}
   137  	}
   138  
   139  	output = &CreateConfigurationProfileOutput{}
   140  	req = c.newRequest(op, input, output)
   141  	return
   142  }
   143  
   144  // CreateConfigurationProfile API operation for Amazon AppConfig.
   145  //
   146  // Information that enables AppConfig to access the configuration source. Valid
   147  // configuration sources include Systems Manager (SSM) documents, SSM Parameter
   148  // Store parameters, and Amazon S3 objects. A configuration profile includes
   149  // the following information.
   150  //
   151  //    * The Uri location of the configuration data.
   152  //
   153  //    * The AWS Identity and Access Management (IAM) role that provides access
   154  //    to the configuration data.
   155  //
   156  //    * A validator for the configuration data. Available validators include
   157  //    either a JSON Schema or an AWS Lambda function.
   158  //
   159  // For more information, see Create a Configuration and a Configuration Profile
   160  // (http://docs.aws.amazon.com/systems-manager/latest/userguide/appconfig-creating-configuration-and-profile.html)
   161  // in the AWS AppConfig User Guide.
   162  //
   163  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   164  // with awserr.Error's Code and Message methods to get detailed information about
   165  // the error.
   166  //
   167  // See the AWS API reference guide for Amazon AppConfig's
   168  // API operation CreateConfigurationProfile for usage and error information.
   169  //
   170  // Returned Error Types:
   171  //   * BadRequestException
   172  //   The input fails to satisfy the constraints specified by an AWS service.
   173  //
   174  //   * ResourceNotFoundException
   175  //   The requested resource could not be found.
   176  //
   177  //   * InternalServerException
   178  //   There was an internal failure in the AppConfig service.
   179  //
   180  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateConfigurationProfile
   181  func (c *AppConfig) CreateConfigurationProfile(input *CreateConfigurationProfileInput) (*CreateConfigurationProfileOutput, error) {
   182  	req, out := c.CreateConfigurationProfileRequest(input)
   183  	return out, req.Send()
   184  }
   185  
   186  // CreateConfigurationProfileWithContext is the same as CreateConfigurationProfile with the addition of
   187  // the ability to pass a context and additional request options.
   188  //
   189  // See CreateConfigurationProfile for details on how to use this API operation.
   190  //
   191  // The context must be non-nil and will be used for request cancellation. If
   192  // the context is nil a panic will occur. In the future the SDK may create
   193  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   194  // for more information on using Contexts.
   195  func (c *AppConfig) CreateConfigurationProfileWithContext(ctx aws.Context, input *CreateConfigurationProfileInput, opts ...request.Option) (*CreateConfigurationProfileOutput, error) {
   196  	req, out := c.CreateConfigurationProfileRequest(input)
   197  	req.SetContext(ctx)
   198  	req.ApplyOptions(opts...)
   199  	return out, req.Send()
   200  }
   201  
   202  const opCreateDeploymentStrategy = "CreateDeploymentStrategy"
   203  
   204  // CreateDeploymentStrategyRequest generates a "aws/request.Request" representing the
   205  // client's request for the CreateDeploymentStrategy operation. The "output" return
   206  // value will be populated with the request's response once the request completes
   207  // successfully.
   208  //
   209  // Use "Send" method on the returned Request to send the API call to the service.
   210  // the "output" return value is not valid until after Send returns without error.
   211  //
   212  // See CreateDeploymentStrategy for more information on using the CreateDeploymentStrategy
   213  // API call, and error handling.
   214  //
   215  // This method is useful when you want to inject custom logic or configuration
   216  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   217  //
   218  //
   219  //    // Example sending a request using the CreateDeploymentStrategyRequest method.
   220  //    req, resp := client.CreateDeploymentStrategyRequest(params)
   221  //
   222  //    err := req.Send()
   223  //    if err == nil { // resp is now filled
   224  //        fmt.Println(resp)
   225  //    }
   226  //
   227  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateDeploymentStrategy
   228  func (c *AppConfig) CreateDeploymentStrategyRequest(input *CreateDeploymentStrategyInput) (req *request.Request, output *CreateDeploymentStrategyOutput) {
   229  	op := &request.Operation{
   230  		Name:       opCreateDeploymentStrategy,
   231  		HTTPMethod: "POST",
   232  		HTTPPath:   "/deploymentstrategies",
   233  	}
   234  
   235  	if input == nil {
   236  		input = &CreateDeploymentStrategyInput{}
   237  	}
   238  
   239  	output = &CreateDeploymentStrategyOutput{}
   240  	req = c.newRequest(op, input, output)
   241  	return
   242  }
   243  
   244  // CreateDeploymentStrategy API operation for Amazon AppConfig.
   245  //
   246  // A deployment strategy defines important criteria for rolling out your configuration
   247  // to the designated targets. A deployment strategy includes: the overall duration
   248  // required, a percentage of targets to receive the deployment during each interval,
   249  // an algorithm that defines how percentage grows, and bake time.
   250  //
   251  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   252  // with awserr.Error's Code and Message methods to get detailed information about
   253  // the error.
   254  //
   255  // See the AWS API reference guide for Amazon AppConfig's
   256  // API operation CreateDeploymentStrategy for usage and error information.
   257  //
   258  // Returned Error Types:
   259  //   * InternalServerException
   260  //   There was an internal failure in the AppConfig service.
   261  //
   262  //   * BadRequestException
   263  //   The input fails to satisfy the constraints specified by an AWS service.
   264  //
   265  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateDeploymentStrategy
   266  func (c *AppConfig) CreateDeploymentStrategy(input *CreateDeploymentStrategyInput) (*CreateDeploymentStrategyOutput, error) {
   267  	req, out := c.CreateDeploymentStrategyRequest(input)
   268  	return out, req.Send()
   269  }
   270  
   271  // CreateDeploymentStrategyWithContext is the same as CreateDeploymentStrategy with the addition of
   272  // the ability to pass a context and additional request options.
   273  //
   274  // See CreateDeploymentStrategy for details on how to use this API operation.
   275  //
   276  // The context must be non-nil and will be used for request cancellation. If
   277  // the context is nil a panic will occur. In the future the SDK may create
   278  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   279  // for more information on using Contexts.
   280  func (c *AppConfig) CreateDeploymentStrategyWithContext(ctx aws.Context, input *CreateDeploymentStrategyInput, opts ...request.Option) (*CreateDeploymentStrategyOutput, error) {
   281  	req, out := c.CreateDeploymentStrategyRequest(input)
   282  	req.SetContext(ctx)
   283  	req.ApplyOptions(opts...)
   284  	return out, req.Send()
   285  }
   286  
   287  const opCreateEnvironment = "CreateEnvironment"
   288  
   289  // CreateEnvironmentRequest generates a "aws/request.Request" representing the
   290  // client's request for the CreateEnvironment operation. The "output" return
   291  // value will be populated with the request's response once the request completes
   292  // successfully.
   293  //
   294  // Use "Send" method on the returned Request to send the API call to the service.
   295  // the "output" return value is not valid until after Send returns without error.
   296  //
   297  // See CreateEnvironment for more information on using the CreateEnvironment
   298  // API call, and error handling.
   299  //
   300  // This method is useful when you want to inject custom logic or configuration
   301  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   302  //
   303  //
   304  //    // Example sending a request using the CreateEnvironmentRequest method.
   305  //    req, resp := client.CreateEnvironmentRequest(params)
   306  //
   307  //    err := req.Send()
   308  //    if err == nil { // resp is now filled
   309  //        fmt.Println(resp)
   310  //    }
   311  //
   312  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateEnvironment
   313  func (c *AppConfig) CreateEnvironmentRequest(input *CreateEnvironmentInput) (req *request.Request, output *CreateEnvironmentOutput) {
   314  	op := &request.Operation{
   315  		Name:       opCreateEnvironment,
   316  		HTTPMethod: "POST",
   317  		HTTPPath:   "/applications/{ApplicationId}/environments",
   318  	}
   319  
   320  	if input == nil {
   321  		input = &CreateEnvironmentInput{}
   322  	}
   323  
   324  	output = &CreateEnvironmentOutput{}
   325  	req = c.newRequest(op, input, output)
   326  	return
   327  }
   328  
   329  // CreateEnvironment API operation for Amazon AppConfig.
   330  //
   331  // For each application, you define one or more environments. An environment
   332  // is a logical deployment group of AppConfig targets, such as applications
   333  // in a Beta or Production environment. You can also define environments for
   334  // application subcomponents such as the Web, Mobile and Back-end components
   335  // for your application. You can configure Amazon CloudWatch alarms for each
   336  // environment. The system monitors alarms during a configuration deployment.
   337  // If an alarm is triggered, the system rolls back the configuration.
   338  //
   339  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   340  // with awserr.Error's Code and Message methods to get detailed information about
   341  // the error.
   342  //
   343  // See the AWS API reference guide for Amazon AppConfig's
   344  // API operation CreateEnvironment for usage and error information.
   345  //
   346  // Returned Error Types:
   347  //   * InternalServerException
   348  //   There was an internal failure in the AppConfig service.
   349  //
   350  //   * ResourceNotFoundException
   351  //   The requested resource could not be found.
   352  //
   353  //   * BadRequestException
   354  //   The input fails to satisfy the constraints specified by an AWS service.
   355  //
   356  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateEnvironment
   357  func (c *AppConfig) CreateEnvironment(input *CreateEnvironmentInput) (*CreateEnvironmentOutput, error) {
   358  	req, out := c.CreateEnvironmentRequest(input)
   359  	return out, req.Send()
   360  }
   361  
   362  // CreateEnvironmentWithContext is the same as CreateEnvironment with the addition of
   363  // the ability to pass a context and additional request options.
   364  //
   365  // See CreateEnvironment for details on how to use this API operation.
   366  //
   367  // The context must be non-nil and will be used for request cancellation. If
   368  // the context is nil a panic will occur. In the future the SDK may create
   369  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   370  // for more information on using Contexts.
   371  func (c *AppConfig) CreateEnvironmentWithContext(ctx aws.Context, input *CreateEnvironmentInput, opts ...request.Option) (*CreateEnvironmentOutput, error) {
   372  	req, out := c.CreateEnvironmentRequest(input)
   373  	req.SetContext(ctx)
   374  	req.ApplyOptions(opts...)
   375  	return out, req.Send()
   376  }
   377  
   378  const opCreateHostedConfigurationVersion = "CreateHostedConfigurationVersion"
   379  
   380  // CreateHostedConfigurationVersionRequest generates a "aws/request.Request" representing the
   381  // client's request for the CreateHostedConfigurationVersion operation. The "output" return
   382  // value will be populated with the request's response once the request completes
   383  // successfully.
   384  //
   385  // Use "Send" method on the returned Request to send the API call to the service.
   386  // the "output" return value is not valid until after Send returns without error.
   387  //
   388  // See CreateHostedConfigurationVersion for more information on using the CreateHostedConfigurationVersion
   389  // API call, and error handling.
   390  //
   391  // This method is useful when you want to inject custom logic or configuration
   392  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   393  //
   394  //
   395  //    // Example sending a request using the CreateHostedConfigurationVersionRequest method.
   396  //    req, resp := client.CreateHostedConfigurationVersionRequest(params)
   397  //
   398  //    err := req.Send()
   399  //    if err == nil { // resp is now filled
   400  //        fmt.Println(resp)
   401  //    }
   402  //
   403  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateHostedConfigurationVersion
   404  func (c *AppConfig) CreateHostedConfigurationVersionRequest(input *CreateHostedConfigurationVersionInput) (req *request.Request, output *CreateHostedConfigurationVersionOutput) {
   405  	op := &request.Operation{
   406  		Name:       opCreateHostedConfigurationVersion,
   407  		HTTPMethod: "POST",
   408  		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/hostedconfigurationversions",
   409  	}
   410  
   411  	if input == nil {
   412  		input = &CreateHostedConfigurationVersionInput{}
   413  	}
   414  
   415  	output = &CreateHostedConfigurationVersionOutput{}
   416  	req = c.newRequest(op, input, output)
   417  	return
   418  }
   419  
   420  // CreateHostedConfigurationVersion API operation for Amazon AppConfig.
   421  //
   422  // Create a new configuration in the AppConfig configuration store.
   423  //
   424  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   425  // with awserr.Error's Code and Message methods to get detailed information about
   426  // the error.
   427  //
   428  // See the AWS API reference guide for Amazon AppConfig's
   429  // API operation CreateHostedConfigurationVersion for usage and error information.
   430  //
   431  // Returned Error Types:
   432  //   * BadRequestException
   433  //   The input fails to satisfy the constraints specified by an AWS service.
   434  //
   435  //   * ServiceQuotaExceededException
   436  //   The number of hosted configuration versions exceeds the limit for the AppConfig
   437  //   configuration store. Delete one or more versions and try again.
   438  //
   439  //   * ResourceNotFoundException
   440  //   The requested resource could not be found.
   441  //
   442  //   * ConflictException
   443  //   The request could not be processed because of conflict in the current state
   444  //   of the resource.
   445  //
   446  //   * PayloadTooLargeException
   447  //   The configuration size is too large.
   448  //
   449  //   * InternalServerException
   450  //   There was an internal failure in the AppConfig service.
   451  //
   452  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateHostedConfigurationVersion
   453  func (c *AppConfig) CreateHostedConfigurationVersion(input *CreateHostedConfigurationVersionInput) (*CreateHostedConfigurationVersionOutput, error) {
   454  	req, out := c.CreateHostedConfigurationVersionRequest(input)
   455  	return out, req.Send()
   456  }
   457  
   458  // CreateHostedConfigurationVersionWithContext is the same as CreateHostedConfigurationVersion with the addition of
   459  // the ability to pass a context and additional request options.
   460  //
   461  // See CreateHostedConfigurationVersion for details on how to use this API operation.
   462  //
   463  // The context must be non-nil and will be used for request cancellation. If
   464  // the context is nil a panic will occur. In the future the SDK may create
   465  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   466  // for more information on using Contexts.
   467  func (c *AppConfig) CreateHostedConfigurationVersionWithContext(ctx aws.Context, input *CreateHostedConfigurationVersionInput, opts ...request.Option) (*CreateHostedConfigurationVersionOutput, error) {
   468  	req, out := c.CreateHostedConfigurationVersionRequest(input)
   469  	req.SetContext(ctx)
   470  	req.ApplyOptions(opts...)
   471  	return out, req.Send()
   472  }
   473  
   474  const opDeleteApplication = "DeleteApplication"
   475  
   476  // DeleteApplicationRequest generates a "aws/request.Request" representing the
   477  // client's request for the DeleteApplication operation. The "output" return
   478  // value will be populated with the request's response once the request completes
   479  // successfully.
   480  //
   481  // Use "Send" method on the returned Request to send the API call to the service.
   482  // the "output" return value is not valid until after Send returns without error.
   483  //
   484  // See DeleteApplication for more information on using the DeleteApplication
   485  // API call, and error handling.
   486  //
   487  // This method is useful when you want to inject custom logic or configuration
   488  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   489  //
   490  //
   491  //    // Example sending a request using the DeleteApplicationRequest method.
   492  //    req, resp := client.DeleteApplicationRequest(params)
   493  //
   494  //    err := req.Send()
   495  //    if err == nil { // resp is now filled
   496  //        fmt.Println(resp)
   497  //    }
   498  //
   499  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteApplication
   500  func (c *AppConfig) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) {
   501  	op := &request.Operation{
   502  		Name:       opDeleteApplication,
   503  		HTTPMethod: "DELETE",
   504  		HTTPPath:   "/applications/{ApplicationId}",
   505  	}
   506  
   507  	if input == nil {
   508  		input = &DeleteApplicationInput{}
   509  	}
   510  
   511  	output = &DeleteApplicationOutput{}
   512  	req = c.newRequest(op, input, output)
   513  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   514  	return
   515  }
   516  
   517  // DeleteApplication API operation for Amazon AppConfig.
   518  //
   519  // Delete an application. Deleting an application does not delete a configuration
   520  // from a host.
   521  //
   522  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   523  // with awserr.Error's Code and Message methods to get detailed information about
   524  // the error.
   525  //
   526  // See the AWS API reference guide for Amazon AppConfig's
   527  // API operation DeleteApplication for usage and error information.
   528  //
   529  // Returned Error Types:
   530  //   * ResourceNotFoundException
   531  //   The requested resource could not be found.
   532  //
   533  //   * InternalServerException
   534  //   There was an internal failure in the AppConfig service.
   535  //
   536  //   * BadRequestException
   537  //   The input fails to satisfy the constraints specified by an AWS service.
   538  //
   539  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteApplication
   540  func (c *AppConfig) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) {
   541  	req, out := c.DeleteApplicationRequest(input)
   542  	return out, req.Send()
   543  }
   544  
   545  // DeleteApplicationWithContext is the same as DeleteApplication with the addition of
   546  // the ability to pass a context and additional request options.
   547  //
   548  // See DeleteApplication for details on how to use this API operation.
   549  //
   550  // The context must be non-nil and will be used for request cancellation. If
   551  // the context is nil a panic will occur. In the future the SDK may create
   552  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   553  // for more information on using Contexts.
   554  func (c *AppConfig) DeleteApplicationWithContext(ctx aws.Context, input *DeleteApplicationInput, opts ...request.Option) (*DeleteApplicationOutput, error) {
   555  	req, out := c.DeleteApplicationRequest(input)
   556  	req.SetContext(ctx)
   557  	req.ApplyOptions(opts...)
   558  	return out, req.Send()
   559  }
   560  
   561  const opDeleteConfigurationProfile = "DeleteConfigurationProfile"
   562  
   563  // DeleteConfigurationProfileRequest generates a "aws/request.Request" representing the
   564  // client's request for the DeleteConfigurationProfile operation. The "output" return
   565  // value will be populated with the request's response once the request completes
   566  // successfully.
   567  //
   568  // Use "Send" method on the returned Request to send the API call to the service.
   569  // the "output" return value is not valid until after Send returns without error.
   570  //
   571  // See DeleteConfigurationProfile for more information on using the DeleteConfigurationProfile
   572  // API call, and error handling.
   573  //
   574  // This method is useful when you want to inject custom logic or configuration
   575  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   576  //
   577  //
   578  //    // Example sending a request using the DeleteConfigurationProfileRequest method.
   579  //    req, resp := client.DeleteConfigurationProfileRequest(params)
   580  //
   581  //    err := req.Send()
   582  //    if err == nil { // resp is now filled
   583  //        fmt.Println(resp)
   584  //    }
   585  //
   586  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteConfigurationProfile
   587  func (c *AppConfig) DeleteConfigurationProfileRequest(input *DeleteConfigurationProfileInput) (req *request.Request, output *DeleteConfigurationProfileOutput) {
   588  	op := &request.Operation{
   589  		Name:       opDeleteConfigurationProfile,
   590  		HTTPMethod: "DELETE",
   591  		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}",
   592  	}
   593  
   594  	if input == nil {
   595  		input = &DeleteConfigurationProfileInput{}
   596  	}
   597  
   598  	output = &DeleteConfigurationProfileOutput{}
   599  	req = c.newRequest(op, input, output)
   600  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   601  	return
   602  }
   603  
   604  // DeleteConfigurationProfile API operation for Amazon AppConfig.
   605  //
   606  // Delete a configuration profile. Deleting a configuration profile does not
   607  // delete a configuration from a host.
   608  //
   609  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   610  // with awserr.Error's Code and Message methods to get detailed information about
   611  // the error.
   612  //
   613  // See the AWS API reference guide for Amazon AppConfig's
   614  // API operation DeleteConfigurationProfile for usage and error information.
   615  //
   616  // Returned Error Types:
   617  //   * ResourceNotFoundException
   618  //   The requested resource could not be found.
   619  //
   620  //   * ConflictException
   621  //   The request could not be processed because of conflict in the current state
   622  //   of the resource.
   623  //
   624  //   * InternalServerException
   625  //   There was an internal failure in the AppConfig service.
   626  //
   627  //   * BadRequestException
   628  //   The input fails to satisfy the constraints specified by an AWS service.
   629  //
   630  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteConfigurationProfile
   631  func (c *AppConfig) DeleteConfigurationProfile(input *DeleteConfigurationProfileInput) (*DeleteConfigurationProfileOutput, error) {
   632  	req, out := c.DeleteConfigurationProfileRequest(input)
   633  	return out, req.Send()
   634  }
   635  
   636  // DeleteConfigurationProfileWithContext is the same as DeleteConfigurationProfile with the addition of
   637  // the ability to pass a context and additional request options.
   638  //
   639  // See DeleteConfigurationProfile for details on how to use this API operation.
   640  //
   641  // The context must be non-nil and will be used for request cancellation. If
   642  // the context is nil a panic will occur. In the future the SDK may create
   643  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   644  // for more information on using Contexts.
   645  func (c *AppConfig) DeleteConfigurationProfileWithContext(ctx aws.Context, input *DeleteConfigurationProfileInput, opts ...request.Option) (*DeleteConfigurationProfileOutput, error) {
   646  	req, out := c.DeleteConfigurationProfileRequest(input)
   647  	req.SetContext(ctx)
   648  	req.ApplyOptions(opts...)
   649  	return out, req.Send()
   650  }
   651  
   652  const opDeleteDeploymentStrategy = "DeleteDeploymentStrategy"
   653  
   654  // DeleteDeploymentStrategyRequest generates a "aws/request.Request" representing the
   655  // client's request for the DeleteDeploymentStrategy operation. The "output" return
   656  // value will be populated with the request's response once the request completes
   657  // successfully.
   658  //
   659  // Use "Send" method on the returned Request to send the API call to the service.
   660  // the "output" return value is not valid until after Send returns without error.
   661  //
   662  // See DeleteDeploymentStrategy for more information on using the DeleteDeploymentStrategy
   663  // API call, and error handling.
   664  //
   665  // This method is useful when you want to inject custom logic or configuration
   666  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   667  //
   668  //
   669  //    // Example sending a request using the DeleteDeploymentStrategyRequest method.
   670  //    req, resp := client.DeleteDeploymentStrategyRequest(params)
   671  //
   672  //    err := req.Send()
   673  //    if err == nil { // resp is now filled
   674  //        fmt.Println(resp)
   675  //    }
   676  //
   677  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteDeploymentStrategy
   678  func (c *AppConfig) DeleteDeploymentStrategyRequest(input *DeleteDeploymentStrategyInput) (req *request.Request, output *DeleteDeploymentStrategyOutput) {
   679  	op := &request.Operation{
   680  		Name:       opDeleteDeploymentStrategy,
   681  		HTTPMethod: "DELETE",
   682  		HTTPPath:   "/deployementstrategies/{DeploymentStrategyId}",
   683  	}
   684  
   685  	if input == nil {
   686  		input = &DeleteDeploymentStrategyInput{}
   687  	}
   688  
   689  	output = &DeleteDeploymentStrategyOutput{}
   690  	req = c.newRequest(op, input, output)
   691  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   692  	return
   693  }
   694  
   695  // DeleteDeploymentStrategy API operation for Amazon AppConfig.
   696  //
   697  // Delete a deployment strategy. Deleting a deployment strategy does not delete
   698  // a configuration from a host.
   699  //
   700  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   701  // with awserr.Error's Code and Message methods to get detailed information about
   702  // the error.
   703  //
   704  // See the AWS API reference guide for Amazon AppConfig's
   705  // API operation DeleteDeploymentStrategy for usage and error information.
   706  //
   707  // Returned Error Types:
   708  //   * ResourceNotFoundException
   709  //   The requested resource could not be found.
   710  //
   711  //   * InternalServerException
   712  //   There was an internal failure in the AppConfig service.
   713  //
   714  //   * BadRequestException
   715  //   The input fails to satisfy the constraints specified by an AWS service.
   716  //
   717  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteDeploymentStrategy
   718  func (c *AppConfig) DeleteDeploymentStrategy(input *DeleteDeploymentStrategyInput) (*DeleteDeploymentStrategyOutput, error) {
   719  	req, out := c.DeleteDeploymentStrategyRequest(input)
   720  	return out, req.Send()
   721  }
   722  
   723  // DeleteDeploymentStrategyWithContext is the same as DeleteDeploymentStrategy with the addition of
   724  // the ability to pass a context and additional request options.
   725  //
   726  // See DeleteDeploymentStrategy for details on how to use this API operation.
   727  //
   728  // The context must be non-nil and will be used for request cancellation. If
   729  // the context is nil a panic will occur. In the future the SDK may create
   730  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   731  // for more information on using Contexts.
   732  func (c *AppConfig) DeleteDeploymentStrategyWithContext(ctx aws.Context, input *DeleteDeploymentStrategyInput, opts ...request.Option) (*DeleteDeploymentStrategyOutput, error) {
   733  	req, out := c.DeleteDeploymentStrategyRequest(input)
   734  	req.SetContext(ctx)
   735  	req.ApplyOptions(opts...)
   736  	return out, req.Send()
   737  }
   738  
   739  const opDeleteEnvironment = "DeleteEnvironment"
   740  
   741  // DeleteEnvironmentRequest generates a "aws/request.Request" representing the
   742  // client's request for the DeleteEnvironment operation. The "output" return
   743  // value will be populated with the request's response once the request completes
   744  // successfully.
   745  //
   746  // Use "Send" method on the returned Request to send the API call to the service.
   747  // the "output" return value is not valid until after Send returns without error.
   748  //
   749  // See DeleteEnvironment for more information on using the DeleteEnvironment
   750  // API call, and error handling.
   751  //
   752  // This method is useful when you want to inject custom logic or configuration
   753  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   754  //
   755  //
   756  //    // Example sending a request using the DeleteEnvironmentRequest method.
   757  //    req, resp := client.DeleteEnvironmentRequest(params)
   758  //
   759  //    err := req.Send()
   760  //    if err == nil { // resp is now filled
   761  //        fmt.Println(resp)
   762  //    }
   763  //
   764  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteEnvironment
   765  func (c *AppConfig) DeleteEnvironmentRequest(input *DeleteEnvironmentInput) (req *request.Request, output *DeleteEnvironmentOutput) {
   766  	op := &request.Operation{
   767  		Name:       opDeleteEnvironment,
   768  		HTTPMethod: "DELETE",
   769  		HTTPPath:   "/applications/{ApplicationId}/environments/{EnvironmentId}",
   770  	}
   771  
   772  	if input == nil {
   773  		input = &DeleteEnvironmentInput{}
   774  	}
   775  
   776  	output = &DeleteEnvironmentOutput{}
   777  	req = c.newRequest(op, input, output)
   778  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   779  	return
   780  }
   781  
   782  // DeleteEnvironment API operation for Amazon AppConfig.
   783  //
   784  // Delete an environment. Deleting an environment does not delete a configuration
   785  // from a host.
   786  //
   787  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   788  // with awserr.Error's Code and Message methods to get detailed information about
   789  // the error.
   790  //
   791  // See the AWS API reference guide for Amazon AppConfig's
   792  // API operation DeleteEnvironment for usage and error information.
   793  //
   794  // Returned Error Types:
   795  //   * ResourceNotFoundException
   796  //   The requested resource could not be found.
   797  //
   798  //   * ConflictException
   799  //   The request could not be processed because of conflict in the current state
   800  //   of the resource.
   801  //
   802  //   * InternalServerException
   803  //   There was an internal failure in the AppConfig service.
   804  //
   805  //   * BadRequestException
   806  //   The input fails to satisfy the constraints specified by an AWS service.
   807  //
   808  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteEnvironment
   809  func (c *AppConfig) DeleteEnvironment(input *DeleteEnvironmentInput) (*DeleteEnvironmentOutput, error) {
   810  	req, out := c.DeleteEnvironmentRequest(input)
   811  	return out, req.Send()
   812  }
   813  
   814  // DeleteEnvironmentWithContext is the same as DeleteEnvironment with the addition of
   815  // the ability to pass a context and additional request options.
   816  //
   817  // See DeleteEnvironment for details on how to use this API operation.
   818  //
   819  // The context must be non-nil and will be used for request cancellation. If
   820  // the context is nil a panic will occur. In the future the SDK may create
   821  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   822  // for more information on using Contexts.
   823  func (c *AppConfig) DeleteEnvironmentWithContext(ctx aws.Context, input *DeleteEnvironmentInput, opts ...request.Option) (*DeleteEnvironmentOutput, error) {
   824  	req, out := c.DeleteEnvironmentRequest(input)
   825  	req.SetContext(ctx)
   826  	req.ApplyOptions(opts...)
   827  	return out, req.Send()
   828  }
   829  
   830  const opDeleteHostedConfigurationVersion = "DeleteHostedConfigurationVersion"
   831  
   832  // DeleteHostedConfigurationVersionRequest generates a "aws/request.Request" representing the
   833  // client's request for the DeleteHostedConfigurationVersion operation. The "output" return
   834  // value will be populated with the request's response once the request completes
   835  // successfully.
   836  //
   837  // Use "Send" method on the returned Request to send the API call to the service.
   838  // the "output" return value is not valid until after Send returns without error.
   839  //
   840  // See DeleteHostedConfigurationVersion for more information on using the DeleteHostedConfigurationVersion
   841  // API call, and error handling.
   842  //
   843  // This method is useful when you want to inject custom logic or configuration
   844  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   845  //
   846  //
   847  //    // Example sending a request using the DeleteHostedConfigurationVersionRequest method.
   848  //    req, resp := client.DeleteHostedConfigurationVersionRequest(params)
   849  //
   850  //    err := req.Send()
   851  //    if err == nil { // resp is now filled
   852  //        fmt.Println(resp)
   853  //    }
   854  //
   855  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteHostedConfigurationVersion
   856  func (c *AppConfig) DeleteHostedConfigurationVersionRequest(input *DeleteHostedConfigurationVersionInput) (req *request.Request, output *DeleteHostedConfigurationVersionOutput) {
   857  	op := &request.Operation{
   858  		Name:       opDeleteHostedConfigurationVersion,
   859  		HTTPMethod: "DELETE",
   860  		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/hostedconfigurationversions/{VersionNumber}",
   861  	}
   862  
   863  	if input == nil {
   864  		input = &DeleteHostedConfigurationVersionInput{}
   865  	}
   866  
   867  	output = &DeleteHostedConfigurationVersionOutput{}
   868  	req = c.newRequest(op, input, output)
   869  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   870  	return
   871  }
   872  
   873  // DeleteHostedConfigurationVersion API operation for Amazon AppConfig.
   874  //
   875  // Delete a version of a configuration from the AppConfig configuration store.
   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 Amazon AppConfig's
   882  // API operation DeleteHostedConfigurationVersion for usage and error information.
   883  //
   884  // Returned Error Types:
   885  //   * BadRequestException
   886  //   The input fails to satisfy the constraints specified by an AWS service.
   887  //
   888  //   * ResourceNotFoundException
   889  //   The requested resource could not be found.
   890  //
   891  //   * InternalServerException
   892  //   There was an internal failure in the AppConfig service.
   893  //
   894  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteHostedConfigurationVersion
   895  func (c *AppConfig) DeleteHostedConfigurationVersion(input *DeleteHostedConfigurationVersionInput) (*DeleteHostedConfigurationVersionOutput, error) {
   896  	req, out := c.DeleteHostedConfigurationVersionRequest(input)
   897  	return out, req.Send()
   898  }
   899  
   900  // DeleteHostedConfigurationVersionWithContext is the same as DeleteHostedConfigurationVersion with the addition of
   901  // the ability to pass a context and additional request options.
   902  //
   903  // See DeleteHostedConfigurationVersion for details on how to use this API operation.
   904  //
   905  // The context must be non-nil and will be used for request cancellation. If
   906  // the context is nil a panic will occur. In the future the SDK may create
   907  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   908  // for more information on using Contexts.
   909  func (c *AppConfig) DeleteHostedConfigurationVersionWithContext(ctx aws.Context, input *DeleteHostedConfigurationVersionInput, opts ...request.Option) (*DeleteHostedConfigurationVersionOutput, error) {
   910  	req, out := c.DeleteHostedConfigurationVersionRequest(input)
   911  	req.SetContext(ctx)
   912  	req.ApplyOptions(opts...)
   913  	return out, req.Send()
   914  }
   915  
   916  const opGetApplication = "GetApplication"
   917  
   918  // GetApplicationRequest generates a "aws/request.Request" representing the
   919  // client's request for the GetApplication operation. The "output" return
   920  // value will be populated with the request's response once the request completes
   921  // successfully.
   922  //
   923  // Use "Send" method on the returned Request to send the API call to the service.
   924  // the "output" return value is not valid until after Send returns without error.
   925  //
   926  // See GetApplication for more information on using the GetApplication
   927  // API call, and error handling.
   928  //
   929  // This method is useful when you want to inject custom logic or configuration
   930  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   931  //
   932  //
   933  //    // Example sending a request using the GetApplicationRequest method.
   934  //    req, resp := client.GetApplicationRequest(params)
   935  //
   936  //    err := req.Send()
   937  //    if err == nil { // resp is now filled
   938  //        fmt.Println(resp)
   939  //    }
   940  //
   941  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetApplication
   942  func (c *AppConfig) GetApplicationRequest(input *GetApplicationInput) (req *request.Request, output *GetApplicationOutput) {
   943  	op := &request.Operation{
   944  		Name:       opGetApplication,
   945  		HTTPMethod: "GET",
   946  		HTTPPath:   "/applications/{ApplicationId}",
   947  	}
   948  
   949  	if input == nil {
   950  		input = &GetApplicationInput{}
   951  	}
   952  
   953  	output = &GetApplicationOutput{}
   954  	req = c.newRequest(op, input, output)
   955  	return
   956  }
   957  
   958  // GetApplication API operation for Amazon AppConfig.
   959  //
   960  // Retrieve information about an application.
   961  //
   962  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   963  // with awserr.Error's Code and Message methods to get detailed information about
   964  // the error.
   965  //
   966  // See the AWS API reference guide for Amazon AppConfig's
   967  // API operation GetApplication for usage and error information.
   968  //
   969  // Returned Error Types:
   970  //   * ResourceNotFoundException
   971  //   The requested resource could not be found.
   972  //
   973  //   * InternalServerException
   974  //   There was an internal failure in the AppConfig service.
   975  //
   976  //   * BadRequestException
   977  //   The input fails to satisfy the constraints specified by an AWS service.
   978  //
   979  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetApplication
   980  func (c *AppConfig) GetApplication(input *GetApplicationInput) (*GetApplicationOutput, error) {
   981  	req, out := c.GetApplicationRequest(input)
   982  	return out, req.Send()
   983  }
   984  
   985  // GetApplicationWithContext is the same as GetApplication with the addition of
   986  // the ability to pass a context and additional request options.
   987  //
   988  // See GetApplication for details on how to use this API operation.
   989  //
   990  // The context must be non-nil and will be used for request cancellation. If
   991  // the context is nil a panic will occur. In the future the SDK may create
   992  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   993  // for more information on using Contexts.
   994  func (c *AppConfig) GetApplicationWithContext(ctx aws.Context, input *GetApplicationInput, opts ...request.Option) (*GetApplicationOutput, error) {
   995  	req, out := c.GetApplicationRequest(input)
   996  	req.SetContext(ctx)
   997  	req.ApplyOptions(opts...)
   998  	return out, req.Send()
   999  }
  1000  
  1001  const opGetConfiguration = "GetConfiguration"
  1002  
  1003  // GetConfigurationRequest generates a "aws/request.Request" representing the
  1004  // client's request for the GetConfiguration operation. The "output" return
  1005  // value will be populated with the request's response once the request completes
  1006  // successfully.
  1007  //
  1008  // Use "Send" method on the returned Request to send the API call to the service.
  1009  // the "output" return value is not valid until after Send returns without error.
  1010  //
  1011  // See GetConfiguration for more information on using the GetConfiguration
  1012  // API call, and error handling.
  1013  //
  1014  // This method is useful when you want to inject custom logic or configuration
  1015  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1016  //
  1017  //
  1018  //    // Example sending a request using the GetConfigurationRequest method.
  1019  //    req, resp := client.GetConfigurationRequest(params)
  1020  //
  1021  //    err := req.Send()
  1022  //    if err == nil { // resp is now filled
  1023  //        fmt.Println(resp)
  1024  //    }
  1025  //
  1026  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetConfiguration
  1027  func (c *AppConfig) GetConfigurationRequest(input *GetConfigurationInput) (req *request.Request, output *GetConfigurationOutput) {
  1028  	op := &request.Operation{
  1029  		Name:       opGetConfiguration,
  1030  		HTTPMethod: "GET",
  1031  		HTTPPath:   "/applications/{Application}/environments/{Environment}/configurations/{Configuration}",
  1032  	}
  1033  
  1034  	if input == nil {
  1035  		input = &GetConfigurationInput{}
  1036  	}
  1037  
  1038  	output = &GetConfigurationOutput{}
  1039  	req = c.newRequest(op, input, output)
  1040  	return
  1041  }
  1042  
  1043  // GetConfiguration API operation for Amazon AppConfig.
  1044  //
  1045  // Receive information about a configuration.
  1046  //
  1047  // AWS AppConfig uses the value of the ClientConfigurationVersion parameter
  1048  // to identify the configuration version on your clients. If you don’t send
  1049  // ClientConfigurationVersion with each call to GetConfiguration, your clients
  1050  // receive the current configuration. You are charged each time your clients
  1051  // receive a configuration.
  1052  //
  1053  // To avoid excess charges, we recommend that you include the ClientConfigurationVersion
  1054  // value with every call to GetConfiguration. This value must be saved on your
  1055  // client. Subsequent calls to GetConfiguration must pass this value by using
  1056  // the ClientConfigurationVersion parameter.
  1057  //
  1058  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1059  // with awserr.Error's Code and Message methods to get detailed information about
  1060  // the error.
  1061  //
  1062  // See the AWS API reference guide for Amazon AppConfig's
  1063  // API operation GetConfiguration for usage and error information.
  1064  //
  1065  // Returned Error Types:
  1066  //   * ResourceNotFoundException
  1067  //   The requested resource could not be found.
  1068  //
  1069  //   * InternalServerException
  1070  //   There was an internal failure in the AppConfig service.
  1071  //
  1072  //   * BadRequestException
  1073  //   The input fails to satisfy the constraints specified by an AWS service.
  1074  //
  1075  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetConfiguration
  1076  func (c *AppConfig) GetConfiguration(input *GetConfigurationInput) (*GetConfigurationOutput, error) {
  1077  	req, out := c.GetConfigurationRequest(input)
  1078  	return out, req.Send()
  1079  }
  1080  
  1081  // GetConfigurationWithContext is the same as GetConfiguration with the addition of
  1082  // the ability to pass a context and additional request options.
  1083  //
  1084  // See GetConfiguration for details on how to use this API operation.
  1085  //
  1086  // The context must be non-nil and will be used for request cancellation. If
  1087  // the context is nil a panic will occur. In the future the SDK may create
  1088  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1089  // for more information on using Contexts.
  1090  func (c *AppConfig) GetConfigurationWithContext(ctx aws.Context, input *GetConfigurationInput, opts ...request.Option) (*GetConfigurationOutput, error) {
  1091  	req, out := c.GetConfigurationRequest(input)
  1092  	req.SetContext(ctx)
  1093  	req.ApplyOptions(opts...)
  1094  	return out, req.Send()
  1095  }
  1096  
  1097  const opGetConfigurationProfile = "GetConfigurationProfile"
  1098  
  1099  // GetConfigurationProfileRequest generates a "aws/request.Request" representing the
  1100  // client's request for the GetConfigurationProfile operation. The "output" return
  1101  // value will be populated with the request's response once the request completes
  1102  // successfully.
  1103  //
  1104  // Use "Send" method on the returned Request to send the API call to the service.
  1105  // the "output" return value is not valid until after Send returns without error.
  1106  //
  1107  // See GetConfigurationProfile for more information on using the GetConfigurationProfile
  1108  // API call, and error handling.
  1109  //
  1110  // This method is useful when you want to inject custom logic or configuration
  1111  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1112  //
  1113  //
  1114  //    // Example sending a request using the GetConfigurationProfileRequest method.
  1115  //    req, resp := client.GetConfigurationProfileRequest(params)
  1116  //
  1117  //    err := req.Send()
  1118  //    if err == nil { // resp is now filled
  1119  //        fmt.Println(resp)
  1120  //    }
  1121  //
  1122  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetConfigurationProfile
  1123  func (c *AppConfig) GetConfigurationProfileRequest(input *GetConfigurationProfileInput) (req *request.Request, output *GetConfigurationProfileOutput) {
  1124  	op := &request.Operation{
  1125  		Name:       opGetConfigurationProfile,
  1126  		HTTPMethod: "GET",
  1127  		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}",
  1128  	}
  1129  
  1130  	if input == nil {
  1131  		input = &GetConfigurationProfileInput{}
  1132  	}
  1133  
  1134  	output = &GetConfigurationProfileOutput{}
  1135  	req = c.newRequest(op, input, output)
  1136  	return
  1137  }
  1138  
  1139  // GetConfigurationProfile API operation for Amazon AppConfig.
  1140  //
  1141  // Retrieve information about a configuration profile.
  1142  //
  1143  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1144  // with awserr.Error's Code and Message methods to get detailed information about
  1145  // the error.
  1146  //
  1147  // See the AWS API reference guide for Amazon AppConfig's
  1148  // API operation GetConfigurationProfile for usage and error information.
  1149  //
  1150  // Returned Error Types:
  1151  //   * ResourceNotFoundException
  1152  //   The requested resource could not be found.
  1153  //
  1154  //   * InternalServerException
  1155  //   There was an internal failure in the AppConfig service.
  1156  //
  1157  //   * BadRequestException
  1158  //   The input fails to satisfy the constraints specified by an AWS service.
  1159  //
  1160  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetConfigurationProfile
  1161  func (c *AppConfig) GetConfigurationProfile(input *GetConfigurationProfileInput) (*GetConfigurationProfileOutput, error) {
  1162  	req, out := c.GetConfigurationProfileRequest(input)
  1163  	return out, req.Send()
  1164  }
  1165  
  1166  // GetConfigurationProfileWithContext is the same as GetConfigurationProfile with the addition of
  1167  // the ability to pass a context and additional request options.
  1168  //
  1169  // See GetConfigurationProfile for details on how to use this API operation.
  1170  //
  1171  // The context must be non-nil and will be used for request cancellation. If
  1172  // the context is nil a panic will occur. In the future the SDK may create
  1173  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1174  // for more information on using Contexts.
  1175  func (c *AppConfig) GetConfigurationProfileWithContext(ctx aws.Context, input *GetConfigurationProfileInput, opts ...request.Option) (*GetConfigurationProfileOutput, error) {
  1176  	req, out := c.GetConfigurationProfileRequest(input)
  1177  	req.SetContext(ctx)
  1178  	req.ApplyOptions(opts...)
  1179  	return out, req.Send()
  1180  }
  1181  
  1182  const opGetDeployment = "GetDeployment"
  1183  
  1184  // GetDeploymentRequest generates a "aws/request.Request" representing the
  1185  // client's request for the GetDeployment operation. The "output" return
  1186  // value will be populated with the request's response once the request completes
  1187  // successfully.
  1188  //
  1189  // Use "Send" method on the returned Request to send the API call to the service.
  1190  // the "output" return value is not valid until after Send returns without error.
  1191  //
  1192  // See GetDeployment for more information on using the GetDeployment
  1193  // API call, and error handling.
  1194  //
  1195  // This method is useful when you want to inject custom logic or configuration
  1196  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1197  //
  1198  //
  1199  //    // Example sending a request using the GetDeploymentRequest method.
  1200  //    req, resp := client.GetDeploymentRequest(params)
  1201  //
  1202  //    err := req.Send()
  1203  //    if err == nil { // resp is now filled
  1204  //        fmt.Println(resp)
  1205  //    }
  1206  //
  1207  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetDeployment
  1208  func (c *AppConfig) GetDeploymentRequest(input *GetDeploymentInput) (req *request.Request, output *GetDeploymentOutput) {
  1209  	op := &request.Operation{
  1210  		Name:       opGetDeployment,
  1211  		HTTPMethod: "GET",
  1212  		HTTPPath:   "/applications/{ApplicationId}/environments/{EnvironmentId}/deployments/{DeploymentNumber}",
  1213  	}
  1214  
  1215  	if input == nil {
  1216  		input = &GetDeploymentInput{}
  1217  	}
  1218  
  1219  	output = &GetDeploymentOutput{}
  1220  	req = c.newRequest(op, input, output)
  1221  	return
  1222  }
  1223  
  1224  // GetDeployment API operation for Amazon AppConfig.
  1225  //
  1226  // Retrieve information about a configuration deployment.
  1227  //
  1228  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1229  // with awserr.Error's Code and Message methods to get detailed information about
  1230  // the error.
  1231  //
  1232  // See the AWS API reference guide for Amazon AppConfig's
  1233  // API operation GetDeployment for usage and error information.
  1234  //
  1235  // Returned Error Types:
  1236  //   * ResourceNotFoundException
  1237  //   The requested resource could not be found.
  1238  //
  1239  //   * InternalServerException
  1240  //   There was an internal failure in the AppConfig service.
  1241  //
  1242  //   * BadRequestException
  1243  //   The input fails to satisfy the constraints specified by an AWS service.
  1244  //
  1245  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetDeployment
  1246  func (c *AppConfig) GetDeployment(input *GetDeploymentInput) (*GetDeploymentOutput, error) {
  1247  	req, out := c.GetDeploymentRequest(input)
  1248  	return out, req.Send()
  1249  }
  1250  
  1251  // GetDeploymentWithContext is the same as GetDeployment with the addition of
  1252  // the ability to pass a context and additional request options.
  1253  //
  1254  // See GetDeployment for details on how to use this API operation.
  1255  //
  1256  // The context must be non-nil and will be used for request cancellation. If
  1257  // the context is nil a panic will occur. In the future the SDK may create
  1258  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1259  // for more information on using Contexts.
  1260  func (c *AppConfig) GetDeploymentWithContext(ctx aws.Context, input *GetDeploymentInput, opts ...request.Option) (*GetDeploymentOutput, error) {
  1261  	req, out := c.GetDeploymentRequest(input)
  1262  	req.SetContext(ctx)
  1263  	req.ApplyOptions(opts...)
  1264  	return out, req.Send()
  1265  }
  1266  
  1267  const opGetDeploymentStrategy = "GetDeploymentStrategy"
  1268  
  1269  // GetDeploymentStrategyRequest generates a "aws/request.Request" representing the
  1270  // client's request for the GetDeploymentStrategy operation. The "output" return
  1271  // value will be populated with the request's response once the request completes
  1272  // successfully.
  1273  //
  1274  // Use "Send" method on the returned Request to send the API call to the service.
  1275  // the "output" return value is not valid until after Send returns without error.
  1276  //
  1277  // See GetDeploymentStrategy for more information on using the GetDeploymentStrategy
  1278  // API call, and error handling.
  1279  //
  1280  // This method is useful when you want to inject custom logic or configuration
  1281  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1282  //
  1283  //
  1284  //    // Example sending a request using the GetDeploymentStrategyRequest method.
  1285  //    req, resp := client.GetDeploymentStrategyRequest(params)
  1286  //
  1287  //    err := req.Send()
  1288  //    if err == nil { // resp is now filled
  1289  //        fmt.Println(resp)
  1290  //    }
  1291  //
  1292  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetDeploymentStrategy
  1293  func (c *AppConfig) GetDeploymentStrategyRequest(input *GetDeploymentStrategyInput) (req *request.Request, output *GetDeploymentStrategyOutput) {
  1294  	op := &request.Operation{
  1295  		Name:       opGetDeploymentStrategy,
  1296  		HTTPMethod: "GET",
  1297  		HTTPPath:   "/deploymentstrategies/{DeploymentStrategyId}",
  1298  	}
  1299  
  1300  	if input == nil {
  1301  		input = &GetDeploymentStrategyInput{}
  1302  	}
  1303  
  1304  	output = &GetDeploymentStrategyOutput{}
  1305  	req = c.newRequest(op, input, output)
  1306  	return
  1307  }
  1308  
  1309  // GetDeploymentStrategy API operation for Amazon AppConfig.
  1310  //
  1311  // Retrieve information about a deployment strategy. A deployment strategy defines
  1312  // important criteria for rolling out your configuration to the designated targets.
  1313  // A deployment strategy includes: the overall duration required, a percentage
  1314  // of targets to receive the deployment during each interval, an algorithm that
  1315  // defines how percentage grows, and bake time.
  1316  //
  1317  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1318  // with awserr.Error's Code and Message methods to get detailed information about
  1319  // the error.
  1320  //
  1321  // See the AWS API reference guide for Amazon AppConfig's
  1322  // API operation GetDeploymentStrategy for usage and error information.
  1323  //
  1324  // Returned Error Types:
  1325  //   * ResourceNotFoundException
  1326  //   The requested resource could not be found.
  1327  //
  1328  //   * InternalServerException
  1329  //   There was an internal failure in the AppConfig service.
  1330  //
  1331  //   * BadRequestException
  1332  //   The input fails to satisfy the constraints specified by an AWS service.
  1333  //
  1334  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetDeploymentStrategy
  1335  func (c *AppConfig) GetDeploymentStrategy(input *GetDeploymentStrategyInput) (*GetDeploymentStrategyOutput, error) {
  1336  	req, out := c.GetDeploymentStrategyRequest(input)
  1337  	return out, req.Send()
  1338  }
  1339  
  1340  // GetDeploymentStrategyWithContext is the same as GetDeploymentStrategy with the addition of
  1341  // the ability to pass a context and additional request options.
  1342  //
  1343  // See GetDeploymentStrategy for details on how to use this API operation.
  1344  //
  1345  // The context must be non-nil and will be used for request cancellation. If
  1346  // the context is nil a panic will occur. In the future the SDK may create
  1347  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1348  // for more information on using Contexts.
  1349  func (c *AppConfig) GetDeploymentStrategyWithContext(ctx aws.Context, input *GetDeploymentStrategyInput, opts ...request.Option) (*GetDeploymentStrategyOutput, error) {
  1350  	req, out := c.GetDeploymentStrategyRequest(input)
  1351  	req.SetContext(ctx)
  1352  	req.ApplyOptions(opts...)
  1353  	return out, req.Send()
  1354  }
  1355  
  1356  const opGetEnvironment = "GetEnvironment"
  1357  
  1358  // GetEnvironmentRequest generates a "aws/request.Request" representing the
  1359  // client's request for the GetEnvironment operation. The "output" return
  1360  // value will be populated with the request's response once the request completes
  1361  // successfully.
  1362  //
  1363  // Use "Send" method on the returned Request to send the API call to the service.
  1364  // the "output" return value is not valid until after Send returns without error.
  1365  //
  1366  // See GetEnvironment for more information on using the GetEnvironment
  1367  // API call, and error handling.
  1368  //
  1369  // This method is useful when you want to inject custom logic or configuration
  1370  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1371  //
  1372  //
  1373  //    // Example sending a request using the GetEnvironmentRequest method.
  1374  //    req, resp := client.GetEnvironmentRequest(params)
  1375  //
  1376  //    err := req.Send()
  1377  //    if err == nil { // resp is now filled
  1378  //        fmt.Println(resp)
  1379  //    }
  1380  //
  1381  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetEnvironment
  1382  func (c *AppConfig) GetEnvironmentRequest(input *GetEnvironmentInput) (req *request.Request, output *GetEnvironmentOutput) {
  1383  	op := &request.Operation{
  1384  		Name:       opGetEnvironment,
  1385  		HTTPMethod: "GET",
  1386  		HTTPPath:   "/applications/{ApplicationId}/environments/{EnvironmentId}",
  1387  	}
  1388  
  1389  	if input == nil {
  1390  		input = &GetEnvironmentInput{}
  1391  	}
  1392  
  1393  	output = &GetEnvironmentOutput{}
  1394  	req = c.newRequest(op, input, output)
  1395  	return
  1396  }
  1397  
  1398  // GetEnvironment API operation for Amazon AppConfig.
  1399  //
  1400  // Retrieve information about an environment. An environment is a logical deployment
  1401  // group of AppConfig applications, such as applications in a Production environment
  1402  // or in an EU_Region environment. Each configuration deployment targets an
  1403  // environment. You can enable one or more Amazon CloudWatch alarms for an environment.
  1404  // If an alarm is triggered during a deployment, AppConfig roles back the configuration.
  1405  //
  1406  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1407  // with awserr.Error's Code and Message methods to get detailed information about
  1408  // the error.
  1409  //
  1410  // See the AWS API reference guide for Amazon AppConfig's
  1411  // API operation GetEnvironment for usage and error information.
  1412  //
  1413  // Returned Error Types:
  1414  //   * ResourceNotFoundException
  1415  //   The requested resource could not be found.
  1416  //
  1417  //   * InternalServerException
  1418  //   There was an internal failure in the AppConfig service.
  1419  //
  1420  //   * BadRequestException
  1421  //   The input fails to satisfy the constraints specified by an AWS service.
  1422  //
  1423  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetEnvironment
  1424  func (c *AppConfig) GetEnvironment(input *GetEnvironmentInput) (*GetEnvironmentOutput, error) {
  1425  	req, out := c.GetEnvironmentRequest(input)
  1426  	return out, req.Send()
  1427  }
  1428  
  1429  // GetEnvironmentWithContext is the same as GetEnvironment with the addition of
  1430  // the ability to pass a context and additional request options.
  1431  //
  1432  // See GetEnvironment for details on how to use this API operation.
  1433  //
  1434  // The context must be non-nil and will be used for request cancellation. If
  1435  // the context is nil a panic will occur. In the future the SDK may create
  1436  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1437  // for more information on using Contexts.
  1438  func (c *AppConfig) GetEnvironmentWithContext(ctx aws.Context, input *GetEnvironmentInput, opts ...request.Option) (*GetEnvironmentOutput, error) {
  1439  	req, out := c.GetEnvironmentRequest(input)
  1440  	req.SetContext(ctx)
  1441  	req.ApplyOptions(opts...)
  1442  	return out, req.Send()
  1443  }
  1444  
  1445  const opGetHostedConfigurationVersion = "GetHostedConfigurationVersion"
  1446  
  1447  // GetHostedConfigurationVersionRequest generates a "aws/request.Request" representing the
  1448  // client's request for the GetHostedConfigurationVersion operation. The "output" return
  1449  // value will be populated with the request's response once the request completes
  1450  // successfully.
  1451  //
  1452  // Use "Send" method on the returned Request to send the API call to the service.
  1453  // the "output" return value is not valid until after Send returns without error.
  1454  //
  1455  // See GetHostedConfigurationVersion for more information on using the GetHostedConfigurationVersion
  1456  // API call, and error handling.
  1457  //
  1458  // This method is useful when you want to inject custom logic or configuration
  1459  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1460  //
  1461  //
  1462  //    // Example sending a request using the GetHostedConfigurationVersionRequest method.
  1463  //    req, resp := client.GetHostedConfigurationVersionRequest(params)
  1464  //
  1465  //    err := req.Send()
  1466  //    if err == nil { // resp is now filled
  1467  //        fmt.Println(resp)
  1468  //    }
  1469  //
  1470  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetHostedConfigurationVersion
  1471  func (c *AppConfig) GetHostedConfigurationVersionRequest(input *GetHostedConfigurationVersionInput) (req *request.Request, output *GetHostedConfigurationVersionOutput) {
  1472  	op := &request.Operation{
  1473  		Name:       opGetHostedConfigurationVersion,
  1474  		HTTPMethod: "GET",
  1475  		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/hostedconfigurationversions/{VersionNumber}",
  1476  	}
  1477  
  1478  	if input == nil {
  1479  		input = &GetHostedConfigurationVersionInput{}
  1480  	}
  1481  
  1482  	output = &GetHostedConfigurationVersionOutput{}
  1483  	req = c.newRequest(op, input, output)
  1484  	return
  1485  }
  1486  
  1487  // GetHostedConfigurationVersion API operation for Amazon AppConfig.
  1488  //
  1489  // Get information about a specific configuration version.
  1490  //
  1491  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1492  // with awserr.Error's Code and Message methods to get detailed information about
  1493  // the error.
  1494  //
  1495  // See the AWS API reference guide for Amazon AppConfig's
  1496  // API operation GetHostedConfigurationVersion for usage and error information.
  1497  //
  1498  // Returned Error Types:
  1499  //   * BadRequestException
  1500  //   The input fails to satisfy the constraints specified by an AWS service.
  1501  //
  1502  //   * ResourceNotFoundException
  1503  //   The requested resource could not be found.
  1504  //
  1505  //   * InternalServerException
  1506  //   There was an internal failure in the AppConfig service.
  1507  //
  1508  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetHostedConfigurationVersion
  1509  func (c *AppConfig) GetHostedConfigurationVersion(input *GetHostedConfigurationVersionInput) (*GetHostedConfigurationVersionOutput, error) {
  1510  	req, out := c.GetHostedConfigurationVersionRequest(input)
  1511  	return out, req.Send()
  1512  }
  1513  
  1514  // GetHostedConfigurationVersionWithContext is the same as GetHostedConfigurationVersion with the addition of
  1515  // the ability to pass a context and additional request options.
  1516  //
  1517  // See GetHostedConfigurationVersion for details on how to use this API operation.
  1518  //
  1519  // The context must be non-nil and will be used for request cancellation. If
  1520  // the context is nil a panic will occur. In the future the SDK may create
  1521  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1522  // for more information on using Contexts.
  1523  func (c *AppConfig) GetHostedConfigurationVersionWithContext(ctx aws.Context, input *GetHostedConfigurationVersionInput, opts ...request.Option) (*GetHostedConfigurationVersionOutput, error) {
  1524  	req, out := c.GetHostedConfigurationVersionRequest(input)
  1525  	req.SetContext(ctx)
  1526  	req.ApplyOptions(opts...)
  1527  	return out, req.Send()
  1528  }
  1529  
  1530  const opListApplications = "ListApplications"
  1531  
  1532  // ListApplicationsRequest generates a "aws/request.Request" representing the
  1533  // client's request for the ListApplications operation. The "output" return
  1534  // value will be populated with the request's response once the request completes
  1535  // successfully.
  1536  //
  1537  // Use "Send" method on the returned Request to send the API call to the service.
  1538  // the "output" return value is not valid until after Send returns without error.
  1539  //
  1540  // See ListApplications for more information on using the ListApplications
  1541  // API call, and error handling.
  1542  //
  1543  // This method is useful when you want to inject custom logic or configuration
  1544  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1545  //
  1546  //
  1547  //    // Example sending a request using the ListApplicationsRequest method.
  1548  //    req, resp := client.ListApplicationsRequest(params)
  1549  //
  1550  //    err := req.Send()
  1551  //    if err == nil { // resp is now filled
  1552  //        fmt.Println(resp)
  1553  //    }
  1554  //
  1555  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListApplications
  1556  func (c *AppConfig) ListApplicationsRequest(input *ListApplicationsInput) (req *request.Request, output *ListApplicationsOutput) {
  1557  	op := &request.Operation{
  1558  		Name:       opListApplications,
  1559  		HTTPMethod: "GET",
  1560  		HTTPPath:   "/applications",
  1561  		Paginator: &request.Paginator{
  1562  			InputTokens:     []string{"NextToken"},
  1563  			OutputTokens:    []string{"NextToken"},
  1564  			LimitToken:      "MaxResults",
  1565  			TruncationToken: "",
  1566  		},
  1567  	}
  1568  
  1569  	if input == nil {
  1570  		input = &ListApplicationsInput{}
  1571  	}
  1572  
  1573  	output = &ListApplicationsOutput{}
  1574  	req = c.newRequest(op, input, output)
  1575  	return
  1576  }
  1577  
  1578  // ListApplications API operation for Amazon AppConfig.
  1579  //
  1580  // List all applications in your AWS account.
  1581  //
  1582  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1583  // with awserr.Error's Code and Message methods to get detailed information about
  1584  // the error.
  1585  //
  1586  // See the AWS API reference guide for Amazon AppConfig's
  1587  // API operation ListApplications for usage and error information.
  1588  //
  1589  // Returned Error Types:
  1590  //   * InternalServerException
  1591  //   There was an internal failure in the AppConfig service.
  1592  //
  1593  //   * BadRequestException
  1594  //   The input fails to satisfy the constraints specified by an AWS service.
  1595  //
  1596  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListApplications
  1597  func (c *AppConfig) ListApplications(input *ListApplicationsInput) (*ListApplicationsOutput, error) {
  1598  	req, out := c.ListApplicationsRequest(input)
  1599  	return out, req.Send()
  1600  }
  1601  
  1602  // ListApplicationsWithContext is the same as ListApplications with the addition of
  1603  // the ability to pass a context and additional request options.
  1604  //
  1605  // See ListApplications for details on how to use this API operation.
  1606  //
  1607  // The context must be non-nil and will be used for request cancellation. If
  1608  // the context is nil a panic will occur. In the future the SDK may create
  1609  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1610  // for more information on using Contexts.
  1611  func (c *AppConfig) ListApplicationsWithContext(ctx aws.Context, input *ListApplicationsInput, opts ...request.Option) (*ListApplicationsOutput, error) {
  1612  	req, out := c.ListApplicationsRequest(input)
  1613  	req.SetContext(ctx)
  1614  	req.ApplyOptions(opts...)
  1615  	return out, req.Send()
  1616  }
  1617  
  1618  // ListApplicationsPages iterates over the pages of a ListApplications operation,
  1619  // calling the "fn" function with the response data for each page. To stop
  1620  // iterating, return false from the fn function.
  1621  //
  1622  // See ListApplications method for more information on how to use this operation.
  1623  //
  1624  // Note: This operation can generate multiple requests to a service.
  1625  //
  1626  //    // Example iterating over at most 3 pages of a ListApplications operation.
  1627  //    pageNum := 0
  1628  //    err := client.ListApplicationsPages(params,
  1629  //        func(page *appconfig.ListApplicationsOutput, lastPage bool) bool {
  1630  //            pageNum++
  1631  //            fmt.Println(page)
  1632  //            return pageNum <= 3
  1633  //        })
  1634  //
  1635  func (c *AppConfig) ListApplicationsPages(input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool) error {
  1636  	return c.ListApplicationsPagesWithContext(aws.BackgroundContext(), input, fn)
  1637  }
  1638  
  1639  // ListApplicationsPagesWithContext same as ListApplicationsPages except
  1640  // it takes a Context and allows setting request options on the pages.
  1641  //
  1642  // The context must be non-nil and will be used for request cancellation. If
  1643  // the context is nil a panic will occur. In the future the SDK may create
  1644  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1645  // for more information on using Contexts.
  1646  func (c *AppConfig) ListApplicationsPagesWithContext(ctx aws.Context, input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool, opts ...request.Option) error {
  1647  	p := request.Pagination{
  1648  		NewRequest: func() (*request.Request, error) {
  1649  			var inCpy *ListApplicationsInput
  1650  			if input != nil {
  1651  				tmp := *input
  1652  				inCpy = &tmp
  1653  			}
  1654  			req, _ := c.ListApplicationsRequest(inCpy)
  1655  			req.SetContext(ctx)
  1656  			req.ApplyOptions(opts...)
  1657  			return req, nil
  1658  		},
  1659  	}
  1660  
  1661  	for p.Next() {
  1662  		if !fn(p.Page().(*ListApplicationsOutput), !p.HasNextPage()) {
  1663  			break
  1664  		}
  1665  	}
  1666  
  1667  	return p.Err()
  1668  }
  1669  
  1670  const opListConfigurationProfiles = "ListConfigurationProfiles"
  1671  
  1672  // ListConfigurationProfilesRequest generates a "aws/request.Request" representing the
  1673  // client's request for the ListConfigurationProfiles operation. The "output" return
  1674  // value will be populated with the request's response once the request completes
  1675  // successfully.
  1676  //
  1677  // Use "Send" method on the returned Request to send the API call to the service.
  1678  // the "output" return value is not valid until after Send returns without error.
  1679  //
  1680  // See ListConfigurationProfiles for more information on using the ListConfigurationProfiles
  1681  // API call, and error handling.
  1682  //
  1683  // This method is useful when you want to inject custom logic or configuration
  1684  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1685  //
  1686  //
  1687  //    // Example sending a request using the ListConfigurationProfilesRequest method.
  1688  //    req, resp := client.ListConfigurationProfilesRequest(params)
  1689  //
  1690  //    err := req.Send()
  1691  //    if err == nil { // resp is now filled
  1692  //        fmt.Println(resp)
  1693  //    }
  1694  //
  1695  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListConfigurationProfiles
  1696  func (c *AppConfig) ListConfigurationProfilesRequest(input *ListConfigurationProfilesInput) (req *request.Request, output *ListConfigurationProfilesOutput) {
  1697  	op := &request.Operation{
  1698  		Name:       opListConfigurationProfiles,
  1699  		HTTPMethod: "GET",
  1700  		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles",
  1701  		Paginator: &request.Paginator{
  1702  			InputTokens:     []string{"NextToken"},
  1703  			OutputTokens:    []string{"NextToken"},
  1704  			LimitToken:      "MaxResults",
  1705  			TruncationToken: "",
  1706  		},
  1707  	}
  1708  
  1709  	if input == nil {
  1710  		input = &ListConfigurationProfilesInput{}
  1711  	}
  1712  
  1713  	output = &ListConfigurationProfilesOutput{}
  1714  	req = c.newRequest(op, input, output)
  1715  	return
  1716  }
  1717  
  1718  // ListConfigurationProfiles API operation for Amazon AppConfig.
  1719  //
  1720  // Lists the configuration profiles for an application.
  1721  //
  1722  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1723  // with awserr.Error's Code and Message methods to get detailed information about
  1724  // the error.
  1725  //
  1726  // See the AWS API reference guide for Amazon AppConfig's
  1727  // API operation ListConfigurationProfiles for usage and error information.
  1728  //
  1729  // Returned Error Types:
  1730  //   * ResourceNotFoundException
  1731  //   The requested resource could not be found.
  1732  //
  1733  //   * InternalServerException
  1734  //   There was an internal failure in the AppConfig service.
  1735  //
  1736  //   * BadRequestException
  1737  //   The input fails to satisfy the constraints specified by an AWS service.
  1738  //
  1739  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListConfigurationProfiles
  1740  func (c *AppConfig) ListConfigurationProfiles(input *ListConfigurationProfilesInput) (*ListConfigurationProfilesOutput, error) {
  1741  	req, out := c.ListConfigurationProfilesRequest(input)
  1742  	return out, req.Send()
  1743  }
  1744  
  1745  // ListConfigurationProfilesWithContext is the same as ListConfigurationProfiles with the addition of
  1746  // the ability to pass a context and additional request options.
  1747  //
  1748  // See ListConfigurationProfiles for details on how to use this API operation.
  1749  //
  1750  // The context must be non-nil and will be used for request cancellation. If
  1751  // the context is nil a panic will occur. In the future the SDK may create
  1752  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1753  // for more information on using Contexts.
  1754  func (c *AppConfig) ListConfigurationProfilesWithContext(ctx aws.Context, input *ListConfigurationProfilesInput, opts ...request.Option) (*ListConfigurationProfilesOutput, error) {
  1755  	req, out := c.ListConfigurationProfilesRequest(input)
  1756  	req.SetContext(ctx)
  1757  	req.ApplyOptions(opts...)
  1758  	return out, req.Send()
  1759  }
  1760  
  1761  // ListConfigurationProfilesPages iterates over the pages of a ListConfigurationProfiles operation,
  1762  // calling the "fn" function with the response data for each page. To stop
  1763  // iterating, return false from the fn function.
  1764  //
  1765  // See ListConfigurationProfiles method for more information on how to use this operation.
  1766  //
  1767  // Note: This operation can generate multiple requests to a service.
  1768  //
  1769  //    // Example iterating over at most 3 pages of a ListConfigurationProfiles operation.
  1770  //    pageNum := 0
  1771  //    err := client.ListConfigurationProfilesPages(params,
  1772  //        func(page *appconfig.ListConfigurationProfilesOutput, lastPage bool) bool {
  1773  //            pageNum++
  1774  //            fmt.Println(page)
  1775  //            return pageNum <= 3
  1776  //        })
  1777  //
  1778  func (c *AppConfig) ListConfigurationProfilesPages(input *ListConfigurationProfilesInput, fn func(*ListConfigurationProfilesOutput, bool) bool) error {
  1779  	return c.ListConfigurationProfilesPagesWithContext(aws.BackgroundContext(), input, fn)
  1780  }
  1781  
  1782  // ListConfigurationProfilesPagesWithContext same as ListConfigurationProfilesPages except
  1783  // it takes a Context and allows setting request options on the pages.
  1784  //
  1785  // The context must be non-nil and will be used for request cancellation. If
  1786  // the context is nil a panic will occur. In the future the SDK may create
  1787  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1788  // for more information on using Contexts.
  1789  func (c *AppConfig) ListConfigurationProfilesPagesWithContext(ctx aws.Context, input *ListConfigurationProfilesInput, fn func(*ListConfigurationProfilesOutput, bool) bool, opts ...request.Option) error {
  1790  	p := request.Pagination{
  1791  		NewRequest: func() (*request.Request, error) {
  1792  			var inCpy *ListConfigurationProfilesInput
  1793  			if input != nil {
  1794  				tmp := *input
  1795  				inCpy = &tmp
  1796  			}
  1797  			req, _ := c.ListConfigurationProfilesRequest(inCpy)
  1798  			req.SetContext(ctx)
  1799  			req.ApplyOptions(opts...)
  1800  			return req, nil
  1801  		},
  1802  	}
  1803  
  1804  	for p.Next() {
  1805  		if !fn(p.Page().(*ListConfigurationProfilesOutput), !p.HasNextPage()) {
  1806  			break
  1807  		}
  1808  	}
  1809  
  1810  	return p.Err()
  1811  }
  1812  
  1813  const opListDeploymentStrategies = "ListDeploymentStrategies"
  1814  
  1815  // ListDeploymentStrategiesRequest generates a "aws/request.Request" representing the
  1816  // client's request for the ListDeploymentStrategies operation. The "output" return
  1817  // value will be populated with the request's response once the request completes
  1818  // successfully.
  1819  //
  1820  // Use "Send" method on the returned Request to send the API call to the service.
  1821  // the "output" return value is not valid until after Send returns without error.
  1822  //
  1823  // See ListDeploymentStrategies for more information on using the ListDeploymentStrategies
  1824  // API call, and error handling.
  1825  //
  1826  // This method is useful when you want to inject custom logic or configuration
  1827  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1828  //
  1829  //
  1830  //    // Example sending a request using the ListDeploymentStrategiesRequest method.
  1831  //    req, resp := client.ListDeploymentStrategiesRequest(params)
  1832  //
  1833  //    err := req.Send()
  1834  //    if err == nil { // resp is now filled
  1835  //        fmt.Println(resp)
  1836  //    }
  1837  //
  1838  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListDeploymentStrategies
  1839  func (c *AppConfig) ListDeploymentStrategiesRequest(input *ListDeploymentStrategiesInput) (req *request.Request, output *ListDeploymentStrategiesOutput) {
  1840  	op := &request.Operation{
  1841  		Name:       opListDeploymentStrategies,
  1842  		HTTPMethod: "GET",
  1843  		HTTPPath:   "/deploymentstrategies",
  1844  		Paginator: &request.Paginator{
  1845  			InputTokens:     []string{"NextToken"},
  1846  			OutputTokens:    []string{"NextToken"},
  1847  			LimitToken:      "MaxResults",
  1848  			TruncationToken: "",
  1849  		},
  1850  	}
  1851  
  1852  	if input == nil {
  1853  		input = &ListDeploymentStrategiesInput{}
  1854  	}
  1855  
  1856  	output = &ListDeploymentStrategiesOutput{}
  1857  	req = c.newRequest(op, input, output)
  1858  	return
  1859  }
  1860  
  1861  // ListDeploymentStrategies API operation for Amazon AppConfig.
  1862  //
  1863  // List deployment strategies.
  1864  //
  1865  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1866  // with awserr.Error's Code and Message methods to get detailed information about
  1867  // the error.
  1868  //
  1869  // See the AWS API reference guide for Amazon AppConfig's
  1870  // API operation ListDeploymentStrategies for usage and error information.
  1871  //
  1872  // Returned Error Types:
  1873  //   * InternalServerException
  1874  //   There was an internal failure in the AppConfig service.
  1875  //
  1876  //   * BadRequestException
  1877  //   The input fails to satisfy the constraints specified by an AWS service.
  1878  //
  1879  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListDeploymentStrategies
  1880  func (c *AppConfig) ListDeploymentStrategies(input *ListDeploymentStrategiesInput) (*ListDeploymentStrategiesOutput, error) {
  1881  	req, out := c.ListDeploymentStrategiesRequest(input)
  1882  	return out, req.Send()
  1883  }
  1884  
  1885  // ListDeploymentStrategiesWithContext is the same as ListDeploymentStrategies with the addition of
  1886  // the ability to pass a context and additional request options.
  1887  //
  1888  // See ListDeploymentStrategies for details on how to use this API operation.
  1889  //
  1890  // The context must be non-nil and will be used for request cancellation. If
  1891  // the context is nil a panic will occur. In the future the SDK may create
  1892  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1893  // for more information on using Contexts.
  1894  func (c *AppConfig) ListDeploymentStrategiesWithContext(ctx aws.Context, input *ListDeploymentStrategiesInput, opts ...request.Option) (*ListDeploymentStrategiesOutput, error) {
  1895  	req, out := c.ListDeploymentStrategiesRequest(input)
  1896  	req.SetContext(ctx)
  1897  	req.ApplyOptions(opts...)
  1898  	return out, req.Send()
  1899  }
  1900  
  1901  // ListDeploymentStrategiesPages iterates over the pages of a ListDeploymentStrategies operation,
  1902  // calling the "fn" function with the response data for each page. To stop
  1903  // iterating, return false from the fn function.
  1904  //
  1905  // See ListDeploymentStrategies method for more information on how to use this operation.
  1906  //
  1907  // Note: This operation can generate multiple requests to a service.
  1908  //
  1909  //    // Example iterating over at most 3 pages of a ListDeploymentStrategies operation.
  1910  //    pageNum := 0
  1911  //    err := client.ListDeploymentStrategiesPages(params,
  1912  //        func(page *appconfig.ListDeploymentStrategiesOutput, lastPage bool) bool {
  1913  //            pageNum++
  1914  //            fmt.Println(page)
  1915  //            return pageNum <= 3
  1916  //        })
  1917  //
  1918  func (c *AppConfig) ListDeploymentStrategiesPages(input *ListDeploymentStrategiesInput, fn func(*ListDeploymentStrategiesOutput, bool) bool) error {
  1919  	return c.ListDeploymentStrategiesPagesWithContext(aws.BackgroundContext(), input, fn)
  1920  }
  1921  
  1922  // ListDeploymentStrategiesPagesWithContext same as ListDeploymentStrategiesPages except
  1923  // it takes a Context and allows setting request options on the pages.
  1924  //
  1925  // The context must be non-nil and will be used for request cancellation. If
  1926  // the context is nil a panic will occur. In the future the SDK may create
  1927  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1928  // for more information on using Contexts.
  1929  func (c *AppConfig) ListDeploymentStrategiesPagesWithContext(ctx aws.Context, input *ListDeploymentStrategiesInput, fn func(*ListDeploymentStrategiesOutput, bool) bool, opts ...request.Option) error {
  1930  	p := request.Pagination{
  1931  		NewRequest: func() (*request.Request, error) {
  1932  			var inCpy *ListDeploymentStrategiesInput
  1933  			if input != nil {
  1934  				tmp := *input
  1935  				inCpy = &tmp
  1936  			}
  1937  			req, _ := c.ListDeploymentStrategiesRequest(inCpy)
  1938  			req.SetContext(ctx)
  1939  			req.ApplyOptions(opts...)
  1940  			return req, nil
  1941  		},
  1942  	}
  1943  
  1944  	for p.Next() {
  1945  		if !fn(p.Page().(*ListDeploymentStrategiesOutput), !p.HasNextPage()) {
  1946  			break
  1947  		}
  1948  	}
  1949  
  1950  	return p.Err()
  1951  }
  1952  
  1953  const opListDeployments = "ListDeployments"
  1954  
  1955  // ListDeploymentsRequest generates a "aws/request.Request" representing the
  1956  // client's request for the ListDeployments operation. The "output" return
  1957  // value will be populated with the request's response once the request completes
  1958  // successfully.
  1959  //
  1960  // Use "Send" method on the returned Request to send the API call to the service.
  1961  // the "output" return value is not valid until after Send returns without error.
  1962  //
  1963  // See ListDeployments for more information on using the ListDeployments
  1964  // API call, and error handling.
  1965  //
  1966  // This method is useful when you want to inject custom logic or configuration
  1967  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1968  //
  1969  //
  1970  //    // Example sending a request using the ListDeploymentsRequest method.
  1971  //    req, resp := client.ListDeploymentsRequest(params)
  1972  //
  1973  //    err := req.Send()
  1974  //    if err == nil { // resp is now filled
  1975  //        fmt.Println(resp)
  1976  //    }
  1977  //
  1978  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListDeployments
  1979  func (c *AppConfig) ListDeploymentsRequest(input *ListDeploymentsInput) (req *request.Request, output *ListDeploymentsOutput) {
  1980  	op := &request.Operation{
  1981  		Name:       opListDeployments,
  1982  		HTTPMethod: "GET",
  1983  		HTTPPath:   "/applications/{ApplicationId}/environments/{EnvironmentId}/deployments",
  1984  		Paginator: &request.Paginator{
  1985  			InputTokens:     []string{"NextToken"},
  1986  			OutputTokens:    []string{"NextToken"},
  1987  			LimitToken:      "MaxResults",
  1988  			TruncationToken: "",
  1989  		},
  1990  	}
  1991  
  1992  	if input == nil {
  1993  		input = &ListDeploymentsInput{}
  1994  	}
  1995  
  1996  	output = &ListDeploymentsOutput{}
  1997  	req = c.newRequest(op, input, output)
  1998  	return
  1999  }
  2000  
  2001  // ListDeployments API operation for Amazon AppConfig.
  2002  //
  2003  // Lists the deployments for an environment.
  2004  //
  2005  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2006  // with awserr.Error's Code and Message methods to get detailed information about
  2007  // the error.
  2008  //
  2009  // See the AWS API reference guide for Amazon AppConfig's
  2010  // API operation ListDeployments for usage and error information.
  2011  //
  2012  // Returned Error Types:
  2013  //   * ResourceNotFoundException
  2014  //   The requested resource could not be found.
  2015  //
  2016  //   * InternalServerException
  2017  //   There was an internal failure in the AppConfig service.
  2018  //
  2019  //   * BadRequestException
  2020  //   The input fails to satisfy the constraints specified by an AWS service.
  2021  //
  2022  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListDeployments
  2023  func (c *AppConfig) ListDeployments(input *ListDeploymentsInput) (*ListDeploymentsOutput, error) {
  2024  	req, out := c.ListDeploymentsRequest(input)
  2025  	return out, req.Send()
  2026  }
  2027  
  2028  // ListDeploymentsWithContext is the same as ListDeployments with the addition of
  2029  // the ability to pass a context and additional request options.
  2030  //
  2031  // See ListDeployments for details on how to use this API operation.
  2032  //
  2033  // The context must be non-nil and will be used for request cancellation. If
  2034  // the context is nil a panic will occur. In the future the SDK may create
  2035  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2036  // for more information on using Contexts.
  2037  func (c *AppConfig) ListDeploymentsWithContext(ctx aws.Context, input *ListDeploymentsInput, opts ...request.Option) (*ListDeploymentsOutput, error) {
  2038  	req, out := c.ListDeploymentsRequest(input)
  2039  	req.SetContext(ctx)
  2040  	req.ApplyOptions(opts...)
  2041  	return out, req.Send()
  2042  }
  2043  
  2044  // ListDeploymentsPages iterates over the pages of a ListDeployments operation,
  2045  // calling the "fn" function with the response data for each page. To stop
  2046  // iterating, return false from the fn function.
  2047  //
  2048  // See ListDeployments method for more information on how to use this operation.
  2049  //
  2050  // Note: This operation can generate multiple requests to a service.
  2051  //
  2052  //    // Example iterating over at most 3 pages of a ListDeployments operation.
  2053  //    pageNum := 0
  2054  //    err := client.ListDeploymentsPages(params,
  2055  //        func(page *appconfig.ListDeploymentsOutput, lastPage bool) bool {
  2056  //            pageNum++
  2057  //            fmt.Println(page)
  2058  //            return pageNum <= 3
  2059  //        })
  2060  //
  2061  func (c *AppConfig) ListDeploymentsPages(input *ListDeploymentsInput, fn func(*ListDeploymentsOutput, bool) bool) error {
  2062  	return c.ListDeploymentsPagesWithContext(aws.BackgroundContext(), input, fn)
  2063  }
  2064  
  2065  // ListDeploymentsPagesWithContext same as ListDeploymentsPages except
  2066  // it takes a Context and allows setting request options on the pages.
  2067  //
  2068  // The context must be non-nil and will be used for request cancellation. If
  2069  // the context is nil a panic will occur. In the future the SDK may create
  2070  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2071  // for more information on using Contexts.
  2072  func (c *AppConfig) ListDeploymentsPagesWithContext(ctx aws.Context, input *ListDeploymentsInput, fn func(*ListDeploymentsOutput, bool) bool, opts ...request.Option) error {
  2073  	p := request.Pagination{
  2074  		NewRequest: func() (*request.Request, error) {
  2075  			var inCpy *ListDeploymentsInput
  2076  			if input != nil {
  2077  				tmp := *input
  2078  				inCpy = &tmp
  2079  			}
  2080  			req, _ := c.ListDeploymentsRequest(inCpy)
  2081  			req.SetContext(ctx)
  2082  			req.ApplyOptions(opts...)
  2083  			return req, nil
  2084  		},
  2085  	}
  2086  
  2087  	for p.Next() {
  2088  		if !fn(p.Page().(*ListDeploymentsOutput), !p.HasNextPage()) {
  2089  			break
  2090  		}
  2091  	}
  2092  
  2093  	return p.Err()
  2094  }
  2095  
  2096  const opListEnvironments = "ListEnvironments"
  2097  
  2098  // ListEnvironmentsRequest generates a "aws/request.Request" representing the
  2099  // client's request for the ListEnvironments operation. The "output" return
  2100  // value will be populated with the request's response once the request completes
  2101  // successfully.
  2102  //
  2103  // Use "Send" method on the returned Request to send the API call to the service.
  2104  // the "output" return value is not valid until after Send returns without error.
  2105  //
  2106  // See ListEnvironments for more information on using the ListEnvironments
  2107  // API call, and error handling.
  2108  //
  2109  // This method is useful when you want to inject custom logic or configuration
  2110  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2111  //
  2112  //
  2113  //    // Example sending a request using the ListEnvironmentsRequest method.
  2114  //    req, resp := client.ListEnvironmentsRequest(params)
  2115  //
  2116  //    err := req.Send()
  2117  //    if err == nil { // resp is now filled
  2118  //        fmt.Println(resp)
  2119  //    }
  2120  //
  2121  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListEnvironments
  2122  func (c *AppConfig) ListEnvironmentsRequest(input *ListEnvironmentsInput) (req *request.Request, output *ListEnvironmentsOutput) {
  2123  	op := &request.Operation{
  2124  		Name:       opListEnvironments,
  2125  		HTTPMethod: "GET",
  2126  		HTTPPath:   "/applications/{ApplicationId}/environments",
  2127  		Paginator: &request.Paginator{
  2128  			InputTokens:     []string{"NextToken"},
  2129  			OutputTokens:    []string{"NextToken"},
  2130  			LimitToken:      "MaxResults",
  2131  			TruncationToken: "",
  2132  		},
  2133  	}
  2134  
  2135  	if input == nil {
  2136  		input = &ListEnvironmentsInput{}
  2137  	}
  2138  
  2139  	output = &ListEnvironmentsOutput{}
  2140  	req = c.newRequest(op, input, output)
  2141  	return
  2142  }
  2143  
  2144  // ListEnvironments API operation for Amazon AppConfig.
  2145  //
  2146  // List the environments for an application.
  2147  //
  2148  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2149  // with awserr.Error's Code and Message methods to get detailed information about
  2150  // the error.
  2151  //
  2152  // See the AWS API reference guide for Amazon AppConfig's
  2153  // API operation ListEnvironments for usage and error information.
  2154  //
  2155  // Returned Error Types:
  2156  //   * ResourceNotFoundException
  2157  //   The requested resource could not be found.
  2158  //
  2159  //   * InternalServerException
  2160  //   There was an internal failure in the AppConfig service.
  2161  //
  2162  //   * BadRequestException
  2163  //   The input fails to satisfy the constraints specified by an AWS service.
  2164  //
  2165  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListEnvironments
  2166  func (c *AppConfig) ListEnvironments(input *ListEnvironmentsInput) (*ListEnvironmentsOutput, error) {
  2167  	req, out := c.ListEnvironmentsRequest(input)
  2168  	return out, req.Send()
  2169  }
  2170  
  2171  // ListEnvironmentsWithContext is the same as ListEnvironments with the addition of
  2172  // the ability to pass a context and additional request options.
  2173  //
  2174  // See ListEnvironments for details on how to use this API operation.
  2175  //
  2176  // The context must be non-nil and will be used for request cancellation. If
  2177  // the context is nil a panic will occur. In the future the SDK may create
  2178  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2179  // for more information on using Contexts.
  2180  func (c *AppConfig) ListEnvironmentsWithContext(ctx aws.Context, input *ListEnvironmentsInput, opts ...request.Option) (*ListEnvironmentsOutput, error) {
  2181  	req, out := c.ListEnvironmentsRequest(input)
  2182  	req.SetContext(ctx)
  2183  	req.ApplyOptions(opts...)
  2184  	return out, req.Send()
  2185  }
  2186  
  2187  // ListEnvironmentsPages iterates over the pages of a ListEnvironments operation,
  2188  // calling the "fn" function with the response data for each page. To stop
  2189  // iterating, return false from the fn function.
  2190  //
  2191  // See ListEnvironments method for more information on how to use this operation.
  2192  //
  2193  // Note: This operation can generate multiple requests to a service.
  2194  //
  2195  //    // Example iterating over at most 3 pages of a ListEnvironments operation.
  2196  //    pageNum := 0
  2197  //    err := client.ListEnvironmentsPages(params,
  2198  //        func(page *appconfig.ListEnvironmentsOutput, lastPage bool) bool {
  2199  //            pageNum++
  2200  //            fmt.Println(page)
  2201  //            return pageNum <= 3
  2202  //        })
  2203  //
  2204  func (c *AppConfig) ListEnvironmentsPages(input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool) error {
  2205  	return c.ListEnvironmentsPagesWithContext(aws.BackgroundContext(), input, fn)
  2206  }
  2207  
  2208  // ListEnvironmentsPagesWithContext same as ListEnvironmentsPages except
  2209  // it takes a Context and allows setting request options on the pages.
  2210  //
  2211  // The context must be non-nil and will be used for request cancellation. If
  2212  // the context is nil a panic will occur. In the future the SDK may create
  2213  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2214  // for more information on using Contexts.
  2215  func (c *AppConfig) ListEnvironmentsPagesWithContext(ctx aws.Context, input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool, opts ...request.Option) error {
  2216  	p := request.Pagination{
  2217  		NewRequest: func() (*request.Request, error) {
  2218  			var inCpy *ListEnvironmentsInput
  2219  			if input != nil {
  2220  				tmp := *input
  2221  				inCpy = &tmp
  2222  			}
  2223  			req, _ := c.ListEnvironmentsRequest(inCpy)
  2224  			req.SetContext(ctx)
  2225  			req.ApplyOptions(opts...)
  2226  			return req, nil
  2227  		},
  2228  	}
  2229  
  2230  	for p.Next() {
  2231  		if !fn(p.Page().(*ListEnvironmentsOutput), !p.HasNextPage()) {
  2232  			break
  2233  		}
  2234  	}
  2235  
  2236  	return p.Err()
  2237  }
  2238  
  2239  const opListHostedConfigurationVersions = "ListHostedConfigurationVersions"
  2240  
  2241  // ListHostedConfigurationVersionsRequest generates a "aws/request.Request" representing the
  2242  // client's request for the ListHostedConfigurationVersions operation. The "output" return
  2243  // value will be populated with the request's response once the request completes
  2244  // successfully.
  2245  //
  2246  // Use "Send" method on the returned Request to send the API call to the service.
  2247  // the "output" return value is not valid until after Send returns without error.
  2248  //
  2249  // See ListHostedConfigurationVersions for more information on using the ListHostedConfigurationVersions
  2250  // API call, and error handling.
  2251  //
  2252  // This method is useful when you want to inject custom logic or configuration
  2253  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2254  //
  2255  //
  2256  //    // Example sending a request using the ListHostedConfigurationVersionsRequest method.
  2257  //    req, resp := client.ListHostedConfigurationVersionsRequest(params)
  2258  //
  2259  //    err := req.Send()
  2260  //    if err == nil { // resp is now filled
  2261  //        fmt.Println(resp)
  2262  //    }
  2263  //
  2264  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListHostedConfigurationVersions
  2265  func (c *AppConfig) ListHostedConfigurationVersionsRequest(input *ListHostedConfigurationVersionsInput) (req *request.Request, output *ListHostedConfigurationVersionsOutput) {
  2266  	op := &request.Operation{
  2267  		Name:       opListHostedConfigurationVersions,
  2268  		HTTPMethod: "GET",
  2269  		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/hostedconfigurationversions",
  2270  		Paginator: &request.Paginator{
  2271  			InputTokens:     []string{"NextToken"},
  2272  			OutputTokens:    []string{"NextToken"},
  2273  			LimitToken:      "MaxResults",
  2274  			TruncationToken: "",
  2275  		},
  2276  	}
  2277  
  2278  	if input == nil {
  2279  		input = &ListHostedConfigurationVersionsInput{}
  2280  	}
  2281  
  2282  	output = &ListHostedConfigurationVersionsOutput{}
  2283  	req = c.newRequest(op, input, output)
  2284  	return
  2285  }
  2286  
  2287  // ListHostedConfigurationVersions API operation for Amazon AppConfig.
  2288  //
  2289  // View a list of configurations stored in the AppConfig configuration store
  2290  // by version.
  2291  //
  2292  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2293  // with awserr.Error's Code and Message methods to get detailed information about
  2294  // the error.
  2295  //
  2296  // See the AWS API reference guide for Amazon AppConfig's
  2297  // API operation ListHostedConfigurationVersions for usage and error information.
  2298  //
  2299  // Returned Error Types:
  2300  //   * BadRequestException
  2301  //   The input fails to satisfy the constraints specified by an AWS service.
  2302  //
  2303  //   * ResourceNotFoundException
  2304  //   The requested resource could not be found.
  2305  //
  2306  //   * InternalServerException
  2307  //   There was an internal failure in the AppConfig service.
  2308  //
  2309  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListHostedConfigurationVersions
  2310  func (c *AppConfig) ListHostedConfigurationVersions(input *ListHostedConfigurationVersionsInput) (*ListHostedConfigurationVersionsOutput, error) {
  2311  	req, out := c.ListHostedConfigurationVersionsRequest(input)
  2312  	return out, req.Send()
  2313  }
  2314  
  2315  // ListHostedConfigurationVersionsWithContext is the same as ListHostedConfigurationVersions with the addition of
  2316  // the ability to pass a context and additional request options.
  2317  //
  2318  // See ListHostedConfigurationVersions for details on how to use this API operation.
  2319  //
  2320  // The context must be non-nil and will be used for request cancellation. If
  2321  // the context is nil a panic will occur. In the future the SDK may create
  2322  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2323  // for more information on using Contexts.
  2324  func (c *AppConfig) ListHostedConfigurationVersionsWithContext(ctx aws.Context, input *ListHostedConfigurationVersionsInput, opts ...request.Option) (*ListHostedConfigurationVersionsOutput, error) {
  2325  	req, out := c.ListHostedConfigurationVersionsRequest(input)
  2326  	req.SetContext(ctx)
  2327  	req.ApplyOptions(opts...)
  2328  	return out, req.Send()
  2329  }
  2330  
  2331  // ListHostedConfigurationVersionsPages iterates over the pages of a ListHostedConfigurationVersions operation,
  2332  // calling the "fn" function with the response data for each page. To stop
  2333  // iterating, return false from the fn function.
  2334  //
  2335  // See ListHostedConfigurationVersions method for more information on how to use this operation.
  2336  //
  2337  // Note: This operation can generate multiple requests to a service.
  2338  //
  2339  //    // Example iterating over at most 3 pages of a ListHostedConfigurationVersions operation.
  2340  //    pageNum := 0
  2341  //    err := client.ListHostedConfigurationVersionsPages(params,
  2342  //        func(page *appconfig.ListHostedConfigurationVersionsOutput, lastPage bool) bool {
  2343  //            pageNum++
  2344  //            fmt.Println(page)
  2345  //            return pageNum <= 3
  2346  //        })
  2347  //
  2348  func (c *AppConfig) ListHostedConfigurationVersionsPages(input *ListHostedConfigurationVersionsInput, fn func(*ListHostedConfigurationVersionsOutput, bool) bool) error {
  2349  	return c.ListHostedConfigurationVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  2350  }
  2351  
  2352  // ListHostedConfigurationVersionsPagesWithContext same as ListHostedConfigurationVersionsPages except
  2353  // it takes a Context and allows setting request options on the pages.
  2354  //
  2355  // The context must be non-nil and will be used for request cancellation. If
  2356  // the context is nil a panic will occur. In the future the SDK may create
  2357  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2358  // for more information on using Contexts.
  2359  func (c *AppConfig) ListHostedConfigurationVersionsPagesWithContext(ctx aws.Context, input *ListHostedConfigurationVersionsInput, fn func(*ListHostedConfigurationVersionsOutput, bool) bool, opts ...request.Option) error {
  2360  	p := request.Pagination{
  2361  		NewRequest: func() (*request.Request, error) {
  2362  			var inCpy *ListHostedConfigurationVersionsInput
  2363  			if input != nil {
  2364  				tmp := *input
  2365  				inCpy = &tmp
  2366  			}
  2367  			req, _ := c.ListHostedConfigurationVersionsRequest(inCpy)
  2368  			req.SetContext(ctx)
  2369  			req.ApplyOptions(opts...)
  2370  			return req, nil
  2371  		},
  2372  	}
  2373  
  2374  	for p.Next() {
  2375  		if !fn(p.Page().(*ListHostedConfigurationVersionsOutput), !p.HasNextPage()) {
  2376  			break
  2377  		}
  2378  	}
  2379  
  2380  	return p.Err()
  2381  }
  2382  
  2383  const opListTagsForResource = "ListTagsForResource"
  2384  
  2385  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  2386  // client's request for the ListTagsForResource operation. The "output" return
  2387  // value will be populated with the request's response once the request completes
  2388  // successfully.
  2389  //
  2390  // Use "Send" method on the returned Request to send the API call to the service.
  2391  // the "output" return value is not valid until after Send returns without error.
  2392  //
  2393  // See ListTagsForResource for more information on using the ListTagsForResource
  2394  // API call, and error handling.
  2395  //
  2396  // This method is useful when you want to inject custom logic or configuration
  2397  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2398  //
  2399  //
  2400  //    // Example sending a request using the ListTagsForResourceRequest method.
  2401  //    req, resp := client.ListTagsForResourceRequest(params)
  2402  //
  2403  //    err := req.Send()
  2404  //    if err == nil { // resp is now filled
  2405  //        fmt.Println(resp)
  2406  //    }
  2407  //
  2408  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListTagsForResource
  2409  func (c *AppConfig) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  2410  	op := &request.Operation{
  2411  		Name:       opListTagsForResource,
  2412  		HTTPMethod: "GET",
  2413  		HTTPPath:   "/tags/{ResourceArn}",
  2414  	}
  2415  
  2416  	if input == nil {
  2417  		input = &ListTagsForResourceInput{}
  2418  	}
  2419  
  2420  	output = &ListTagsForResourceOutput{}
  2421  	req = c.newRequest(op, input, output)
  2422  	return
  2423  }
  2424  
  2425  // ListTagsForResource API operation for Amazon AppConfig.
  2426  //
  2427  // Retrieves the list of key-value tags assigned to the resource.
  2428  //
  2429  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2430  // with awserr.Error's Code and Message methods to get detailed information about
  2431  // the error.
  2432  //
  2433  // See the AWS API reference guide for Amazon AppConfig's
  2434  // API operation ListTagsForResource for usage and error information.
  2435  //
  2436  // Returned Error Types:
  2437  //   * ResourceNotFoundException
  2438  //   The requested resource could not be found.
  2439  //
  2440  //   * BadRequestException
  2441  //   The input fails to satisfy the constraints specified by an AWS service.
  2442  //
  2443  //   * InternalServerException
  2444  //   There was an internal failure in the AppConfig service.
  2445  //
  2446  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListTagsForResource
  2447  func (c *AppConfig) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  2448  	req, out := c.ListTagsForResourceRequest(input)
  2449  	return out, req.Send()
  2450  }
  2451  
  2452  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  2453  // the ability to pass a context and additional request options.
  2454  //
  2455  // See ListTagsForResource for details on how to use this API operation.
  2456  //
  2457  // The context must be non-nil and will be used for request cancellation. If
  2458  // the context is nil a panic will occur. In the future the SDK may create
  2459  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2460  // for more information on using Contexts.
  2461  func (c *AppConfig) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  2462  	req, out := c.ListTagsForResourceRequest(input)
  2463  	req.SetContext(ctx)
  2464  	req.ApplyOptions(opts...)
  2465  	return out, req.Send()
  2466  }
  2467  
  2468  const opStartDeployment = "StartDeployment"
  2469  
  2470  // StartDeploymentRequest generates a "aws/request.Request" representing the
  2471  // client's request for the StartDeployment operation. The "output" return
  2472  // value will be populated with the request's response once the request completes
  2473  // successfully.
  2474  //
  2475  // Use "Send" method on the returned Request to send the API call to the service.
  2476  // the "output" return value is not valid until after Send returns without error.
  2477  //
  2478  // See StartDeployment for more information on using the StartDeployment
  2479  // API call, and error handling.
  2480  //
  2481  // This method is useful when you want to inject custom logic or configuration
  2482  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2483  //
  2484  //
  2485  //    // Example sending a request using the StartDeploymentRequest method.
  2486  //    req, resp := client.StartDeploymentRequest(params)
  2487  //
  2488  //    err := req.Send()
  2489  //    if err == nil { // resp is now filled
  2490  //        fmt.Println(resp)
  2491  //    }
  2492  //
  2493  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StartDeployment
  2494  func (c *AppConfig) StartDeploymentRequest(input *StartDeploymentInput) (req *request.Request, output *StartDeploymentOutput) {
  2495  	op := &request.Operation{
  2496  		Name:       opStartDeployment,
  2497  		HTTPMethod: "POST",
  2498  		HTTPPath:   "/applications/{ApplicationId}/environments/{EnvironmentId}/deployments",
  2499  	}
  2500  
  2501  	if input == nil {
  2502  		input = &StartDeploymentInput{}
  2503  	}
  2504  
  2505  	output = &StartDeploymentOutput{}
  2506  	req = c.newRequest(op, input, output)
  2507  	return
  2508  }
  2509  
  2510  // StartDeployment API operation for Amazon AppConfig.
  2511  //
  2512  // Starts a deployment.
  2513  //
  2514  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2515  // with awserr.Error's Code and Message methods to get detailed information about
  2516  // the error.
  2517  //
  2518  // See the AWS API reference guide for Amazon AppConfig's
  2519  // API operation StartDeployment for usage and error information.
  2520  //
  2521  // Returned Error Types:
  2522  //   * BadRequestException
  2523  //   The input fails to satisfy the constraints specified by an AWS service.
  2524  //
  2525  //   * ResourceNotFoundException
  2526  //   The requested resource could not be found.
  2527  //
  2528  //   * ConflictException
  2529  //   The request could not be processed because of conflict in the current state
  2530  //   of the resource.
  2531  //
  2532  //   * InternalServerException
  2533  //   There was an internal failure in the AppConfig service.
  2534  //
  2535  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StartDeployment
  2536  func (c *AppConfig) StartDeployment(input *StartDeploymentInput) (*StartDeploymentOutput, error) {
  2537  	req, out := c.StartDeploymentRequest(input)
  2538  	return out, req.Send()
  2539  }
  2540  
  2541  // StartDeploymentWithContext is the same as StartDeployment with the addition of
  2542  // the ability to pass a context and additional request options.
  2543  //
  2544  // See StartDeployment for details on how to use this API operation.
  2545  //
  2546  // The context must be non-nil and will be used for request cancellation. If
  2547  // the context is nil a panic will occur. In the future the SDK may create
  2548  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2549  // for more information on using Contexts.
  2550  func (c *AppConfig) StartDeploymentWithContext(ctx aws.Context, input *StartDeploymentInput, opts ...request.Option) (*StartDeploymentOutput, error) {
  2551  	req, out := c.StartDeploymentRequest(input)
  2552  	req.SetContext(ctx)
  2553  	req.ApplyOptions(opts...)
  2554  	return out, req.Send()
  2555  }
  2556  
  2557  const opStopDeployment = "StopDeployment"
  2558  
  2559  // StopDeploymentRequest generates a "aws/request.Request" representing the
  2560  // client's request for the StopDeployment operation. The "output" return
  2561  // value will be populated with the request's response once the request completes
  2562  // successfully.
  2563  //
  2564  // Use "Send" method on the returned Request to send the API call to the service.
  2565  // the "output" return value is not valid until after Send returns without error.
  2566  //
  2567  // See StopDeployment for more information on using the StopDeployment
  2568  // API call, and error handling.
  2569  //
  2570  // This method is useful when you want to inject custom logic or configuration
  2571  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2572  //
  2573  //
  2574  //    // Example sending a request using the StopDeploymentRequest method.
  2575  //    req, resp := client.StopDeploymentRequest(params)
  2576  //
  2577  //    err := req.Send()
  2578  //    if err == nil { // resp is now filled
  2579  //        fmt.Println(resp)
  2580  //    }
  2581  //
  2582  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StopDeployment
  2583  func (c *AppConfig) StopDeploymentRequest(input *StopDeploymentInput) (req *request.Request, output *StopDeploymentOutput) {
  2584  	op := &request.Operation{
  2585  		Name:       opStopDeployment,
  2586  		HTTPMethod: "DELETE",
  2587  		HTTPPath:   "/applications/{ApplicationId}/environments/{EnvironmentId}/deployments/{DeploymentNumber}",
  2588  	}
  2589  
  2590  	if input == nil {
  2591  		input = &StopDeploymentInput{}
  2592  	}
  2593  
  2594  	output = &StopDeploymentOutput{}
  2595  	req = c.newRequest(op, input, output)
  2596  	return
  2597  }
  2598  
  2599  // StopDeployment API operation for Amazon AppConfig.
  2600  //
  2601  // Stops a deployment. This API action works only on deployments that have a
  2602  // status of DEPLOYING. This action moves the deployment to a status of ROLLED_BACK.
  2603  //
  2604  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2605  // with awserr.Error's Code and Message methods to get detailed information about
  2606  // the error.
  2607  //
  2608  // See the AWS API reference guide for Amazon AppConfig's
  2609  // API operation StopDeployment for usage and error information.
  2610  //
  2611  // Returned Error Types:
  2612  //   * ResourceNotFoundException
  2613  //   The requested resource could not be found.
  2614  //
  2615  //   * InternalServerException
  2616  //   There was an internal failure in the AppConfig service.
  2617  //
  2618  //   * BadRequestException
  2619  //   The input fails to satisfy the constraints specified by an AWS service.
  2620  //
  2621  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StopDeployment
  2622  func (c *AppConfig) StopDeployment(input *StopDeploymentInput) (*StopDeploymentOutput, error) {
  2623  	req, out := c.StopDeploymentRequest(input)
  2624  	return out, req.Send()
  2625  }
  2626  
  2627  // StopDeploymentWithContext is the same as StopDeployment with the addition of
  2628  // the ability to pass a context and additional request options.
  2629  //
  2630  // See StopDeployment for details on how to use this API operation.
  2631  //
  2632  // The context must be non-nil and will be used for request cancellation. If
  2633  // the context is nil a panic will occur. In the future the SDK may create
  2634  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2635  // for more information on using Contexts.
  2636  func (c *AppConfig) StopDeploymentWithContext(ctx aws.Context, input *StopDeploymentInput, opts ...request.Option) (*StopDeploymentOutput, error) {
  2637  	req, out := c.StopDeploymentRequest(input)
  2638  	req.SetContext(ctx)
  2639  	req.ApplyOptions(opts...)
  2640  	return out, req.Send()
  2641  }
  2642  
  2643  const opTagResource = "TagResource"
  2644  
  2645  // TagResourceRequest generates a "aws/request.Request" representing the
  2646  // client's request for the TagResource operation. The "output" return
  2647  // value will be populated with the request's response once the request completes
  2648  // successfully.
  2649  //
  2650  // Use "Send" method on the returned Request to send the API call to the service.
  2651  // the "output" return value is not valid until after Send returns without error.
  2652  //
  2653  // See TagResource for more information on using the TagResource
  2654  // API call, and error handling.
  2655  //
  2656  // This method is useful when you want to inject custom logic or configuration
  2657  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2658  //
  2659  //
  2660  //    // Example sending a request using the TagResourceRequest method.
  2661  //    req, resp := client.TagResourceRequest(params)
  2662  //
  2663  //    err := req.Send()
  2664  //    if err == nil { // resp is now filled
  2665  //        fmt.Println(resp)
  2666  //    }
  2667  //
  2668  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/TagResource
  2669  func (c *AppConfig) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  2670  	op := &request.Operation{
  2671  		Name:       opTagResource,
  2672  		HTTPMethod: "POST",
  2673  		HTTPPath:   "/tags/{ResourceArn}",
  2674  	}
  2675  
  2676  	if input == nil {
  2677  		input = &TagResourceInput{}
  2678  	}
  2679  
  2680  	output = &TagResourceOutput{}
  2681  	req = c.newRequest(op, input, output)
  2682  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2683  	return
  2684  }
  2685  
  2686  // TagResource API operation for Amazon AppConfig.
  2687  //
  2688  // Metadata to assign to an AppConfig resource. Tags help organize and categorize
  2689  // your AppConfig resources. Each tag consists of a key and an optional value,
  2690  // both of which you define. You can specify a maximum of 50 tags for a resource.
  2691  //
  2692  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2693  // with awserr.Error's Code and Message methods to get detailed information about
  2694  // the error.
  2695  //
  2696  // See the AWS API reference guide for Amazon AppConfig's
  2697  // API operation TagResource for usage and error information.
  2698  //
  2699  // Returned Error Types:
  2700  //   * ResourceNotFoundException
  2701  //   The requested resource could not be found.
  2702  //
  2703  //   * BadRequestException
  2704  //   The input fails to satisfy the constraints specified by an AWS service.
  2705  //
  2706  //   * InternalServerException
  2707  //   There was an internal failure in the AppConfig service.
  2708  //
  2709  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/TagResource
  2710  func (c *AppConfig) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  2711  	req, out := c.TagResourceRequest(input)
  2712  	return out, req.Send()
  2713  }
  2714  
  2715  // TagResourceWithContext is the same as TagResource with the addition of
  2716  // the ability to pass a context and additional request options.
  2717  //
  2718  // See TagResource for details on how to use this API operation.
  2719  //
  2720  // The context must be non-nil and will be used for request cancellation. If
  2721  // the context is nil a panic will occur. In the future the SDK may create
  2722  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2723  // for more information on using Contexts.
  2724  func (c *AppConfig) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  2725  	req, out := c.TagResourceRequest(input)
  2726  	req.SetContext(ctx)
  2727  	req.ApplyOptions(opts...)
  2728  	return out, req.Send()
  2729  }
  2730  
  2731  const opUntagResource = "UntagResource"
  2732  
  2733  // UntagResourceRequest generates a "aws/request.Request" representing the
  2734  // client's request for the UntagResource operation. The "output" return
  2735  // value will be populated with the request's response once the request completes
  2736  // successfully.
  2737  //
  2738  // Use "Send" method on the returned Request to send the API call to the service.
  2739  // the "output" return value is not valid until after Send returns without error.
  2740  //
  2741  // See UntagResource for more information on using the UntagResource
  2742  // API call, and error handling.
  2743  //
  2744  // This method is useful when you want to inject custom logic or configuration
  2745  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2746  //
  2747  //
  2748  //    // Example sending a request using the UntagResourceRequest method.
  2749  //    req, resp := client.UntagResourceRequest(params)
  2750  //
  2751  //    err := req.Send()
  2752  //    if err == nil { // resp is now filled
  2753  //        fmt.Println(resp)
  2754  //    }
  2755  //
  2756  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UntagResource
  2757  func (c *AppConfig) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  2758  	op := &request.Operation{
  2759  		Name:       opUntagResource,
  2760  		HTTPMethod: "DELETE",
  2761  		HTTPPath:   "/tags/{ResourceArn}",
  2762  	}
  2763  
  2764  	if input == nil {
  2765  		input = &UntagResourceInput{}
  2766  	}
  2767  
  2768  	output = &UntagResourceOutput{}
  2769  	req = c.newRequest(op, input, output)
  2770  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2771  	return
  2772  }
  2773  
  2774  // UntagResource API operation for Amazon AppConfig.
  2775  //
  2776  // Deletes a tag key and value from an AppConfig resource.
  2777  //
  2778  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2779  // with awserr.Error's Code and Message methods to get detailed information about
  2780  // the error.
  2781  //
  2782  // See the AWS API reference guide for Amazon AppConfig's
  2783  // API operation UntagResource for usage and error information.
  2784  //
  2785  // Returned Error Types:
  2786  //   * ResourceNotFoundException
  2787  //   The requested resource could not be found.
  2788  //
  2789  //   * BadRequestException
  2790  //   The input fails to satisfy the constraints specified by an AWS service.
  2791  //
  2792  //   * InternalServerException
  2793  //   There was an internal failure in the AppConfig service.
  2794  //
  2795  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UntagResource
  2796  func (c *AppConfig) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  2797  	req, out := c.UntagResourceRequest(input)
  2798  	return out, req.Send()
  2799  }
  2800  
  2801  // UntagResourceWithContext is the same as UntagResource with the addition of
  2802  // the ability to pass a context and additional request options.
  2803  //
  2804  // See UntagResource for details on how to use this API operation.
  2805  //
  2806  // The context must be non-nil and will be used for request cancellation. If
  2807  // the context is nil a panic will occur. In the future the SDK may create
  2808  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2809  // for more information on using Contexts.
  2810  func (c *AppConfig) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  2811  	req, out := c.UntagResourceRequest(input)
  2812  	req.SetContext(ctx)
  2813  	req.ApplyOptions(opts...)
  2814  	return out, req.Send()
  2815  }
  2816  
  2817  const opUpdateApplication = "UpdateApplication"
  2818  
  2819  // UpdateApplicationRequest generates a "aws/request.Request" representing the
  2820  // client's request for the UpdateApplication operation. The "output" return
  2821  // value will be populated with the request's response once the request completes
  2822  // successfully.
  2823  //
  2824  // Use "Send" method on the returned Request to send the API call to the service.
  2825  // the "output" return value is not valid until after Send returns without error.
  2826  //
  2827  // See UpdateApplication for more information on using the UpdateApplication
  2828  // API call, and error handling.
  2829  //
  2830  // This method is useful when you want to inject custom logic or configuration
  2831  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2832  //
  2833  //
  2834  //    // Example sending a request using the UpdateApplicationRequest method.
  2835  //    req, resp := client.UpdateApplicationRequest(params)
  2836  //
  2837  //    err := req.Send()
  2838  //    if err == nil { // resp is now filled
  2839  //        fmt.Println(resp)
  2840  //    }
  2841  //
  2842  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateApplication
  2843  func (c *AppConfig) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) {
  2844  	op := &request.Operation{
  2845  		Name:       opUpdateApplication,
  2846  		HTTPMethod: "PATCH",
  2847  		HTTPPath:   "/applications/{ApplicationId}",
  2848  	}
  2849  
  2850  	if input == nil {
  2851  		input = &UpdateApplicationInput{}
  2852  	}
  2853  
  2854  	output = &UpdateApplicationOutput{}
  2855  	req = c.newRequest(op, input, output)
  2856  	return
  2857  }
  2858  
  2859  // UpdateApplication API operation for Amazon AppConfig.
  2860  //
  2861  // Updates an application.
  2862  //
  2863  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2864  // with awserr.Error's Code and Message methods to get detailed information about
  2865  // the error.
  2866  //
  2867  // See the AWS API reference guide for Amazon AppConfig's
  2868  // API operation UpdateApplication for usage and error information.
  2869  //
  2870  // Returned Error Types:
  2871  //   * BadRequestException
  2872  //   The input fails to satisfy the constraints specified by an AWS service.
  2873  //
  2874  //   * ResourceNotFoundException
  2875  //   The requested resource could not be found.
  2876  //
  2877  //   * InternalServerException
  2878  //   There was an internal failure in the AppConfig service.
  2879  //
  2880  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateApplication
  2881  func (c *AppConfig) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) {
  2882  	req, out := c.UpdateApplicationRequest(input)
  2883  	return out, req.Send()
  2884  }
  2885  
  2886  // UpdateApplicationWithContext is the same as UpdateApplication with the addition of
  2887  // the ability to pass a context and additional request options.
  2888  //
  2889  // See UpdateApplication for details on how to use this API operation.
  2890  //
  2891  // The context must be non-nil and will be used for request cancellation. If
  2892  // the context is nil a panic will occur. In the future the SDK may create
  2893  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2894  // for more information on using Contexts.
  2895  func (c *AppConfig) UpdateApplicationWithContext(ctx aws.Context, input *UpdateApplicationInput, opts ...request.Option) (*UpdateApplicationOutput, error) {
  2896  	req, out := c.UpdateApplicationRequest(input)
  2897  	req.SetContext(ctx)
  2898  	req.ApplyOptions(opts...)
  2899  	return out, req.Send()
  2900  }
  2901  
  2902  const opUpdateConfigurationProfile = "UpdateConfigurationProfile"
  2903  
  2904  // UpdateConfigurationProfileRequest generates a "aws/request.Request" representing the
  2905  // client's request for the UpdateConfigurationProfile operation. The "output" return
  2906  // value will be populated with the request's response once the request completes
  2907  // successfully.
  2908  //
  2909  // Use "Send" method on the returned Request to send the API call to the service.
  2910  // the "output" return value is not valid until after Send returns without error.
  2911  //
  2912  // See UpdateConfigurationProfile for more information on using the UpdateConfigurationProfile
  2913  // API call, and error handling.
  2914  //
  2915  // This method is useful when you want to inject custom logic or configuration
  2916  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2917  //
  2918  //
  2919  //    // Example sending a request using the UpdateConfigurationProfileRequest method.
  2920  //    req, resp := client.UpdateConfigurationProfileRequest(params)
  2921  //
  2922  //    err := req.Send()
  2923  //    if err == nil { // resp is now filled
  2924  //        fmt.Println(resp)
  2925  //    }
  2926  //
  2927  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateConfigurationProfile
  2928  func (c *AppConfig) UpdateConfigurationProfileRequest(input *UpdateConfigurationProfileInput) (req *request.Request, output *UpdateConfigurationProfileOutput) {
  2929  	op := &request.Operation{
  2930  		Name:       opUpdateConfigurationProfile,
  2931  		HTTPMethod: "PATCH",
  2932  		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}",
  2933  	}
  2934  
  2935  	if input == nil {
  2936  		input = &UpdateConfigurationProfileInput{}
  2937  	}
  2938  
  2939  	output = &UpdateConfigurationProfileOutput{}
  2940  	req = c.newRequest(op, input, output)
  2941  	return
  2942  }
  2943  
  2944  // UpdateConfigurationProfile API operation for Amazon AppConfig.
  2945  //
  2946  // Updates a configuration profile.
  2947  //
  2948  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2949  // with awserr.Error's Code and Message methods to get detailed information about
  2950  // the error.
  2951  //
  2952  // See the AWS API reference guide for Amazon AppConfig's
  2953  // API operation UpdateConfigurationProfile for usage and error information.
  2954  //
  2955  // Returned Error Types:
  2956  //   * BadRequestException
  2957  //   The input fails to satisfy the constraints specified by an AWS service.
  2958  //
  2959  //   * ResourceNotFoundException
  2960  //   The requested resource could not be found.
  2961  //
  2962  //   * InternalServerException
  2963  //   There was an internal failure in the AppConfig service.
  2964  //
  2965  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateConfigurationProfile
  2966  func (c *AppConfig) UpdateConfigurationProfile(input *UpdateConfigurationProfileInput) (*UpdateConfigurationProfileOutput, error) {
  2967  	req, out := c.UpdateConfigurationProfileRequest(input)
  2968  	return out, req.Send()
  2969  }
  2970  
  2971  // UpdateConfigurationProfileWithContext is the same as UpdateConfigurationProfile with the addition of
  2972  // the ability to pass a context and additional request options.
  2973  //
  2974  // See UpdateConfigurationProfile for details on how to use this API operation.
  2975  //
  2976  // The context must be non-nil and will be used for request cancellation. If
  2977  // the context is nil a panic will occur. In the future the SDK may create
  2978  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2979  // for more information on using Contexts.
  2980  func (c *AppConfig) UpdateConfigurationProfileWithContext(ctx aws.Context, input *UpdateConfigurationProfileInput, opts ...request.Option) (*UpdateConfigurationProfileOutput, error) {
  2981  	req, out := c.UpdateConfigurationProfileRequest(input)
  2982  	req.SetContext(ctx)
  2983  	req.ApplyOptions(opts...)
  2984  	return out, req.Send()
  2985  }
  2986  
  2987  const opUpdateDeploymentStrategy = "UpdateDeploymentStrategy"
  2988  
  2989  // UpdateDeploymentStrategyRequest generates a "aws/request.Request" representing the
  2990  // client's request for the UpdateDeploymentStrategy operation. The "output" return
  2991  // value will be populated with the request's response once the request completes
  2992  // successfully.
  2993  //
  2994  // Use "Send" method on the returned Request to send the API call to the service.
  2995  // the "output" return value is not valid until after Send returns without error.
  2996  //
  2997  // See UpdateDeploymentStrategy for more information on using the UpdateDeploymentStrategy
  2998  // API call, and error handling.
  2999  //
  3000  // This method is useful when you want to inject custom logic or configuration
  3001  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3002  //
  3003  //
  3004  //    // Example sending a request using the UpdateDeploymentStrategyRequest method.
  3005  //    req, resp := client.UpdateDeploymentStrategyRequest(params)
  3006  //
  3007  //    err := req.Send()
  3008  //    if err == nil { // resp is now filled
  3009  //        fmt.Println(resp)
  3010  //    }
  3011  //
  3012  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateDeploymentStrategy
  3013  func (c *AppConfig) UpdateDeploymentStrategyRequest(input *UpdateDeploymentStrategyInput) (req *request.Request, output *UpdateDeploymentStrategyOutput) {
  3014  	op := &request.Operation{
  3015  		Name:       opUpdateDeploymentStrategy,
  3016  		HTTPMethod: "PATCH",
  3017  		HTTPPath:   "/deploymentstrategies/{DeploymentStrategyId}",
  3018  	}
  3019  
  3020  	if input == nil {
  3021  		input = &UpdateDeploymentStrategyInput{}
  3022  	}
  3023  
  3024  	output = &UpdateDeploymentStrategyOutput{}
  3025  	req = c.newRequest(op, input, output)
  3026  	return
  3027  }
  3028  
  3029  // UpdateDeploymentStrategy API operation for Amazon AppConfig.
  3030  //
  3031  // Updates a deployment strategy.
  3032  //
  3033  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3034  // with awserr.Error's Code and Message methods to get detailed information about
  3035  // the error.
  3036  //
  3037  // See the AWS API reference guide for Amazon AppConfig's
  3038  // API operation UpdateDeploymentStrategy for usage and error information.
  3039  //
  3040  // Returned Error Types:
  3041  //   * BadRequestException
  3042  //   The input fails to satisfy the constraints specified by an AWS service.
  3043  //
  3044  //   * ResourceNotFoundException
  3045  //   The requested resource could not be found.
  3046  //
  3047  //   * InternalServerException
  3048  //   There was an internal failure in the AppConfig service.
  3049  //
  3050  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateDeploymentStrategy
  3051  func (c *AppConfig) UpdateDeploymentStrategy(input *UpdateDeploymentStrategyInput) (*UpdateDeploymentStrategyOutput, error) {
  3052  	req, out := c.UpdateDeploymentStrategyRequest(input)
  3053  	return out, req.Send()
  3054  }
  3055  
  3056  // UpdateDeploymentStrategyWithContext is the same as UpdateDeploymentStrategy with the addition of
  3057  // the ability to pass a context and additional request options.
  3058  //
  3059  // See UpdateDeploymentStrategy for details on how to use this API operation.
  3060  //
  3061  // The context must be non-nil and will be used for request cancellation. If
  3062  // the context is nil a panic will occur. In the future the SDK may create
  3063  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3064  // for more information on using Contexts.
  3065  func (c *AppConfig) UpdateDeploymentStrategyWithContext(ctx aws.Context, input *UpdateDeploymentStrategyInput, opts ...request.Option) (*UpdateDeploymentStrategyOutput, error) {
  3066  	req, out := c.UpdateDeploymentStrategyRequest(input)
  3067  	req.SetContext(ctx)
  3068  	req.ApplyOptions(opts...)
  3069  	return out, req.Send()
  3070  }
  3071  
  3072  const opUpdateEnvironment = "UpdateEnvironment"
  3073  
  3074  // UpdateEnvironmentRequest generates a "aws/request.Request" representing the
  3075  // client's request for the UpdateEnvironment operation. The "output" return
  3076  // value will be populated with the request's response once the request completes
  3077  // successfully.
  3078  //
  3079  // Use "Send" method on the returned Request to send the API call to the service.
  3080  // the "output" return value is not valid until after Send returns without error.
  3081  //
  3082  // See UpdateEnvironment for more information on using the UpdateEnvironment
  3083  // API call, and error handling.
  3084  //
  3085  // This method is useful when you want to inject custom logic or configuration
  3086  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3087  //
  3088  //
  3089  //    // Example sending a request using the UpdateEnvironmentRequest method.
  3090  //    req, resp := client.UpdateEnvironmentRequest(params)
  3091  //
  3092  //    err := req.Send()
  3093  //    if err == nil { // resp is now filled
  3094  //        fmt.Println(resp)
  3095  //    }
  3096  //
  3097  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateEnvironment
  3098  func (c *AppConfig) UpdateEnvironmentRequest(input *UpdateEnvironmentInput) (req *request.Request, output *UpdateEnvironmentOutput) {
  3099  	op := &request.Operation{
  3100  		Name:       opUpdateEnvironment,
  3101  		HTTPMethod: "PATCH",
  3102  		HTTPPath:   "/applications/{ApplicationId}/environments/{EnvironmentId}",
  3103  	}
  3104  
  3105  	if input == nil {
  3106  		input = &UpdateEnvironmentInput{}
  3107  	}
  3108  
  3109  	output = &UpdateEnvironmentOutput{}
  3110  	req = c.newRequest(op, input, output)
  3111  	return
  3112  }
  3113  
  3114  // UpdateEnvironment API operation for Amazon AppConfig.
  3115  //
  3116  // Updates an environment.
  3117  //
  3118  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3119  // with awserr.Error's Code and Message methods to get detailed information about
  3120  // the error.
  3121  //
  3122  // See the AWS API reference guide for Amazon AppConfig's
  3123  // API operation UpdateEnvironment for usage and error information.
  3124  //
  3125  // Returned Error Types:
  3126  //   * BadRequestException
  3127  //   The input fails to satisfy the constraints specified by an AWS service.
  3128  //
  3129  //   * ResourceNotFoundException
  3130  //   The requested resource could not be found.
  3131  //
  3132  //   * InternalServerException
  3133  //   There was an internal failure in the AppConfig service.
  3134  //
  3135  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateEnvironment
  3136  func (c *AppConfig) UpdateEnvironment(input *UpdateEnvironmentInput) (*UpdateEnvironmentOutput, error) {
  3137  	req, out := c.UpdateEnvironmentRequest(input)
  3138  	return out, req.Send()
  3139  }
  3140  
  3141  // UpdateEnvironmentWithContext is the same as UpdateEnvironment with the addition of
  3142  // the ability to pass a context and additional request options.
  3143  //
  3144  // See UpdateEnvironment for details on how to use this API operation.
  3145  //
  3146  // The context must be non-nil and will be used for request cancellation. If
  3147  // the context is nil a panic will occur. In the future the SDK may create
  3148  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3149  // for more information on using Contexts.
  3150  func (c *AppConfig) UpdateEnvironmentWithContext(ctx aws.Context, input *UpdateEnvironmentInput, opts ...request.Option) (*UpdateEnvironmentOutput, error) {
  3151  	req, out := c.UpdateEnvironmentRequest(input)
  3152  	req.SetContext(ctx)
  3153  	req.ApplyOptions(opts...)
  3154  	return out, req.Send()
  3155  }
  3156  
  3157  const opValidateConfiguration = "ValidateConfiguration"
  3158  
  3159  // ValidateConfigurationRequest generates a "aws/request.Request" representing the
  3160  // client's request for the ValidateConfiguration operation. The "output" return
  3161  // value will be populated with the request's response once the request completes
  3162  // successfully.
  3163  //
  3164  // Use "Send" method on the returned Request to send the API call to the service.
  3165  // the "output" return value is not valid until after Send returns without error.
  3166  //
  3167  // See ValidateConfiguration for more information on using the ValidateConfiguration
  3168  // API call, and error handling.
  3169  //
  3170  // This method is useful when you want to inject custom logic or configuration
  3171  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3172  //
  3173  //
  3174  //    // Example sending a request using the ValidateConfigurationRequest method.
  3175  //    req, resp := client.ValidateConfigurationRequest(params)
  3176  //
  3177  //    err := req.Send()
  3178  //    if err == nil { // resp is now filled
  3179  //        fmt.Println(resp)
  3180  //    }
  3181  //
  3182  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ValidateConfiguration
  3183  func (c *AppConfig) ValidateConfigurationRequest(input *ValidateConfigurationInput) (req *request.Request, output *ValidateConfigurationOutput) {
  3184  	op := &request.Operation{
  3185  		Name:       opValidateConfiguration,
  3186  		HTTPMethod: "POST",
  3187  		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/validators",
  3188  	}
  3189  
  3190  	if input == nil {
  3191  		input = &ValidateConfigurationInput{}
  3192  	}
  3193  
  3194  	output = &ValidateConfigurationOutput{}
  3195  	req = c.newRequest(op, input, output)
  3196  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3197  	return
  3198  }
  3199  
  3200  // ValidateConfiguration API operation for Amazon AppConfig.
  3201  //
  3202  // Uses the validators in a configuration profile to validate a configuration.
  3203  //
  3204  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3205  // with awserr.Error's Code and Message methods to get detailed information about
  3206  // the error.
  3207  //
  3208  // See the AWS API reference guide for Amazon AppConfig's
  3209  // API operation ValidateConfiguration for usage and error information.
  3210  //
  3211  // Returned Error Types:
  3212  //   * BadRequestException
  3213  //   The input fails to satisfy the constraints specified by an AWS service.
  3214  //
  3215  //   * ResourceNotFoundException
  3216  //   The requested resource could not be found.
  3217  //
  3218  //   * InternalServerException
  3219  //   There was an internal failure in the AppConfig service.
  3220  //
  3221  // See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ValidateConfiguration
  3222  func (c *AppConfig) ValidateConfiguration(input *ValidateConfigurationInput) (*ValidateConfigurationOutput, error) {
  3223  	req, out := c.ValidateConfigurationRequest(input)
  3224  	return out, req.Send()
  3225  }
  3226  
  3227  // ValidateConfigurationWithContext is the same as ValidateConfiguration with the addition of
  3228  // the ability to pass a context and additional request options.
  3229  //
  3230  // See ValidateConfiguration for details on how to use this API operation.
  3231  //
  3232  // The context must be non-nil and will be used for request cancellation. If
  3233  // the context is nil a panic will occur. In the future the SDK may create
  3234  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3235  // for more information on using Contexts.
  3236  func (c *AppConfig) ValidateConfigurationWithContext(ctx aws.Context, input *ValidateConfigurationInput, opts ...request.Option) (*ValidateConfigurationOutput, error) {
  3237  	req, out := c.ValidateConfigurationRequest(input)
  3238  	req.SetContext(ctx)
  3239  	req.ApplyOptions(opts...)
  3240  	return out, req.Send()
  3241  }
  3242  
  3243  type Application struct {
  3244  	_ struct{} `type:"structure"`
  3245  
  3246  	// The description of the application.
  3247  	Description *string `type:"string"`
  3248  
  3249  	// The application ID.
  3250  	Id *string `type:"string"`
  3251  
  3252  	// The application name.
  3253  	Name *string `min:"1" type:"string"`
  3254  }
  3255  
  3256  // String returns the string representation.
  3257  //
  3258  // API parameter values that are decorated as "sensitive" in the API will not
  3259  // be included in the string output. The member name will be present, but the
  3260  // value will be replaced with "sensitive".
  3261  func (s Application) String() string {
  3262  	return awsutil.Prettify(s)
  3263  }
  3264  
  3265  // GoString returns the string representation.
  3266  //
  3267  // API parameter values that are decorated as "sensitive" in the API will not
  3268  // be included in the string output. The member name will be present, but the
  3269  // value will be replaced with "sensitive".
  3270  func (s Application) GoString() string {
  3271  	return s.String()
  3272  }
  3273  
  3274  // SetDescription sets the Description field's value.
  3275  func (s *Application) SetDescription(v string) *Application {
  3276  	s.Description = &v
  3277  	return s
  3278  }
  3279  
  3280  // SetId sets the Id field's value.
  3281  func (s *Application) SetId(v string) *Application {
  3282  	s.Id = &v
  3283  	return s
  3284  }
  3285  
  3286  // SetName sets the Name field's value.
  3287  func (s *Application) SetName(v string) *Application {
  3288  	s.Name = &v
  3289  	return s
  3290  }
  3291  
  3292  // The input fails to satisfy the constraints specified by an AWS service.
  3293  type BadRequestException struct {
  3294  	_            struct{}                  `type:"structure"`
  3295  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3296  
  3297  	Message_ *string `locationName:"Message" type:"string"`
  3298  }
  3299  
  3300  // String returns the string representation.
  3301  //
  3302  // API parameter values that are decorated as "sensitive" in the API will not
  3303  // be included in the string output. The member name will be present, but the
  3304  // value will be replaced with "sensitive".
  3305  func (s BadRequestException) String() string {
  3306  	return awsutil.Prettify(s)
  3307  }
  3308  
  3309  // GoString returns the string representation.
  3310  //
  3311  // API parameter values that are decorated as "sensitive" in the API will not
  3312  // be included in the string output. The member name will be present, but the
  3313  // value will be replaced with "sensitive".
  3314  func (s BadRequestException) GoString() string {
  3315  	return s.String()
  3316  }
  3317  
  3318  func newErrorBadRequestException(v protocol.ResponseMetadata) error {
  3319  	return &BadRequestException{
  3320  		RespMetadata: v,
  3321  	}
  3322  }
  3323  
  3324  // Code returns the exception type name.
  3325  func (s *BadRequestException) Code() string {
  3326  	return "BadRequestException"
  3327  }
  3328  
  3329  // Message returns the exception's message.
  3330  func (s *BadRequestException) Message() string {
  3331  	if s.Message_ != nil {
  3332  		return *s.Message_
  3333  	}
  3334  	return ""
  3335  }
  3336  
  3337  // OrigErr always returns nil, satisfies awserr.Error interface.
  3338  func (s *BadRequestException) OrigErr() error {
  3339  	return nil
  3340  }
  3341  
  3342  func (s *BadRequestException) Error() string {
  3343  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3344  }
  3345  
  3346  // Status code returns the HTTP status code for the request's response error.
  3347  func (s *BadRequestException) StatusCode() int {
  3348  	return s.RespMetadata.StatusCode
  3349  }
  3350  
  3351  // RequestID returns the service's response RequestID for request.
  3352  func (s *BadRequestException) RequestID() string {
  3353  	return s.RespMetadata.RequestID
  3354  }
  3355  
  3356  // A summary of a configuration profile.
  3357  type ConfigurationProfileSummary struct {
  3358  	_ struct{} `type:"structure"`
  3359  
  3360  	// The application ID.
  3361  	ApplicationId *string `type:"string"`
  3362  
  3363  	// The ID of the configuration profile.
  3364  	Id *string `type:"string"`
  3365  
  3366  	// The URI location of the configuration.
  3367  	LocationUri *string `min:"1" type:"string"`
  3368  
  3369  	// The name of the configuration profile.
  3370  	Name *string `min:"1" type:"string"`
  3371  
  3372  	// The types of validators in the configuration profile.
  3373  	ValidatorTypes []*string `type:"list"`
  3374  }
  3375  
  3376  // String returns the string representation.
  3377  //
  3378  // API parameter values that are decorated as "sensitive" in the API will not
  3379  // be included in the string output. The member name will be present, but the
  3380  // value will be replaced with "sensitive".
  3381  func (s ConfigurationProfileSummary) String() string {
  3382  	return awsutil.Prettify(s)
  3383  }
  3384  
  3385  // GoString returns the string representation.
  3386  //
  3387  // API parameter values that are decorated as "sensitive" in the API will not
  3388  // be included in the string output. The member name will be present, but the
  3389  // value will be replaced with "sensitive".
  3390  func (s ConfigurationProfileSummary) GoString() string {
  3391  	return s.String()
  3392  }
  3393  
  3394  // SetApplicationId sets the ApplicationId field's value.
  3395  func (s *ConfigurationProfileSummary) SetApplicationId(v string) *ConfigurationProfileSummary {
  3396  	s.ApplicationId = &v
  3397  	return s
  3398  }
  3399  
  3400  // SetId sets the Id field's value.
  3401  func (s *ConfigurationProfileSummary) SetId(v string) *ConfigurationProfileSummary {
  3402  	s.Id = &v
  3403  	return s
  3404  }
  3405  
  3406  // SetLocationUri sets the LocationUri field's value.
  3407  func (s *ConfigurationProfileSummary) SetLocationUri(v string) *ConfigurationProfileSummary {
  3408  	s.LocationUri = &v
  3409  	return s
  3410  }
  3411  
  3412  // SetName sets the Name field's value.
  3413  func (s *ConfigurationProfileSummary) SetName(v string) *ConfigurationProfileSummary {
  3414  	s.Name = &v
  3415  	return s
  3416  }
  3417  
  3418  // SetValidatorTypes sets the ValidatorTypes field's value.
  3419  func (s *ConfigurationProfileSummary) SetValidatorTypes(v []*string) *ConfigurationProfileSummary {
  3420  	s.ValidatorTypes = v
  3421  	return s
  3422  }
  3423  
  3424  // The request could not be processed because of conflict in the current state
  3425  // of the resource.
  3426  type ConflictException struct {
  3427  	_            struct{}                  `type:"structure"`
  3428  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3429  
  3430  	Message_ *string `locationName:"Message" type:"string"`
  3431  }
  3432  
  3433  // String returns the string representation.
  3434  //
  3435  // API parameter values that are decorated as "sensitive" in the API will not
  3436  // be included in the string output. The member name will be present, but the
  3437  // value will be replaced with "sensitive".
  3438  func (s ConflictException) String() string {
  3439  	return awsutil.Prettify(s)
  3440  }
  3441  
  3442  // GoString returns the string representation.
  3443  //
  3444  // API parameter values that are decorated as "sensitive" in the API will not
  3445  // be included in the string output. The member name will be present, but the
  3446  // value will be replaced with "sensitive".
  3447  func (s ConflictException) GoString() string {
  3448  	return s.String()
  3449  }
  3450  
  3451  func newErrorConflictException(v protocol.ResponseMetadata) error {
  3452  	return &ConflictException{
  3453  		RespMetadata: v,
  3454  	}
  3455  }
  3456  
  3457  // Code returns the exception type name.
  3458  func (s *ConflictException) Code() string {
  3459  	return "ConflictException"
  3460  }
  3461  
  3462  // Message returns the exception's message.
  3463  func (s *ConflictException) Message() string {
  3464  	if s.Message_ != nil {
  3465  		return *s.Message_
  3466  	}
  3467  	return ""
  3468  }
  3469  
  3470  // OrigErr always returns nil, satisfies awserr.Error interface.
  3471  func (s *ConflictException) OrigErr() error {
  3472  	return nil
  3473  }
  3474  
  3475  func (s *ConflictException) Error() string {
  3476  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3477  }
  3478  
  3479  // Status code returns the HTTP status code for the request's response error.
  3480  func (s *ConflictException) StatusCode() int {
  3481  	return s.RespMetadata.StatusCode
  3482  }
  3483  
  3484  // RequestID returns the service's response RequestID for request.
  3485  func (s *ConflictException) RequestID() string {
  3486  	return s.RespMetadata.RequestID
  3487  }
  3488  
  3489  type CreateApplicationInput struct {
  3490  	_ struct{} `type:"structure"`
  3491  
  3492  	// A description of the application.
  3493  	Description *string `type:"string"`
  3494  
  3495  	// A name for the application.
  3496  	//
  3497  	// Name is a required field
  3498  	Name *string `min:"1" type:"string" required:"true"`
  3499  
  3500  	// Metadata to assign to the application. Tags help organize and categorize
  3501  	// your AppConfig resources. Each tag consists of a key and an optional value,
  3502  	// both of which you define.
  3503  	Tags map[string]*string `type:"map"`
  3504  }
  3505  
  3506  // String returns the string representation.
  3507  //
  3508  // API parameter values that are decorated as "sensitive" in the API will not
  3509  // be included in the string output. The member name will be present, but the
  3510  // value will be replaced with "sensitive".
  3511  func (s CreateApplicationInput) String() string {
  3512  	return awsutil.Prettify(s)
  3513  }
  3514  
  3515  // GoString returns the string representation.
  3516  //
  3517  // API parameter values that are decorated as "sensitive" in the API will not
  3518  // be included in the string output. The member name will be present, but the
  3519  // value will be replaced with "sensitive".
  3520  func (s CreateApplicationInput) GoString() string {
  3521  	return s.String()
  3522  }
  3523  
  3524  // Validate inspects the fields of the type to determine if they are valid.
  3525  func (s *CreateApplicationInput) Validate() error {
  3526  	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"}
  3527  	if s.Name == nil {
  3528  		invalidParams.Add(request.NewErrParamRequired("Name"))
  3529  	}
  3530  	if s.Name != nil && len(*s.Name) < 1 {
  3531  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  3532  	}
  3533  
  3534  	if invalidParams.Len() > 0 {
  3535  		return invalidParams
  3536  	}
  3537  	return nil
  3538  }
  3539  
  3540  // SetDescription sets the Description field's value.
  3541  func (s *CreateApplicationInput) SetDescription(v string) *CreateApplicationInput {
  3542  	s.Description = &v
  3543  	return s
  3544  }
  3545  
  3546  // SetName sets the Name field's value.
  3547  func (s *CreateApplicationInput) SetName(v string) *CreateApplicationInput {
  3548  	s.Name = &v
  3549  	return s
  3550  }
  3551  
  3552  // SetTags sets the Tags field's value.
  3553  func (s *CreateApplicationInput) SetTags(v map[string]*string) *CreateApplicationInput {
  3554  	s.Tags = v
  3555  	return s
  3556  }
  3557  
  3558  type CreateApplicationOutput struct {
  3559  	_ struct{} `type:"structure"`
  3560  
  3561  	// The description of the application.
  3562  	Description *string `type:"string"`
  3563  
  3564  	// The application ID.
  3565  	Id *string `type:"string"`
  3566  
  3567  	// The application name.
  3568  	Name *string `min:"1" type:"string"`
  3569  }
  3570  
  3571  // String returns the string representation.
  3572  //
  3573  // API parameter values that are decorated as "sensitive" in the API will not
  3574  // be included in the string output. The member name will be present, but the
  3575  // value will be replaced with "sensitive".
  3576  func (s CreateApplicationOutput) String() string {
  3577  	return awsutil.Prettify(s)
  3578  }
  3579  
  3580  // GoString returns the string representation.
  3581  //
  3582  // API parameter values that are decorated as "sensitive" in the API will not
  3583  // be included in the string output. The member name will be present, but the
  3584  // value will be replaced with "sensitive".
  3585  func (s CreateApplicationOutput) GoString() string {
  3586  	return s.String()
  3587  }
  3588  
  3589  // SetDescription sets the Description field's value.
  3590  func (s *CreateApplicationOutput) SetDescription(v string) *CreateApplicationOutput {
  3591  	s.Description = &v
  3592  	return s
  3593  }
  3594  
  3595  // SetId sets the Id field's value.
  3596  func (s *CreateApplicationOutput) SetId(v string) *CreateApplicationOutput {
  3597  	s.Id = &v
  3598  	return s
  3599  }
  3600  
  3601  // SetName sets the Name field's value.
  3602  func (s *CreateApplicationOutput) SetName(v string) *CreateApplicationOutput {
  3603  	s.Name = &v
  3604  	return s
  3605  }
  3606  
  3607  type CreateConfigurationProfileInput struct {
  3608  	_ struct{} `type:"structure"`
  3609  
  3610  	// The application ID.
  3611  	//
  3612  	// ApplicationId is a required field
  3613  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  3614  
  3615  	// A description of the configuration profile.
  3616  	Description *string `type:"string"`
  3617  
  3618  	// A URI to locate the configuration. You can specify a Systems Manager (SSM)
  3619  	// document, an SSM Parameter Store parameter, or an Amazon S3 object. For an
  3620  	// SSM document, specify either the document name in the format ssm-document://<Document_name>
  3621  	// or the Amazon Resource Name (ARN). For a parameter, specify either the parameter
  3622  	// name in the format ssm-parameter://<Parameter_name> or the ARN. For an Amazon
  3623  	// S3 object, specify the URI in the following format: s3://<bucket>/<objectKey>
  3624  	// . Here is an example: s3://my-bucket/my-app/us-east-1/my-config.json
  3625  	//
  3626  	// LocationUri is a required field
  3627  	LocationUri *string `min:"1" type:"string" required:"true"`
  3628  
  3629  	// A name for the configuration profile.
  3630  	//
  3631  	// Name is a required field
  3632  	Name *string `min:"1" type:"string" required:"true"`
  3633  
  3634  	// The ARN of an IAM role with permission to access the configuration at the
  3635  	// specified LocationUri.
  3636  	RetrievalRoleArn *string `min:"20" type:"string"`
  3637  
  3638  	// Metadata to assign to the configuration profile. Tags help organize and categorize
  3639  	// your AppConfig resources. Each tag consists of a key and an optional value,
  3640  	// both of which you define.
  3641  	Tags map[string]*string `type:"map"`
  3642  
  3643  	// A list of methods for validating the configuration.
  3644  	Validators []*Validator `type:"list"`
  3645  }
  3646  
  3647  // String returns the string representation.
  3648  //
  3649  // API parameter values that are decorated as "sensitive" in the API will not
  3650  // be included in the string output. The member name will be present, but the
  3651  // value will be replaced with "sensitive".
  3652  func (s CreateConfigurationProfileInput) String() string {
  3653  	return awsutil.Prettify(s)
  3654  }
  3655  
  3656  // GoString returns the string representation.
  3657  //
  3658  // API parameter values that are decorated as "sensitive" in the API will not
  3659  // be included in the string output. The member name will be present, but the
  3660  // value will be replaced with "sensitive".
  3661  func (s CreateConfigurationProfileInput) GoString() string {
  3662  	return s.String()
  3663  }
  3664  
  3665  // Validate inspects the fields of the type to determine if they are valid.
  3666  func (s *CreateConfigurationProfileInput) Validate() error {
  3667  	invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationProfileInput"}
  3668  	if s.ApplicationId == nil {
  3669  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  3670  	}
  3671  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  3672  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  3673  	}
  3674  	if s.LocationUri == nil {
  3675  		invalidParams.Add(request.NewErrParamRequired("LocationUri"))
  3676  	}
  3677  	if s.LocationUri != nil && len(*s.LocationUri) < 1 {
  3678  		invalidParams.Add(request.NewErrParamMinLen("LocationUri", 1))
  3679  	}
  3680  	if s.Name == nil {
  3681  		invalidParams.Add(request.NewErrParamRequired("Name"))
  3682  	}
  3683  	if s.Name != nil && len(*s.Name) < 1 {
  3684  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  3685  	}
  3686  	if s.RetrievalRoleArn != nil && len(*s.RetrievalRoleArn) < 20 {
  3687  		invalidParams.Add(request.NewErrParamMinLen("RetrievalRoleArn", 20))
  3688  	}
  3689  	if s.Validators != nil {
  3690  		for i, v := range s.Validators {
  3691  			if v == nil {
  3692  				continue
  3693  			}
  3694  			if err := v.Validate(); err != nil {
  3695  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Validators", i), err.(request.ErrInvalidParams))
  3696  			}
  3697  		}
  3698  	}
  3699  
  3700  	if invalidParams.Len() > 0 {
  3701  		return invalidParams
  3702  	}
  3703  	return nil
  3704  }
  3705  
  3706  // SetApplicationId sets the ApplicationId field's value.
  3707  func (s *CreateConfigurationProfileInput) SetApplicationId(v string) *CreateConfigurationProfileInput {
  3708  	s.ApplicationId = &v
  3709  	return s
  3710  }
  3711  
  3712  // SetDescription sets the Description field's value.
  3713  func (s *CreateConfigurationProfileInput) SetDescription(v string) *CreateConfigurationProfileInput {
  3714  	s.Description = &v
  3715  	return s
  3716  }
  3717  
  3718  // SetLocationUri sets the LocationUri field's value.
  3719  func (s *CreateConfigurationProfileInput) SetLocationUri(v string) *CreateConfigurationProfileInput {
  3720  	s.LocationUri = &v
  3721  	return s
  3722  }
  3723  
  3724  // SetName sets the Name field's value.
  3725  func (s *CreateConfigurationProfileInput) SetName(v string) *CreateConfigurationProfileInput {
  3726  	s.Name = &v
  3727  	return s
  3728  }
  3729  
  3730  // SetRetrievalRoleArn sets the RetrievalRoleArn field's value.
  3731  func (s *CreateConfigurationProfileInput) SetRetrievalRoleArn(v string) *CreateConfigurationProfileInput {
  3732  	s.RetrievalRoleArn = &v
  3733  	return s
  3734  }
  3735  
  3736  // SetTags sets the Tags field's value.
  3737  func (s *CreateConfigurationProfileInput) SetTags(v map[string]*string) *CreateConfigurationProfileInput {
  3738  	s.Tags = v
  3739  	return s
  3740  }
  3741  
  3742  // SetValidators sets the Validators field's value.
  3743  func (s *CreateConfigurationProfileInput) SetValidators(v []*Validator) *CreateConfigurationProfileInput {
  3744  	s.Validators = v
  3745  	return s
  3746  }
  3747  
  3748  type CreateConfigurationProfileOutput struct {
  3749  	_ struct{} `type:"structure"`
  3750  
  3751  	// The application ID.
  3752  	ApplicationId *string `type:"string"`
  3753  
  3754  	// The configuration profile description.
  3755  	Description *string `type:"string"`
  3756  
  3757  	// The configuration profile ID.
  3758  	Id *string `type:"string"`
  3759  
  3760  	// The URI location of the configuration.
  3761  	LocationUri *string `min:"1" type:"string"`
  3762  
  3763  	// The name of the configuration profile.
  3764  	Name *string `min:"1" type:"string"`
  3765  
  3766  	// The ARN of an IAM role with permission to access the configuration at the
  3767  	// specified LocationUri.
  3768  	RetrievalRoleArn *string `min:"20" type:"string"`
  3769  
  3770  	// A list of methods for validating the configuration.
  3771  	Validators []*Validator `type:"list"`
  3772  }
  3773  
  3774  // String returns the string representation.
  3775  //
  3776  // API parameter values that are decorated as "sensitive" in the API will not
  3777  // be included in the string output. The member name will be present, but the
  3778  // value will be replaced with "sensitive".
  3779  func (s CreateConfigurationProfileOutput) String() string {
  3780  	return awsutil.Prettify(s)
  3781  }
  3782  
  3783  // GoString returns the string representation.
  3784  //
  3785  // API parameter values that are decorated as "sensitive" in the API will not
  3786  // be included in the string output. The member name will be present, but the
  3787  // value will be replaced with "sensitive".
  3788  func (s CreateConfigurationProfileOutput) GoString() string {
  3789  	return s.String()
  3790  }
  3791  
  3792  // SetApplicationId sets the ApplicationId field's value.
  3793  func (s *CreateConfigurationProfileOutput) SetApplicationId(v string) *CreateConfigurationProfileOutput {
  3794  	s.ApplicationId = &v
  3795  	return s
  3796  }
  3797  
  3798  // SetDescription sets the Description field's value.
  3799  func (s *CreateConfigurationProfileOutput) SetDescription(v string) *CreateConfigurationProfileOutput {
  3800  	s.Description = &v
  3801  	return s
  3802  }
  3803  
  3804  // SetId sets the Id field's value.
  3805  func (s *CreateConfigurationProfileOutput) SetId(v string) *CreateConfigurationProfileOutput {
  3806  	s.Id = &v
  3807  	return s
  3808  }
  3809  
  3810  // SetLocationUri sets the LocationUri field's value.
  3811  func (s *CreateConfigurationProfileOutput) SetLocationUri(v string) *CreateConfigurationProfileOutput {
  3812  	s.LocationUri = &v
  3813  	return s
  3814  }
  3815  
  3816  // SetName sets the Name field's value.
  3817  func (s *CreateConfigurationProfileOutput) SetName(v string) *CreateConfigurationProfileOutput {
  3818  	s.Name = &v
  3819  	return s
  3820  }
  3821  
  3822  // SetRetrievalRoleArn sets the RetrievalRoleArn field's value.
  3823  func (s *CreateConfigurationProfileOutput) SetRetrievalRoleArn(v string) *CreateConfigurationProfileOutput {
  3824  	s.RetrievalRoleArn = &v
  3825  	return s
  3826  }
  3827  
  3828  // SetValidators sets the Validators field's value.
  3829  func (s *CreateConfigurationProfileOutput) SetValidators(v []*Validator) *CreateConfigurationProfileOutput {
  3830  	s.Validators = v
  3831  	return s
  3832  }
  3833  
  3834  type CreateDeploymentStrategyInput struct {
  3835  	_ struct{} `type:"structure"`
  3836  
  3837  	// Total amount of time for a deployment to last.
  3838  	//
  3839  	// DeploymentDurationInMinutes is a required field
  3840  	DeploymentDurationInMinutes *int64 `type:"integer" required:"true"`
  3841  
  3842  	// A description of the deployment strategy.
  3843  	Description *string `type:"string"`
  3844  
  3845  	// The amount of time AppConfig monitors for alarms before considering the deployment
  3846  	// to be complete and no longer eligible for automatic roll back.
  3847  	FinalBakeTimeInMinutes *int64 `type:"integer"`
  3848  
  3849  	// The percentage of targets to receive a deployed configuration during each
  3850  	// interval.
  3851  	//
  3852  	// GrowthFactor is a required field
  3853  	GrowthFactor *float64 `min:"1" type:"float" required:"true"`
  3854  
  3855  	// The algorithm used to define how percentage grows over time. AWS AppConfig
  3856  	// supports the following growth types:
  3857  	//
  3858  	// Linear: For this type, AppConfig processes the deployment by dividing the
  3859  	// total number of targets by the value specified for Step percentage. For example,
  3860  	// a linear deployment that uses a Step percentage of 10 deploys the configuration
  3861  	// to 10 percent of the hosts. After those deployments are complete, the system
  3862  	// deploys the configuration to the next 10 percent. This continues until 100%
  3863  	// of the targets have successfully received the configuration.
  3864  	//
  3865  	// Exponential: For this type, AppConfig processes the deployment exponentially
  3866  	// using the following formula: G*(2^N). In this formula, G is the growth factor
  3867  	// specified by the user and N is the number of steps until the configuration
  3868  	// is deployed to all targets. For example, if you specify a growth factor of
  3869  	// 2, then the system rolls out the configuration as follows:
  3870  	//
  3871  	// 2*(2^0)
  3872  	//
  3873  	// 2*(2^1)
  3874  	//
  3875  	// 2*(2^2)
  3876  	//
  3877  	// Expressed numerically, the deployment rolls out as follows: 2% of the targets,
  3878  	// 4% of the targets, 8% of the targets, and continues until the configuration
  3879  	// has been deployed to all targets.
  3880  	GrowthType *string `type:"string" enum:"GrowthType"`
  3881  
  3882  	// A name for the deployment strategy.
  3883  	//
  3884  	// Name is a required field
  3885  	Name *string `min:"1" type:"string" required:"true"`
  3886  
  3887  	// Save the deployment strategy to a Systems Manager (SSM) document.
  3888  	//
  3889  	// ReplicateTo is a required field
  3890  	ReplicateTo *string `type:"string" required:"true" enum:"ReplicateTo"`
  3891  
  3892  	// Metadata to assign to the deployment strategy. Tags help organize and categorize
  3893  	// your AppConfig resources. Each tag consists of a key and an optional value,
  3894  	// both of which you define.
  3895  	Tags map[string]*string `type:"map"`
  3896  }
  3897  
  3898  // String returns the string representation.
  3899  //
  3900  // API parameter values that are decorated as "sensitive" in the API will not
  3901  // be included in the string output. The member name will be present, but the
  3902  // value will be replaced with "sensitive".
  3903  func (s CreateDeploymentStrategyInput) String() string {
  3904  	return awsutil.Prettify(s)
  3905  }
  3906  
  3907  // GoString returns the string representation.
  3908  //
  3909  // API parameter values that are decorated as "sensitive" in the API will not
  3910  // be included in the string output. The member name will be present, but the
  3911  // value will be replaced with "sensitive".
  3912  func (s CreateDeploymentStrategyInput) GoString() string {
  3913  	return s.String()
  3914  }
  3915  
  3916  // Validate inspects the fields of the type to determine if they are valid.
  3917  func (s *CreateDeploymentStrategyInput) Validate() error {
  3918  	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentStrategyInput"}
  3919  	if s.DeploymentDurationInMinutes == nil {
  3920  		invalidParams.Add(request.NewErrParamRequired("DeploymentDurationInMinutes"))
  3921  	}
  3922  	if s.GrowthFactor == nil {
  3923  		invalidParams.Add(request.NewErrParamRequired("GrowthFactor"))
  3924  	}
  3925  	if s.GrowthFactor != nil && *s.GrowthFactor < 1 {
  3926  		invalidParams.Add(request.NewErrParamMinValue("GrowthFactor", 1))
  3927  	}
  3928  	if s.Name == nil {
  3929  		invalidParams.Add(request.NewErrParamRequired("Name"))
  3930  	}
  3931  	if s.Name != nil && len(*s.Name) < 1 {
  3932  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  3933  	}
  3934  	if s.ReplicateTo == nil {
  3935  		invalidParams.Add(request.NewErrParamRequired("ReplicateTo"))
  3936  	}
  3937  
  3938  	if invalidParams.Len() > 0 {
  3939  		return invalidParams
  3940  	}
  3941  	return nil
  3942  }
  3943  
  3944  // SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
  3945  func (s *CreateDeploymentStrategyInput) SetDeploymentDurationInMinutes(v int64) *CreateDeploymentStrategyInput {
  3946  	s.DeploymentDurationInMinutes = &v
  3947  	return s
  3948  }
  3949  
  3950  // SetDescription sets the Description field's value.
  3951  func (s *CreateDeploymentStrategyInput) SetDescription(v string) *CreateDeploymentStrategyInput {
  3952  	s.Description = &v
  3953  	return s
  3954  }
  3955  
  3956  // SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
  3957  func (s *CreateDeploymentStrategyInput) SetFinalBakeTimeInMinutes(v int64) *CreateDeploymentStrategyInput {
  3958  	s.FinalBakeTimeInMinutes = &v
  3959  	return s
  3960  }
  3961  
  3962  // SetGrowthFactor sets the GrowthFactor field's value.
  3963  func (s *CreateDeploymentStrategyInput) SetGrowthFactor(v float64) *CreateDeploymentStrategyInput {
  3964  	s.GrowthFactor = &v
  3965  	return s
  3966  }
  3967  
  3968  // SetGrowthType sets the GrowthType field's value.
  3969  func (s *CreateDeploymentStrategyInput) SetGrowthType(v string) *CreateDeploymentStrategyInput {
  3970  	s.GrowthType = &v
  3971  	return s
  3972  }
  3973  
  3974  // SetName sets the Name field's value.
  3975  func (s *CreateDeploymentStrategyInput) SetName(v string) *CreateDeploymentStrategyInput {
  3976  	s.Name = &v
  3977  	return s
  3978  }
  3979  
  3980  // SetReplicateTo sets the ReplicateTo field's value.
  3981  func (s *CreateDeploymentStrategyInput) SetReplicateTo(v string) *CreateDeploymentStrategyInput {
  3982  	s.ReplicateTo = &v
  3983  	return s
  3984  }
  3985  
  3986  // SetTags sets the Tags field's value.
  3987  func (s *CreateDeploymentStrategyInput) SetTags(v map[string]*string) *CreateDeploymentStrategyInput {
  3988  	s.Tags = v
  3989  	return s
  3990  }
  3991  
  3992  type CreateDeploymentStrategyOutput struct {
  3993  	_ struct{} `type:"structure"`
  3994  
  3995  	// Total amount of time the deployment lasted.
  3996  	DeploymentDurationInMinutes *int64 `type:"integer"`
  3997  
  3998  	// The description of the deployment strategy.
  3999  	Description *string `type:"string"`
  4000  
  4001  	// The amount of time AppConfig monitored for alarms before considering the
  4002  	// deployment to be complete and no longer eligible for automatic roll back.
  4003  	FinalBakeTimeInMinutes *int64 `type:"integer"`
  4004  
  4005  	// The percentage of targets that received a deployed configuration during each
  4006  	// interval.
  4007  	GrowthFactor *float64 `min:"1" type:"float"`
  4008  
  4009  	// The algorithm used to define how percentage grew over time.
  4010  	GrowthType *string `type:"string" enum:"GrowthType"`
  4011  
  4012  	// The deployment strategy ID.
  4013  	Id *string `type:"string"`
  4014  
  4015  	// The name of the deployment strategy.
  4016  	Name *string `min:"1" type:"string"`
  4017  
  4018  	// Save the deployment strategy to a Systems Manager (SSM) document.
  4019  	ReplicateTo *string `type:"string" enum:"ReplicateTo"`
  4020  }
  4021  
  4022  // String returns the string representation.
  4023  //
  4024  // API parameter values that are decorated as "sensitive" in the API will not
  4025  // be included in the string output. The member name will be present, but the
  4026  // value will be replaced with "sensitive".
  4027  func (s CreateDeploymentStrategyOutput) String() string {
  4028  	return awsutil.Prettify(s)
  4029  }
  4030  
  4031  // GoString returns the string representation.
  4032  //
  4033  // API parameter values that are decorated as "sensitive" in the API will not
  4034  // be included in the string output. The member name will be present, but the
  4035  // value will be replaced with "sensitive".
  4036  func (s CreateDeploymentStrategyOutput) GoString() string {
  4037  	return s.String()
  4038  }
  4039  
  4040  // SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
  4041  func (s *CreateDeploymentStrategyOutput) SetDeploymentDurationInMinutes(v int64) *CreateDeploymentStrategyOutput {
  4042  	s.DeploymentDurationInMinutes = &v
  4043  	return s
  4044  }
  4045  
  4046  // SetDescription sets the Description field's value.
  4047  func (s *CreateDeploymentStrategyOutput) SetDescription(v string) *CreateDeploymentStrategyOutput {
  4048  	s.Description = &v
  4049  	return s
  4050  }
  4051  
  4052  // SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
  4053  func (s *CreateDeploymentStrategyOutput) SetFinalBakeTimeInMinutes(v int64) *CreateDeploymentStrategyOutput {
  4054  	s.FinalBakeTimeInMinutes = &v
  4055  	return s
  4056  }
  4057  
  4058  // SetGrowthFactor sets the GrowthFactor field's value.
  4059  func (s *CreateDeploymentStrategyOutput) SetGrowthFactor(v float64) *CreateDeploymentStrategyOutput {
  4060  	s.GrowthFactor = &v
  4061  	return s
  4062  }
  4063  
  4064  // SetGrowthType sets the GrowthType field's value.
  4065  func (s *CreateDeploymentStrategyOutput) SetGrowthType(v string) *CreateDeploymentStrategyOutput {
  4066  	s.GrowthType = &v
  4067  	return s
  4068  }
  4069  
  4070  // SetId sets the Id field's value.
  4071  func (s *CreateDeploymentStrategyOutput) SetId(v string) *CreateDeploymentStrategyOutput {
  4072  	s.Id = &v
  4073  	return s
  4074  }
  4075  
  4076  // SetName sets the Name field's value.
  4077  func (s *CreateDeploymentStrategyOutput) SetName(v string) *CreateDeploymentStrategyOutput {
  4078  	s.Name = &v
  4079  	return s
  4080  }
  4081  
  4082  // SetReplicateTo sets the ReplicateTo field's value.
  4083  func (s *CreateDeploymentStrategyOutput) SetReplicateTo(v string) *CreateDeploymentStrategyOutput {
  4084  	s.ReplicateTo = &v
  4085  	return s
  4086  }
  4087  
  4088  type CreateEnvironmentInput struct {
  4089  	_ struct{} `type:"structure"`
  4090  
  4091  	// The application ID.
  4092  	//
  4093  	// ApplicationId is a required field
  4094  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  4095  
  4096  	// A description of the environment.
  4097  	Description *string `type:"string"`
  4098  
  4099  	// Amazon CloudWatch alarms to monitor during the deployment process.
  4100  	Monitors []*Monitor `type:"list"`
  4101  
  4102  	// A name for the environment.
  4103  	//
  4104  	// Name is a required field
  4105  	Name *string `min:"1" type:"string" required:"true"`
  4106  
  4107  	// Metadata to assign to the environment. Tags help organize and categorize
  4108  	// your AppConfig resources. Each tag consists of a key and an optional value,
  4109  	// both of which you define.
  4110  	Tags map[string]*string `type:"map"`
  4111  }
  4112  
  4113  // String returns the string representation.
  4114  //
  4115  // API parameter values that are decorated as "sensitive" in the API will not
  4116  // be included in the string output. The member name will be present, but the
  4117  // value will be replaced with "sensitive".
  4118  func (s CreateEnvironmentInput) String() string {
  4119  	return awsutil.Prettify(s)
  4120  }
  4121  
  4122  // GoString returns the string representation.
  4123  //
  4124  // API parameter values that are decorated as "sensitive" in the API will not
  4125  // be included in the string output. The member name will be present, but the
  4126  // value will be replaced with "sensitive".
  4127  func (s CreateEnvironmentInput) GoString() string {
  4128  	return s.String()
  4129  }
  4130  
  4131  // Validate inspects the fields of the type to determine if they are valid.
  4132  func (s *CreateEnvironmentInput) Validate() error {
  4133  	invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentInput"}
  4134  	if s.ApplicationId == nil {
  4135  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  4136  	}
  4137  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  4138  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  4139  	}
  4140  	if s.Name == nil {
  4141  		invalidParams.Add(request.NewErrParamRequired("Name"))
  4142  	}
  4143  	if s.Name != nil && len(*s.Name) < 1 {
  4144  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  4145  	}
  4146  	if s.Monitors != nil {
  4147  		for i, v := range s.Monitors {
  4148  			if v == nil {
  4149  				continue
  4150  			}
  4151  			if err := v.Validate(); err != nil {
  4152  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Monitors", i), err.(request.ErrInvalidParams))
  4153  			}
  4154  		}
  4155  	}
  4156  
  4157  	if invalidParams.Len() > 0 {
  4158  		return invalidParams
  4159  	}
  4160  	return nil
  4161  }
  4162  
  4163  // SetApplicationId sets the ApplicationId field's value.
  4164  func (s *CreateEnvironmentInput) SetApplicationId(v string) *CreateEnvironmentInput {
  4165  	s.ApplicationId = &v
  4166  	return s
  4167  }
  4168  
  4169  // SetDescription sets the Description field's value.
  4170  func (s *CreateEnvironmentInput) SetDescription(v string) *CreateEnvironmentInput {
  4171  	s.Description = &v
  4172  	return s
  4173  }
  4174  
  4175  // SetMonitors sets the Monitors field's value.
  4176  func (s *CreateEnvironmentInput) SetMonitors(v []*Monitor) *CreateEnvironmentInput {
  4177  	s.Monitors = v
  4178  	return s
  4179  }
  4180  
  4181  // SetName sets the Name field's value.
  4182  func (s *CreateEnvironmentInput) SetName(v string) *CreateEnvironmentInput {
  4183  	s.Name = &v
  4184  	return s
  4185  }
  4186  
  4187  // SetTags sets the Tags field's value.
  4188  func (s *CreateEnvironmentInput) SetTags(v map[string]*string) *CreateEnvironmentInput {
  4189  	s.Tags = v
  4190  	return s
  4191  }
  4192  
  4193  type CreateEnvironmentOutput struct {
  4194  	_ struct{} `type:"structure"`
  4195  
  4196  	// The application ID.
  4197  	ApplicationId *string `type:"string"`
  4198  
  4199  	// The description of the environment.
  4200  	Description *string `type:"string"`
  4201  
  4202  	// The environment ID.
  4203  	Id *string `type:"string"`
  4204  
  4205  	// Amazon CloudWatch alarms monitored during the deployment.
  4206  	Monitors []*Monitor `type:"list"`
  4207  
  4208  	// The name of the environment.
  4209  	Name *string `min:"1" type:"string"`
  4210  
  4211  	// The state of the environment. An environment can be in one of the following
  4212  	// states: READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK, or ROLLED_BACK
  4213  	State *string `type:"string" enum:"EnvironmentState"`
  4214  }
  4215  
  4216  // String returns the string representation.
  4217  //
  4218  // API parameter values that are decorated as "sensitive" in the API will not
  4219  // be included in the string output. The member name will be present, but the
  4220  // value will be replaced with "sensitive".
  4221  func (s CreateEnvironmentOutput) String() string {
  4222  	return awsutil.Prettify(s)
  4223  }
  4224  
  4225  // GoString returns the string representation.
  4226  //
  4227  // API parameter values that are decorated as "sensitive" in the API will not
  4228  // be included in the string output. The member name will be present, but the
  4229  // value will be replaced with "sensitive".
  4230  func (s CreateEnvironmentOutput) GoString() string {
  4231  	return s.String()
  4232  }
  4233  
  4234  // SetApplicationId sets the ApplicationId field's value.
  4235  func (s *CreateEnvironmentOutput) SetApplicationId(v string) *CreateEnvironmentOutput {
  4236  	s.ApplicationId = &v
  4237  	return s
  4238  }
  4239  
  4240  // SetDescription sets the Description field's value.
  4241  func (s *CreateEnvironmentOutput) SetDescription(v string) *CreateEnvironmentOutput {
  4242  	s.Description = &v
  4243  	return s
  4244  }
  4245  
  4246  // SetId sets the Id field's value.
  4247  func (s *CreateEnvironmentOutput) SetId(v string) *CreateEnvironmentOutput {
  4248  	s.Id = &v
  4249  	return s
  4250  }
  4251  
  4252  // SetMonitors sets the Monitors field's value.
  4253  func (s *CreateEnvironmentOutput) SetMonitors(v []*Monitor) *CreateEnvironmentOutput {
  4254  	s.Monitors = v
  4255  	return s
  4256  }
  4257  
  4258  // SetName sets the Name field's value.
  4259  func (s *CreateEnvironmentOutput) SetName(v string) *CreateEnvironmentOutput {
  4260  	s.Name = &v
  4261  	return s
  4262  }
  4263  
  4264  // SetState sets the State field's value.
  4265  func (s *CreateEnvironmentOutput) SetState(v string) *CreateEnvironmentOutput {
  4266  	s.State = &v
  4267  	return s
  4268  }
  4269  
  4270  type CreateHostedConfigurationVersionInput struct {
  4271  	_ struct{} `type:"structure" payload:"Content"`
  4272  
  4273  	// The application ID.
  4274  	//
  4275  	// ApplicationId is a required field
  4276  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  4277  
  4278  	// The configuration profile ID.
  4279  	//
  4280  	// ConfigurationProfileId is a required field
  4281  	ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"`
  4282  
  4283  	// The content of the configuration or the configuration data.
  4284  	//
  4285  	// Content is a sensitive parameter and its value will be
  4286  	// replaced with "sensitive" in string returned by CreateHostedConfigurationVersionInput's
  4287  	// String and GoString methods.
  4288  	//
  4289  	// Content is a required field
  4290  	Content []byte `type:"blob" required:"true" sensitive:"true"`
  4291  
  4292  	// A standard MIME type describing the format of the configuration content.
  4293  	// For more information, see Content-Type (https://docs.aws.amazon.com/https:/www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17).
  4294  	//
  4295  	// ContentType is a required field
  4296  	ContentType *string `location:"header" locationName:"Content-Type" min:"1" type:"string" required:"true"`
  4297  
  4298  	// A description of the configuration.
  4299  	Description *string `location:"header" locationName:"Description" type:"string"`
  4300  
  4301  	// An optional locking token used to prevent race conditions from overwriting
  4302  	// configuration updates when creating a new version. To ensure your data is
  4303  	// not overwritten when creating multiple hosted configuration versions in rapid
  4304  	// succession, specify the version of the latest hosted configuration version.
  4305  	LatestVersionNumber *int64 `location:"header" locationName:"Latest-Version-Number" type:"integer"`
  4306  }
  4307  
  4308  // String returns the string representation.
  4309  //
  4310  // API parameter values that are decorated as "sensitive" in the API will not
  4311  // be included in the string output. The member name will be present, but the
  4312  // value will be replaced with "sensitive".
  4313  func (s CreateHostedConfigurationVersionInput) String() string {
  4314  	return awsutil.Prettify(s)
  4315  }
  4316  
  4317  // GoString returns the string representation.
  4318  //
  4319  // API parameter values that are decorated as "sensitive" in the API will not
  4320  // be included in the string output. The member name will be present, but the
  4321  // value will be replaced with "sensitive".
  4322  func (s CreateHostedConfigurationVersionInput) GoString() string {
  4323  	return s.String()
  4324  }
  4325  
  4326  // Validate inspects the fields of the type to determine if they are valid.
  4327  func (s *CreateHostedConfigurationVersionInput) Validate() error {
  4328  	invalidParams := request.ErrInvalidParams{Context: "CreateHostedConfigurationVersionInput"}
  4329  	if s.ApplicationId == nil {
  4330  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  4331  	}
  4332  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  4333  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  4334  	}
  4335  	if s.ConfigurationProfileId == nil {
  4336  		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
  4337  	}
  4338  	if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 {
  4339  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1))
  4340  	}
  4341  	if s.Content == nil {
  4342  		invalidParams.Add(request.NewErrParamRequired("Content"))
  4343  	}
  4344  	if s.ContentType == nil {
  4345  		invalidParams.Add(request.NewErrParamRequired("ContentType"))
  4346  	}
  4347  	if s.ContentType != nil && len(*s.ContentType) < 1 {
  4348  		invalidParams.Add(request.NewErrParamMinLen("ContentType", 1))
  4349  	}
  4350  
  4351  	if invalidParams.Len() > 0 {
  4352  		return invalidParams
  4353  	}
  4354  	return nil
  4355  }
  4356  
  4357  // SetApplicationId sets the ApplicationId field's value.
  4358  func (s *CreateHostedConfigurationVersionInput) SetApplicationId(v string) *CreateHostedConfigurationVersionInput {
  4359  	s.ApplicationId = &v
  4360  	return s
  4361  }
  4362  
  4363  // SetConfigurationProfileId sets the ConfigurationProfileId field's value.
  4364  func (s *CreateHostedConfigurationVersionInput) SetConfigurationProfileId(v string) *CreateHostedConfigurationVersionInput {
  4365  	s.ConfigurationProfileId = &v
  4366  	return s
  4367  }
  4368  
  4369  // SetContent sets the Content field's value.
  4370  func (s *CreateHostedConfigurationVersionInput) SetContent(v []byte) *CreateHostedConfigurationVersionInput {
  4371  	s.Content = v
  4372  	return s
  4373  }
  4374  
  4375  // SetContentType sets the ContentType field's value.
  4376  func (s *CreateHostedConfigurationVersionInput) SetContentType(v string) *CreateHostedConfigurationVersionInput {
  4377  	s.ContentType = &v
  4378  	return s
  4379  }
  4380  
  4381  // SetDescription sets the Description field's value.
  4382  func (s *CreateHostedConfigurationVersionInput) SetDescription(v string) *CreateHostedConfigurationVersionInput {
  4383  	s.Description = &v
  4384  	return s
  4385  }
  4386  
  4387  // SetLatestVersionNumber sets the LatestVersionNumber field's value.
  4388  func (s *CreateHostedConfigurationVersionInput) SetLatestVersionNumber(v int64) *CreateHostedConfigurationVersionInput {
  4389  	s.LatestVersionNumber = &v
  4390  	return s
  4391  }
  4392  
  4393  type CreateHostedConfigurationVersionOutput struct {
  4394  	_ struct{} `type:"structure" payload:"Content"`
  4395  
  4396  	// The application ID.
  4397  	ApplicationId *string `location:"header" locationName:"Application-Id" type:"string"`
  4398  
  4399  	// The configuration profile ID.
  4400  	ConfigurationProfileId *string `location:"header" locationName:"Configuration-Profile-Id" type:"string"`
  4401  
  4402  	// The content of the configuration or the configuration data.
  4403  	//
  4404  	// Content is a sensitive parameter and its value will be
  4405  	// replaced with "sensitive" in string returned by CreateHostedConfigurationVersionOutput's
  4406  	// String and GoString methods.
  4407  	Content []byte `type:"blob" sensitive:"true"`
  4408  
  4409  	// A standard MIME type describing the format of the configuration content.
  4410  	// For more information, see Content-Type (https://docs.aws.amazon.com/https:/www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17).
  4411  	ContentType *string `location:"header" locationName:"Content-Type" min:"1" type:"string"`
  4412  
  4413  	// A description of the configuration.
  4414  	Description *string `location:"header" locationName:"Description" type:"string"`
  4415  
  4416  	// The configuration version.
  4417  	VersionNumber *int64 `location:"header" locationName:"Version-Number" type:"integer"`
  4418  }
  4419  
  4420  // String 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 CreateHostedConfigurationVersionOutput) String() string {
  4426  	return awsutil.Prettify(s)
  4427  }
  4428  
  4429  // GoString returns the string representation.
  4430  //
  4431  // API parameter values that are decorated as "sensitive" in the API will not
  4432  // be included in the string output. The member name will be present, but the
  4433  // value will be replaced with "sensitive".
  4434  func (s CreateHostedConfigurationVersionOutput) GoString() string {
  4435  	return s.String()
  4436  }
  4437  
  4438  // SetApplicationId sets the ApplicationId field's value.
  4439  func (s *CreateHostedConfigurationVersionOutput) SetApplicationId(v string) *CreateHostedConfigurationVersionOutput {
  4440  	s.ApplicationId = &v
  4441  	return s
  4442  }
  4443  
  4444  // SetConfigurationProfileId sets the ConfigurationProfileId field's value.
  4445  func (s *CreateHostedConfigurationVersionOutput) SetConfigurationProfileId(v string) *CreateHostedConfigurationVersionOutput {
  4446  	s.ConfigurationProfileId = &v
  4447  	return s
  4448  }
  4449  
  4450  // SetContent sets the Content field's value.
  4451  func (s *CreateHostedConfigurationVersionOutput) SetContent(v []byte) *CreateHostedConfigurationVersionOutput {
  4452  	s.Content = v
  4453  	return s
  4454  }
  4455  
  4456  // SetContentType sets the ContentType field's value.
  4457  func (s *CreateHostedConfigurationVersionOutput) SetContentType(v string) *CreateHostedConfigurationVersionOutput {
  4458  	s.ContentType = &v
  4459  	return s
  4460  }
  4461  
  4462  // SetDescription sets the Description field's value.
  4463  func (s *CreateHostedConfigurationVersionOutput) SetDescription(v string) *CreateHostedConfigurationVersionOutput {
  4464  	s.Description = &v
  4465  	return s
  4466  }
  4467  
  4468  // SetVersionNumber sets the VersionNumber field's value.
  4469  func (s *CreateHostedConfigurationVersionOutput) SetVersionNumber(v int64) *CreateHostedConfigurationVersionOutput {
  4470  	s.VersionNumber = &v
  4471  	return s
  4472  }
  4473  
  4474  type DeleteApplicationInput struct {
  4475  	_ struct{} `type:"structure" nopayload:"true"`
  4476  
  4477  	// The ID of the application to delete.
  4478  	//
  4479  	// ApplicationId is a required field
  4480  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  4481  }
  4482  
  4483  // String returns the string representation.
  4484  //
  4485  // API parameter values that are decorated as "sensitive" in the API will not
  4486  // be included in the string output. The member name will be present, but the
  4487  // value will be replaced with "sensitive".
  4488  func (s DeleteApplicationInput) String() string {
  4489  	return awsutil.Prettify(s)
  4490  }
  4491  
  4492  // GoString returns the string representation.
  4493  //
  4494  // API parameter values that are decorated as "sensitive" in the API will not
  4495  // be included in the string output. The member name will be present, but the
  4496  // value will be replaced with "sensitive".
  4497  func (s DeleteApplicationInput) GoString() string {
  4498  	return s.String()
  4499  }
  4500  
  4501  // Validate inspects the fields of the type to determine if they are valid.
  4502  func (s *DeleteApplicationInput) Validate() error {
  4503  	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"}
  4504  	if s.ApplicationId == nil {
  4505  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  4506  	}
  4507  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  4508  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  4509  	}
  4510  
  4511  	if invalidParams.Len() > 0 {
  4512  		return invalidParams
  4513  	}
  4514  	return nil
  4515  }
  4516  
  4517  // SetApplicationId sets the ApplicationId field's value.
  4518  func (s *DeleteApplicationInput) SetApplicationId(v string) *DeleteApplicationInput {
  4519  	s.ApplicationId = &v
  4520  	return s
  4521  }
  4522  
  4523  type DeleteApplicationOutput struct {
  4524  	_ struct{} `type:"structure" nopayload:"true"`
  4525  }
  4526  
  4527  // String returns the string representation.
  4528  //
  4529  // API parameter values that are decorated as "sensitive" in the API will not
  4530  // be included in the string output. The member name will be present, but the
  4531  // value will be replaced with "sensitive".
  4532  func (s DeleteApplicationOutput) String() string {
  4533  	return awsutil.Prettify(s)
  4534  }
  4535  
  4536  // GoString returns the string representation.
  4537  //
  4538  // API parameter values that are decorated as "sensitive" in the API will not
  4539  // be included in the string output. The member name will be present, but the
  4540  // value will be replaced with "sensitive".
  4541  func (s DeleteApplicationOutput) GoString() string {
  4542  	return s.String()
  4543  }
  4544  
  4545  type DeleteConfigurationProfileInput struct {
  4546  	_ struct{} `type:"structure" nopayload:"true"`
  4547  
  4548  	// The application ID that includes the configuration profile you want to delete.
  4549  	//
  4550  	// ApplicationId is a required field
  4551  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  4552  
  4553  	// The ID of the configuration profile you want to delete.
  4554  	//
  4555  	// ConfigurationProfileId is a required field
  4556  	ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"`
  4557  }
  4558  
  4559  // String returns the string representation.
  4560  //
  4561  // API parameter values that are decorated as "sensitive" in the API will not
  4562  // be included in the string output. The member name will be present, but the
  4563  // value will be replaced with "sensitive".
  4564  func (s DeleteConfigurationProfileInput) String() string {
  4565  	return awsutil.Prettify(s)
  4566  }
  4567  
  4568  // GoString returns the string representation.
  4569  //
  4570  // API parameter values that are decorated as "sensitive" in the API will not
  4571  // be included in the string output. The member name will be present, but the
  4572  // value will be replaced with "sensitive".
  4573  func (s DeleteConfigurationProfileInput) GoString() string {
  4574  	return s.String()
  4575  }
  4576  
  4577  // Validate inspects the fields of the type to determine if they are valid.
  4578  func (s *DeleteConfigurationProfileInput) Validate() error {
  4579  	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationProfileInput"}
  4580  	if s.ApplicationId == nil {
  4581  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  4582  	}
  4583  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  4584  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  4585  	}
  4586  	if s.ConfigurationProfileId == nil {
  4587  		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
  4588  	}
  4589  	if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 {
  4590  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1))
  4591  	}
  4592  
  4593  	if invalidParams.Len() > 0 {
  4594  		return invalidParams
  4595  	}
  4596  	return nil
  4597  }
  4598  
  4599  // SetApplicationId sets the ApplicationId field's value.
  4600  func (s *DeleteConfigurationProfileInput) SetApplicationId(v string) *DeleteConfigurationProfileInput {
  4601  	s.ApplicationId = &v
  4602  	return s
  4603  }
  4604  
  4605  // SetConfigurationProfileId sets the ConfigurationProfileId field's value.
  4606  func (s *DeleteConfigurationProfileInput) SetConfigurationProfileId(v string) *DeleteConfigurationProfileInput {
  4607  	s.ConfigurationProfileId = &v
  4608  	return s
  4609  }
  4610  
  4611  type DeleteConfigurationProfileOutput struct {
  4612  	_ struct{} `type:"structure" nopayload:"true"`
  4613  }
  4614  
  4615  // String returns the string representation.
  4616  //
  4617  // API parameter values that are decorated as "sensitive" in the API will not
  4618  // be included in the string output. The member name will be present, but the
  4619  // value will be replaced with "sensitive".
  4620  func (s DeleteConfigurationProfileOutput) String() string {
  4621  	return awsutil.Prettify(s)
  4622  }
  4623  
  4624  // GoString returns the string representation.
  4625  //
  4626  // API parameter values that are decorated as "sensitive" in the API will not
  4627  // be included in the string output. The member name will be present, but the
  4628  // value will be replaced with "sensitive".
  4629  func (s DeleteConfigurationProfileOutput) GoString() string {
  4630  	return s.String()
  4631  }
  4632  
  4633  type DeleteDeploymentStrategyInput struct {
  4634  	_ struct{} `type:"structure" nopayload:"true"`
  4635  
  4636  	// The ID of the deployment strategy you want to delete.
  4637  	//
  4638  	// DeploymentStrategyId is a required field
  4639  	DeploymentStrategyId *string `location:"uri" locationName:"DeploymentStrategyId" type:"string" required:"true"`
  4640  }
  4641  
  4642  // String returns the string representation.
  4643  //
  4644  // API parameter values that are decorated as "sensitive" in the API will not
  4645  // be included in the string output. The member name will be present, but the
  4646  // value will be replaced with "sensitive".
  4647  func (s DeleteDeploymentStrategyInput) String() string {
  4648  	return awsutil.Prettify(s)
  4649  }
  4650  
  4651  // GoString returns the string representation.
  4652  //
  4653  // API parameter values that are decorated as "sensitive" in the API will not
  4654  // be included in the string output. The member name will be present, but the
  4655  // value will be replaced with "sensitive".
  4656  func (s DeleteDeploymentStrategyInput) GoString() string {
  4657  	return s.String()
  4658  }
  4659  
  4660  // Validate inspects the fields of the type to determine if they are valid.
  4661  func (s *DeleteDeploymentStrategyInput) Validate() error {
  4662  	invalidParams := request.ErrInvalidParams{Context: "DeleteDeploymentStrategyInput"}
  4663  	if s.DeploymentStrategyId == nil {
  4664  		invalidParams.Add(request.NewErrParamRequired("DeploymentStrategyId"))
  4665  	}
  4666  	if s.DeploymentStrategyId != nil && len(*s.DeploymentStrategyId) < 1 {
  4667  		invalidParams.Add(request.NewErrParamMinLen("DeploymentStrategyId", 1))
  4668  	}
  4669  
  4670  	if invalidParams.Len() > 0 {
  4671  		return invalidParams
  4672  	}
  4673  	return nil
  4674  }
  4675  
  4676  // SetDeploymentStrategyId sets the DeploymentStrategyId field's value.
  4677  func (s *DeleteDeploymentStrategyInput) SetDeploymentStrategyId(v string) *DeleteDeploymentStrategyInput {
  4678  	s.DeploymentStrategyId = &v
  4679  	return s
  4680  }
  4681  
  4682  type DeleteDeploymentStrategyOutput struct {
  4683  	_ struct{} `type:"structure" nopayload:"true"`
  4684  }
  4685  
  4686  // String returns the string representation.
  4687  //
  4688  // API parameter values that are decorated as "sensitive" in the API will not
  4689  // be included in the string output. The member name will be present, but the
  4690  // value will be replaced with "sensitive".
  4691  func (s DeleteDeploymentStrategyOutput) String() string {
  4692  	return awsutil.Prettify(s)
  4693  }
  4694  
  4695  // GoString returns the string representation.
  4696  //
  4697  // API parameter values that are decorated as "sensitive" in the API will not
  4698  // be included in the string output. The member name will be present, but the
  4699  // value will be replaced with "sensitive".
  4700  func (s DeleteDeploymentStrategyOutput) GoString() string {
  4701  	return s.String()
  4702  }
  4703  
  4704  type DeleteEnvironmentInput struct {
  4705  	_ struct{} `type:"structure" nopayload:"true"`
  4706  
  4707  	// The application ID that includes the environment you want to delete.
  4708  	//
  4709  	// ApplicationId is a required field
  4710  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  4711  
  4712  	// The ID of the environment you want to delete.
  4713  	//
  4714  	// EnvironmentId is a required field
  4715  	EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"`
  4716  }
  4717  
  4718  // String returns the string representation.
  4719  //
  4720  // API parameter values that are decorated as "sensitive" in the API will not
  4721  // be included in the string output. The member name will be present, but the
  4722  // value will be replaced with "sensitive".
  4723  func (s DeleteEnvironmentInput) String() string {
  4724  	return awsutil.Prettify(s)
  4725  }
  4726  
  4727  // GoString returns the string representation.
  4728  //
  4729  // API parameter values that are decorated as "sensitive" in the API will not
  4730  // be included in the string output. The member name will be present, but the
  4731  // value will be replaced with "sensitive".
  4732  func (s DeleteEnvironmentInput) GoString() string {
  4733  	return s.String()
  4734  }
  4735  
  4736  // Validate inspects the fields of the type to determine if they are valid.
  4737  func (s *DeleteEnvironmentInput) Validate() error {
  4738  	invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentInput"}
  4739  	if s.ApplicationId == nil {
  4740  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  4741  	}
  4742  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  4743  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  4744  	}
  4745  	if s.EnvironmentId == nil {
  4746  		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
  4747  	}
  4748  	if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 {
  4749  		invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1))
  4750  	}
  4751  
  4752  	if invalidParams.Len() > 0 {
  4753  		return invalidParams
  4754  	}
  4755  	return nil
  4756  }
  4757  
  4758  // SetApplicationId sets the ApplicationId field's value.
  4759  func (s *DeleteEnvironmentInput) SetApplicationId(v string) *DeleteEnvironmentInput {
  4760  	s.ApplicationId = &v
  4761  	return s
  4762  }
  4763  
  4764  // SetEnvironmentId sets the EnvironmentId field's value.
  4765  func (s *DeleteEnvironmentInput) SetEnvironmentId(v string) *DeleteEnvironmentInput {
  4766  	s.EnvironmentId = &v
  4767  	return s
  4768  }
  4769  
  4770  type DeleteEnvironmentOutput struct {
  4771  	_ struct{} `type:"structure" nopayload:"true"`
  4772  }
  4773  
  4774  // String returns the string representation.
  4775  //
  4776  // API parameter values that are decorated as "sensitive" in the API will not
  4777  // be included in the string output. The member name will be present, but the
  4778  // value will be replaced with "sensitive".
  4779  func (s DeleteEnvironmentOutput) String() string {
  4780  	return awsutil.Prettify(s)
  4781  }
  4782  
  4783  // GoString returns the string representation.
  4784  //
  4785  // API parameter values that are decorated as "sensitive" in the API will not
  4786  // be included in the string output. The member name will be present, but the
  4787  // value will be replaced with "sensitive".
  4788  func (s DeleteEnvironmentOutput) GoString() string {
  4789  	return s.String()
  4790  }
  4791  
  4792  type DeleteHostedConfigurationVersionInput struct {
  4793  	_ struct{} `type:"structure" nopayload:"true"`
  4794  
  4795  	// The application ID.
  4796  	//
  4797  	// ApplicationId is a required field
  4798  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  4799  
  4800  	// The configuration profile ID.
  4801  	//
  4802  	// ConfigurationProfileId is a required field
  4803  	ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"`
  4804  
  4805  	// The versions number to delete.
  4806  	//
  4807  	// VersionNumber is a required field
  4808  	VersionNumber *int64 `location:"uri" locationName:"VersionNumber" type:"integer" required:"true"`
  4809  }
  4810  
  4811  // String returns the string representation.
  4812  //
  4813  // API parameter values that are decorated as "sensitive" in the API will not
  4814  // be included in the string output. The member name will be present, but the
  4815  // value will be replaced with "sensitive".
  4816  func (s DeleteHostedConfigurationVersionInput) String() string {
  4817  	return awsutil.Prettify(s)
  4818  }
  4819  
  4820  // GoString returns the string representation.
  4821  //
  4822  // API parameter values that are decorated as "sensitive" in the API will not
  4823  // be included in the string output. The member name will be present, but the
  4824  // value will be replaced with "sensitive".
  4825  func (s DeleteHostedConfigurationVersionInput) GoString() string {
  4826  	return s.String()
  4827  }
  4828  
  4829  // Validate inspects the fields of the type to determine if they are valid.
  4830  func (s *DeleteHostedConfigurationVersionInput) Validate() error {
  4831  	invalidParams := request.ErrInvalidParams{Context: "DeleteHostedConfigurationVersionInput"}
  4832  	if s.ApplicationId == nil {
  4833  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  4834  	}
  4835  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  4836  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  4837  	}
  4838  	if s.ConfigurationProfileId == nil {
  4839  		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
  4840  	}
  4841  	if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 {
  4842  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1))
  4843  	}
  4844  	if s.VersionNumber == nil {
  4845  		invalidParams.Add(request.NewErrParamRequired("VersionNumber"))
  4846  	}
  4847  
  4848  	if invalidParams.Len() > 0 {
  4849  		return invalidParams
  4850  	}
  4851  	return nil
  4852  }
  4853  
  4854  // SetApplicationId sets the ApplicationId field's value.
  4855  func (s *DeleteHostedConfigurationVersionInput) SetApplicationId(v string) *DeleteHostedConfigurationVersionInput {
  4856  	s.ApplicationId = &v
  4857  	return s
  4858  }
  4859  
  4860  // SetConfigurationProfileId sets the ConfigurationProfileId field's value.
  4861  func (s *DeleteHostedConfigurationVersionInput) SetConfigurationProfileId(v string) *DeleteHostedConfigurationVersionInput {
  4862  	s.ConfigurationProfileId = &v
  4863  	return s
  4864  }
  4865  
  4866  // SetVersionNumber sets the VersionNumber field's value.
  4867  func (s *DeleteHostedConfigurationVersionInput) SetVersionNumber(v int64) *DeleteHostedConfigurationVersionInput {
  4868  	s.VersionNumber = &v
  4869  	return s
  4870  }
  4871  
  4872  type DeleteHostedConfigurationVersionOutput struct {
  4873  	_ struct{} `type:"structure" nopayload:"true"`
  4874  }
  4875  
  4876  // String returns the string representation.
  4877  //
  4878  // API parameter values that are decorated as "sensitive" in the API will not
  4879  // be included in the string output. The member name will be present, but the
  4880  // value will be replaced with "sensitive".
  4881  func (s DeleteHostedConfigurationVersionOutput) String() string {
  4882  	return awsutil.Prettify(s)
  4883  }
  4884  
  4885  // GoString returns the string representation.
  4886  //
  4887  // API parameter values that are decorated as "sensitive" in the API will not
  4888  // be included in the string output. The member name will be present, but the
  4889  // value will be replaced with "sensitive".
  4890  func (s DeleteHostedConfigurationVersionOutput) GoString() string {
  4891  	return s.String()
  4892  }
  4893  
  4894  // An object that describes a deployment event.
  4895  type DeploymentEvent struct {
  4896  	_ struct{} `type:"structure"`
  4897  
  4898  	// A description of the deployment event. Descriptions include, but are not
  4899  	// limited to, the user account or the CloudWatch alarm ARN that initiated a
  4900  	// rollback, the percentage of hosts that received the deployment, or in the
  4901  	// case of an internal error, a recommendation to attempt a new deployment.
  4902  	Description *string `type:"string"`
  4903  
  4904  	// The type of deployment event. Deployment event types include the start, stop,
  4905  	// or completion of a deployment; a percentage update; the start or stop of
  4906  	// a bake period; the start or completion of a rollback.
  4907  	EventType *string `type:"string" enum:"DeploymentEventType"`
  4908  
  4909  	// The date and time the event occurred.
  4910  	OccurredAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  4911  
  4912  	// The entity that triggered the deployment event. Events can be triggered by
  4913  	// a user, AWS AppConfig, an Amazon CloudWatch alarm, or an internal error.
  4914  	TriggeredBy *string `type:"string" enum:"TriggeredBy"`
  4915  }
  4916  
  4917  // String returns the string representation.
  4918  //
  4919  // API parameter values that are decorated as "sensitive" in the API will not
  4920  // be included in the string output. The member name will be present, but the
  4921  // value will be replaced with "sensitive".
  4922  func (s DeploymentEvent) String() string {
  4923  	return awsutil.Prettify(s)
  4924  }
  4925  
  4926  // GoString returns the string representation.
  4927  //
  4928  // API parameter values that are decorated as "sensitive" in the API will not
  4929  // be included in the string output. The member name will be present, but the
  4930  // value will be replaced with "sensitive".
  4931  func (s DeploymentEvent) GoString() string {
  4932  	return s.String()
  4933  }
  4934  
  4935  // SetDescription sets the Description field's value.
  4936  func (s *DeploymentEvent) SetDescription(v string) *DeploymentEvent {
  4937  	s.Description = &v
  4938  	return s
  4939  }
  4940  
  4941  // SetEventType sets the EventType field's value.
  4942  func (s *DeploymentEvent) SetEventType(v string) *DeploymentEvent {
  4943  	s.EventType = &v
  4944  	return s
  4945  }
  4946  
  4947  // SetOccurredAt sets the OccurredAt field's value.
  4948  func (s *DeploymentEvent) SetOccurredAt(v time.Time) *DeploymentEvent {
  4949  	s.OccurredAt = &v
  4950  	return s
  4951  }
  4952  
  4953  // SetTriggeredBy sets the TriggeredBy field's value.
  4954  func (s *DeploymentEvent) SetTriggeredBy(v string) *DeploymentEvent {
  4955  	s.TriggeredBy = &v
  4956  	return s
  4957  }
  4958  
  4959  type DeploymentStrategy struct {
  4960  	_ struct{} `type:"structure"`
  4961  
  4962  	// Total amount of time the deployment lasted.
  4963  	DeploymentDurationInMinutes *int64 `type:"integer"`
  4964  
  4965  	// The description of the deployment strategy.
  4966  	Description *string `type:"string"`
  4967  
  4968  	// The amount of time AppConfig monitored for alarms before considering the
  4969  	// deployment to be complete and no longer eligible for automatic roll back.
  4970  	FinalBakeTimeInMinutes *int64 `type:"integer"`
  4971  
  4972  	// The percentage of targets that received a deployed configuration during each
  4973  	// interval.
  4974  	GrowthFactor *float64 `min:"1" type:"float"`
  4975  
  4976  	// The algorithm used to define how percentage grew over time.
  4977  	GrowthType *string `type:"string" enum:"GrowthType"`
  4978  
  4979  	// The deployment strategy ID.
  4980  	Id *string `type:"string"`
  4981  
  4982  	// The name of the deployment strategy.
  4983  	Name *string `min:"1" type:"string"`
  4984  
  4985  	// Save the deployment strategy to a Systems Manager (SSM) document.
  4986  	ReplicateTo *string `type:"string" enum:"ReplicateTo"`
  4987  }
  4988  
  4989  // String returns the string representation.
  4990  //
  4991  // API parameter values that are decorated as "sensitive" in the API will not
  4992  // be included in the string output. The member name will be present, but the
  4993  // value will be replaced with "sensitive".
  4994  func (s DeploymentStrategy) String() string {
  4995  	return awsutil.Prettify(s)
  4996  }
  4997  
  4998  // GoString returns the string representation.
  4999  //
  5000  // API parameter values that are decorated as "sensitive" in the API will not
  5001  // be included in the string output. The member name will be present, but the
  5002  // value will be replaced with "sensitive".
  5003  func (s DeploymentStrategy) GoString() string {
  5004  	return s.String()
  5005  }
  5006  
  5007  // SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
  5008  func (s *DeploymentStrategy) SetDeploymentDurationInMinutes(v int64) *DeploymentStrategy {
  5009  	s.DeploymentDurationInMinutes = &v
  5010  	return s
  5011  }
  5012  
  5013  // SetDescription sets the Description field's value.
  5014  func (s *DeploymentStrategy) SetDescription(v string) *DeploymentStrategy {
  5015  	s.Description = &v
  5016  	return s
  5017  }
  5018  
  5019  // SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
  5020  func (s *DeploymentStrategy) SetFinalBakeTimeInMinutes(v int64) *DeploymentStrategy {
  5021  	s.FinalBakeTimeInMinutes = &v
  5022  	return s
  5023  }
  5024  
  5025  // SetGrowthFactor sets the GrowthFactor field's value.
  5026  func (s *DeploymentStrategy) SetGrowthFactor(v float64) *DeploymentStrategy {
  5027  	s.GrowthFactor = &v
  5028  	return s
  5029  }
  5030  
  5031  // SetGrowthType sets the GrowthType field's value.
  5032  func (s *DeploymentStrategy) SetGrowthType(v string) *DeploymentStrategy {
  5033  	s.GrowthType = &v
  5034  	return s
  5035  }
  5036  
  5037  // SetId sets the Id field's value.
  5038  func (s *DeploymentStrategy) SetId(v string) *DeploymentStrategy {
  5039  	s.Id = &v
  5040  	return s
  5041  }
  5042  
  5043  // SetName sets the Name field's value.
  5044  func (s *DeploymentStrategy) SetName(v string) *DeploymentStrategy {
  5045  	s.Name = &v
  5046  	return s
  5047  }
  5048  
  5049  // SetReplicateTo sets the ReplicateTo field's value.
  5050  func (s *DeploymentStrategy) SetReplicateTo(v string) *DeploymentStrategy {
  5051  	s.ReplicateTo = &v
  5052  	return s
  5053  }
  5054  
  5055  // Information about the deployment.
  5056  type DeploymentSummary struct {
  5057  	_ struct{} `type:"structure"`
  5058  
  5059  	// Time the deployment completed.
  5060  	CompletedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  5061  
  5062  	// The name of the configuration.
  5063  	ConfigurationName *string `min:"1" type:"string"`
  5064  
  5065  	// The version of the configuration.
  5066  	ConfigurationVersion *string `min:"1" type:"string"`
  5067  
  5068  	// Total amount of time the deployment lasted.
  5069  	DeploymentDurationInMinutes *int64 `type:"integer"`
  5070  
  5071  	// The sequence number of the deployment.
  5072  	DeploymentNumber *int64 `type:"integer"`
  5073  
  5074  	// The amount of time AppConfig monitors for alarms before considering the deployment
  5075  	// to be complete and no longer eligible for automatic roll back.
  5076  	FinalBakeTimeInMinutes *int64 `type:"integer"`
  5077  
  5078  	// The percentage of targets to receive a deployed configuration during each
  5079  	// interval.
  5080  	GrowthFactor *float64 `min:"1" type:"float"`
  5081  
  5082  	// The algorithm used to define how percentage grows over time.
  5083  	GrowthType *string `type:"string" enum:"GrowthType"`
  5084  
  5085  	// The percentage of targets for which the deployment is available.
  5086  	PercentageComplete *float64 `min:"1" type:"float"`
  5087  
  5088  	// Time the deployment started.
  5089  	StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  5090  
  5091  	// The state of the deployment.
  5092  	State *string `type:"string" enum:"DeploymentState"`
  5093  }
  5094  
  5095  // String returns the string representation.
  5096  //
  5097  // API parameter values that are decorated as "sensitive" in the API will not
  5098  // be included in the string output. The member name will be present, but the
  5099  // value will be replaced with "sensitive".
  5100  func (s DeploymentSummary) String() string {
  5101  	return awsutil.Prettify(s)
  5102  }
  5103  
  5104  // GoString returns the string representation.
  5105  //
  5106  // API parameter values that are decorated as "sensitive" in the API will not
  5107  // be included in the string output. The member name will be present, but the
  5108  // value will be replaced with "sensitive".
  5109  func (s DeploymentSummary) GoString() string {
  5110  	return s.String()
  5111  }
  5112  
  5113  // SetCompletedAt sets the CompletedAt field's value.
  5114  func (s *DeploymentSummary) SetCompletedAt(v time.Time) *DeploymentSummary {
  5115  	s.CompletedAt = &v
  5116  	return s
  5117  }
  5118  
  5119  // SetConfigurationName sets the ConfigurationName field's value.
  5120  func (s *DeploymentSummary) SetConfigurationName(v string) *DeploymentSummary {
  5121  	s.ConfigurationName = &v
  5122  	return s
  5123  }
  5124  
  5125  // SetConfigurationVersion sets the ConfigurationVersion field's value.
  5126  func (s *DeploymentSummary) SetConfigurationVersion(v string) *DeploymentSummary {
  5127  	s.ConfigurationVersion = &v
  5128  	return s
  5129  }
  5130  
  5131  // SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
  5132  func (s *DeploymentSummary) SetDeploymentDurationInMinutes(v int64) *DeploymentSummary {
  5133  	s.DeploymentDurationInMinutes = &v
  5134  	return s
  5135  }
  5136  
  5137  // SetDeploymentNumber sets the DeploymentNumber field's value.
  5138  func (s *DeploymentSummary) SetDeploymentNumber(v int64) *DeploymentSummary {
  5139  	s.DeploymentNumber = &v
  5140  	return s
  5141  }
  5142  
  5143  // SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
  5144  func (s *DeploymentSummary) SetFinalBakeTimeInMinutes(v int64) *DeploymentSummary {
  5145  	s.FinalBakeTimeInMinutes = &v
  5146  	return s
  5147  }
  5148  
  5149  // SetGrowthFactor sets the GrowthFactor field's value.
  5150  func (s *DeploymentSummary) SetGrowthFactor(v float64) *DeploymentSummary {
  5151  	s.GrowthFactor = &v
  5152  	return s
  5153  }
  5154  
  5155  // SetGrowthType sets the GrowthType field's value.
  5156  func (s *DeploymentSummary) SetGrowthType(v string) *DeploymentSummary {
  5157  	s.GrowthType = &v
  5158  	return s
  5159  }
  5160  
  5161  // SetPercentageComplete sets the PercentageComplete field's value.
  5162  func (s *DeploymentSummary) SetPercentageComplete(v float64) *DeploymentSummary {
  5163  	s.PercentageComplete = &v
  5164  	return s
  5165  }
  5166  
  5167  // SetStartedAt sets the StartedAt field's value.
  5168  func (s *DeploymentSummary) SetStartedAt(v time.Time) *DeploymentSummary {
  5169  	s.StartedAt = &v
  5170  	return s
  5171  }
  5172  
  5173  // SetState sets the State field's value.
  5174  func (s *DeploymentSummary) SetState(v string) *DeploymentSummary {
  5175  	s.State = &v
  5176  	return s
  5177  }
  5178  
  5179  type Environment struct {
  5180  	_ struct{} `type:"structure"`
  5181  
  5182  	// The application ID.
  5183  	ApplicationId *string `type:"string"`
  5184  
  5185  	// The description of the environment.
  5186  	Description *string `type:"string"`
  5187  
  5188  	// The environment ID.
  5189  	Id *string `type:"string"`
  5190  
  5191  	// Amazon CloudWatch alarms monitored during the deployment.
  5192  	Monitors []*Monitor `type:"list"`
  5193  
  5194  	// The name of the environment.
  5195  	Name *string `min:"1" type:"string"`
  5196  
  5197  	// The state of the environment. An environment can be in one of the following
  5198  	// states: READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK, or ROLLED_BACK
  5199  	State *string `type:"string" enum:"EnvironmentState"`
  5200  }
  5201  
  5202  // String returns the string representation.
  5203  //
  5204  // API parameter values that are decorated as "sensitive" in the API will not
  5205  // be included in the string output. The member name will be present, but the
  5206  // value will be replaced with "sensitive".
  5207  func (s Environment) String() string {
  5208  	return awsutil.Prettify(s)
  5209  }
  5210  
  5211  // GoString returns the string representation.
  5212  //
  5213  // API parameter values that are decorated as "sensitive" in the API will not
  5214  // be included in the string output. The member name will be present, but the
  5215  // value will be replaced with "sensitive".
  5216  func (s Environment) GoString() string {
  5217  	return s.String()
  5218  }
  5219  
  5220  // SetApplicationId sets the ApplicationId field's value.
  5221  func (s *Environment) SetApplicationId(v string) *Environment {
  5222  	s.ApplicationId = &v
  5223  	return s
  5224  }
  5225  
  5226  // SetDescription sets the Description field's value.
  5227  func (s *Environment) SetDescription(v string) *Environment {
  5228  	s.Description = &v
  5229  	return s
  5230  }
  5231  
  5232  // SetId sets the Id field's value.
  5233  func (s *Environment) SetId(v string) *Environment {
  5234  	s.Id = &v
  5235  	return s
  5236  }
  5237  
  5238  // SetMonitors sets the Monitors field's value.
  5239  func (s *Environment) SetMonitors(v []*Monitor) *Environment {
  5240  	s.Monitors = v
  5241  	return s
  5242  }
  5243  
  5244  // SetName sets the Name field's value.
  5245  func (s *Environment) SetName(v string) *Environment {
  5246  	s.Name = &v
  5247  	return s
  5248  }
  5249  
  5250  // SetState sets the State field's value.
  5251  func (s *Environment) SetState(v string) *Environment {
  5252  	s.State = &v
  5253  	return s
  5254  }
  5255  
  5256  type GetApplicationInput struct {
  5257  	_ struct{} `type:"structure" nopayload:"true"`
  5258  
  5259  	// The ID of the application you want to get.
  5260  	//
  5261  	// ApplicationId is a required field
  5262  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  5263  }
  5264  
  5265  // String returns the string representation.
  5266  //
  5267  // API parameter values that are decorated as "sensitive" in the API will not
  5268  // be included in the string output. The member name will be present, but the
  5269  // value will be replaced with "sensitive".
  5270  func (s GetApplicationInput) String() string {
  5271  	return awsutil.Prettify(s)
  5272  }
  5273  
  5274  // GoString returns the string representation.
  5275  //
  5276  // API parameter values that are decorated as "sensitive" in the API will not
  5277  // be included in the string output. The member name will be present, but the
  5278  // value will be replaced with "sensitive".
  5279  func (s GetApplicationInput) GoString() string {
  5280  	return s.String()
  5281  }
  5282  
  5283  // Validate inspects the fields of the type to determine if they are valid.
  5284  func (s *GetApplicationInput) Validate() error {
  5285  	invalidParams := request.ErrInvalidParams{Context: "GetApplicationInput"}
  5286  	if s.ApplicationId == nil {
  5287  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  5288  	}
  5289  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  5290  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  5291  	}
  5292  
  5293  	if invalidParams.Len() > 0 {
  5294  		return invalidParams
  5295  	}
  5296  	return nil
  5297  }
  5298  
  5299  // SetApplicationId sets the ApplicationId field's value.
  5300  func (s *GetApplicationInput) SetApplicationId(v string) *GetApplicationInput {
  5301  	s.ApplicationId = &v
  5302  	return s
  5303  }
  5304  
  5305  type GetApplicationOutput struct {
  5306  	_ struct{} `type:"structure"`
  5307  
  5308  	// The description of the application.
  5309  	Description *string `type:"string"`
  5310  
  5311  	// The application ID.
  5312  	Id *string `type:"string"`
  5313  
  5314  	// The application name.
  5315  	Name *string `min:"1" type:"string"`
  5316  }
  5317  
  5318  // String returns the string representation.
  5319  //
  5320  // API parameter values that are decorated as "sensitive" in the API will not
  5321  // be included in the string output. The member name will be present, but the
  5322  // value will be replaced with "sensitive".
  5323  func (s GetApplicationOutput) String() string {
  5324  	return awsutil.Prettify(s)
  5325  }
  5326  
  5327  // GoString returns the string representation.
  5328  //
  5329  // API parameter values that are decorated as "sensitive" in the API will not
  5330  // be included in the string output. The member name will be present, but the
  5331  // value will be replaced with "sensitive".
  5332  func (s GetApplicationOutput) GoString() string {
  5333  	return s.String()
  5334  }
  5335  
  5336  // SetDescription sets the Description field's value.
  5337  func (s *GetApplicationOutput) SetDescription(v string) *GetApplicationOutput {
  5338  	s.Description = &v
  5339  	return s
  5340  }
  5341  
  5342  // SetId sets the Id field's value.
  5343  func (s *GetApplicationOutput) SetId(v string) *GetApplicationOutput {
  5344  	s.Id = &v
  5345  	return s
  5346  }
  5347  
  5348  // SetName sets the Name field's value.
  5349  func (s *GetApplicationOutput) SetName(v string) *GetApplicationOutput {
  5350  	s.Name = &v
  5351  	return s
  5352  }
  5353  
  5354  type GetConfigurationInput struct {
  5355  	_ struct{} `type:"structure" nopayload:"true"`
  5356  
  5357  	// The application to get. Specify either the application name or the application
  5358  	// ID.
  5359  	//
  5360  	// Application is a required field
  5361  	Application *string `location:"uri" locationName:"Application" min:"1" type:"string" required:"true"`
  5362  
  5363  	// The configuration version returned in the most recent GetConfiguration response.
  5364  	//
  5365  	// AWS AppConfig uses the value of the ClientConfigurationVersion parameter
  5366  	// to identify the configuration version on your clients. If you don’t send
  5367  	// ClientConfigurationVersion with each call to GetConfiguration, your clients
  5368  	// receive the current configuration. You are charged each time your clients
  5369  	// receive a configuration.
  5370  	//
  5371  	// To avoid excess charges, we recommend that you include the ClientConfigurationVersion
  5372  	// value with every call to GetConfiguration. This value must be saved on your
  5373  	// client. Subsequent calls to GetConfiguration must pass this value by using
  5374  	// the ClientConfigurationVersion parameter.
  5375  	//
  5376  	// For more information about working with configurations, see Retrieving the
  5377  	// Configuration (https://docs.aws.amazon.com/systems-manager/latest/userguide/appconfig-retrieving-the-configuration.html)
  5378  	// in the AWS AppConfig User Guide.
  5379  	ClientConfigurationVersion *string `location:"querystring" locationName:"client_configuration_version" min:"1" type:"string"`
  5380  
  5381  	// A unique ID to identify the client for the configuration. This ID enables
  5382  	// AppConfig to deploy the configuration in intervals, as defined in the deployment
  5383  	// strategy.
  5384  	//
  5385  	// ClientId is a required field
  5386  	ClientId *string `location:"querystring" locationName:"client_id" min:"1" type:"string" required:"true"`
  5387  
  5388  	// The configuration to get. Specify either the configuration name or the configuration
  5389  	// ID.
  5390  	//
  5391  	// Configuration is a required field
  5392  	Configuration *string `location:"uri" locationName:"Configuration" min:"1" type:"string" required:"true"`
  5393  
  5394  	// The environment to get. Specify either the environment name or the environment
  5395  	// ID.
  5396  	//
  5397  	// Environment is a required field
  5398  	Environment *string `location:"uri" locationName:"Environment" min:"1" type:"string" required:"true"`
  5399  }
  5400  
  5401  // String returns the string representation.
  5402  //
  5403  // API parameter values that are decorated as "sensitive" in the API will not
  5404  // be included in the string output. The member name will be present, but the
  5405  // value will be replaced with "sensitive".
  5406  func (s GetConfigurationInput) String() string {
  5407  	return awsutil.Prettify(s)
  5408  }
  5409  
  5410  // GoString returns the string representation.
  5411  //
  5412  // API parameter values that are decorated as "sensitive" in the API will not
  5413  // be included in the string output. The member name will be present, but the
  5414  // value will be replaced with "sensitive".
  5415  func (s GetConfigurationInput) GoString() string {
  5416  	return s.String()
  5417  }
  5418  
  5419  // Validate inspects the fields of the type to determine if they are valid.
  5420  func (s *GetConfigurationInput) Validate() error {
  5421  	invalidParams := request.ErrInvalidParams{Context: "GetConfigurationInput"}
  5422  	if s.Application == nil {
  5423  		invalidParams.Add(request.NewErrParamRequired("Application"))
  5424  	}
  5425  	if s.Application != nil && len(*s.Application) < 1 {
  5426  		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
  5427  	}
  5428  	if s.ClientConfigurationVersion != nil && len(*s.ClientConfigurationVersion) < 1 {
  5429  		invalidParams.Add(request.NewErrParamMinLen("ClientConfigurationVersion", 1))
  5430  	}
  5431  	if s.ClientId == nil {
  5432  		invalidParams.Add(request.NewErrParamRequired("ClientId"))
  5433  	}
  5434  	if s.ClientId != nil && len(*s.ClientId) < 1 {
  5435  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
  5436  	}
  5437  	if s.Configuration == nil {
  5438  		invalidParams.Add(request.NewErrParamRequired("Configuration"))
  5439  	}
  5440  	if s.Configuration != nil && len(*s.Configuration) < 1 {
  5441  		invalidParams.Add(request.NewErrParamMinLen("Configuration", 1))
  5442  	}
  5443  	if s.Environment == nil {
  5444  		invalidParams.Add(request.NewErrParamRequired("Environment"))
  5445  	}
  5446  	if s.Environment != nil && len(*s.Environment) < 1 {
  5447  		invalidParams.Add(request.NewErrParamMinLen("Environment", 1))
  5448  	}
  5449  
  5450  	if invalidParams.Len() > 0 {
  5451  		return invalidParams
  5452  	}
  5453  	return nil
  5454  }
  5455  
  5456  // SetApplication sets the Application field's value.
  5457  func (s *GetConfigurationInput) SetApplication(v string) *GetConfigurationInput {
  5458  	s.Application = &v
  5459  	return s
  5460  }
  5461  
  5462  // SetClientConfigurationVersion sets the ClientConfigurationVersion field's value.
  5463  func (s *GetConfigurationInput) SetClientConfigurationVersion(v string) *GetConfigurationInput {
  5464  	s.ClientConfigurationVersion = &v
  5465  	return s
  5466  }
  5467  
  5468  // SetClientId sets the ClientId field's value.
  5469  func (s *GetConfigurationInput) SetClientId(v string) *GetConfigurationInput {
  5470  	s.ClientId = &v
  5471  	return s
  5472  }
  5473  
  5474  // SetConfiguration sets the Configuration field's value.
  5475  func (s *GetConfigurationInput) SetConfiguration(v string) *GetConfigurationInput {
  5476  	s.Configuration = &v
  5477  	return s
  5478  }
  5479  
  5480  // SetEnvironment sets the Environment field's value.
  5481  func (s *GetConfigurationInput) SetEnvironment(v string) *GetConfigurationInput {
  5482  	s.Environment = &v
  5483  	return s
  5484  }
  5485  
  5486  type GetConfigurationOutput struct {
  5487  	_ struct{} `type:"structure" payload:"Content"`
  5488  
  5489  	// The configuration version.
  5490  	ConfigurationVersion *string `location:"header" locationName:"Configuration-Version" min:"1" type:"string"`
  5491  
  5492  	// The content of the configuration or the configuration data.
  5493  	//
  5494  	// Content is a sensitive parameter and its value will be
  5495  	// replaced with "sensitive" in string returned by GetConfigurationOutput's
  5496  	// String and GoString methods.
  5497  	Content []byte `type:"blob" sensitive:"true"`
  5498  
  5499  	// A standard MIME type describing the format of the configuration content.
  5500  	// For more information, see Content-Type (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17).
  5501  	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
  5502  }
  5503  
  5504  // String returns the string representation.
  5505  //
  5506  // API parameter values that are decorated as "sensitive" in the API will not
  5507  // be included in the string output. The member name will be present, but the
  5508  // value will be replaced with "sensitive".
  5509  func (s GetConfigurationOutput) String() string {
  5510  	return awsutil.Prettify(s)
  5511  }
  5512  
  5513  // GoString returns the string representation.
  5514  //
  5515  // API parameter values that are decorated as "sensitive" in the API will not
  5516  // be included in the string output. The member name will be present, but the
  5517  // value will be replaced with "sensitive".
  5518  func (s GetConfigurationOutput) GoString() string {
  5519  	return s.String()
  5520  }
  5521  
  5522  // SetConfigurationVersion sets the ConfigurationVersion field's value.
  5523  func (s *GetConfigurationOutput) SetConfigurationVersion(v string) *GetConfigurationOutput {
  5524  	s.ConfigurationVersion = &v
  5525  	return s
  5526  }
  5527  
  5528  // SetContent sets the Content field's value.
  5529  func (s *GetConfigurationOutput) SetContent(v []byte) *GetConfigurationOutput {
  5530  	s.Content = v
  5531  	return s
  5532  }
  5533  
  5534  // SetContentType sets the ContentType field's value.
  5535  func (s *GetConfigurationOutput) SetContentType(v string) *GetConfigurationOutput {
  5536  	s.ContentType = &v
  5537  	return s
  5538  }
  5539  
  5540  type GetConfigurationProfileInput struct {
  5541  	_ struct{} `type:"structure" nopayload:"true"`
  5542  
  5543  	// The ID of the application that includes the configuration profile you want
  5544  	// to get.
  5545  	//
  5546  	// ApplicationId is a required field
  5547  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  5548  
  5549  	// The ID of the configuration profile you want to get.
  5550  	//
  5551  	// ConfigurationProfileId is a required field
  5552  	ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"`
  5553  }
  5554  
  5555  // String returns the string representation.
  5556  //
  5557  // API parameter values that are decorated as "sensitive" in the API will not
  5558  // be included in the string output. The member name will be present, but the
  5559  // value will be replaced with "sensitive".
  5560  func (s GetConfigurationProfileInput) String() string {
  5561  	return awsutil.Prettify(s)
  5562  }
  5563  
  5564  // GoString returns the string representation.
  5565  //
  5566  // API parameter values that are decorated as "sensitive" in the API will not
  5567  // be included in the string output. The member name will be present, but the
  5568  // value will be replaced with "sensitive".
  5569  func (s GetConfigurationProfileInput) GoString() string {
  5570  	return s.String()
  5571  }
  5572  
  5573  // Validate inspects the fields of the type to determine if they are valid.
  5574  func (s *GetConfigurationProfileInput) Validate() error {
  5575  	invalidParams := request.ErrInvalidParams{Context: "GetConfigurationProfileInput"}
  5576  	if s.ApplicationId == nil {
  5577  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  5578  	}
  5579  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  5580  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  5581  	}
  5582  	if s.ConfigurationProfileId == nil {
  5583  		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
  5584  	}
  5585  	if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 {
  5586  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1))
  5587  	}
  5588  
  5589  	if invalidParams.Len() > 0 {
  5590  		return invalidParams
  5591  	}
  5592  	return nil
  5593  }
  5594  
  5595  // SetApplicationId sets the ApplicationId field's value.
  5596  func (s *GetConfigurationProfileInput) SetApplicationId(v string) *GetConfigurationProfileInput {
  5597  	s.ApplicationId = &v
  5598  	return s
  5599  }
  5600  
  5601  // SetConfigurationProfileId sets the ConfigurationProfileId field's value.
  5602  func (s *GetConfigurationProfileInput) SetConfigurationProfileId(v string) *GetConfigurationProfileInput {
  5603  	s.ConfigurationProfileId = &v
  5604  	return s
  5605  }
  5606  
  5607  type GetConfigurationProfileOutput struct {
  5608  	_ struct{} `type:"structure"`
  5609  
  5610  	// The application ID.
  5611  	ApplicationId *string `type:"string"`
  5612  
  5613  	// The configuration profile description.
  5614  	Description *string `type:"string"`
  5615  
  5616  	// The configuration profile ID.
  5617  	Id *string `type:"string"`
  5618  
  5619  	// The URI location of the configuration.
  5620  	LocationUri *string `min:"1" type:"string"`
  5621  
  5622  	// The name of the configuration profile.
  5623  	Name *string `min:"1" type:"string"`
  5624  
  5625  	// The ARN of an IAM role with permission to access the configuration at the
  5626  	// specified LocationUri.
  5627  	RetrievalRoleArn *string `min:"20" type:"string"`
  5628  
  5629  	// A list of methods for validating the configuration.
  5630  	Validators []*Validator `type:"list"`
  5631  }
  5632  
  5633  // String returns the string representation.
  5634  //
  5635  // API parameter values that are decorated as "sensitive" in the API will not
  5636  // be included in the string output. The member name will be present, but the
  5637  // value will be replaced with "sensitive".
  5638  func (s GetConfigurationProfileOutput) String() string {
  5639  	return awsutil.Prettify(s)
  5640  }
  5641  
  5642  // GoString returns the string representation.
  5643  //
  5644  // API parameter values that are decorated as "sensitive" in the API will not
  5645  // be included in the string output. The member name will be present, but the
  5646  // value will be replaced with "sensitive".
  5647  func (s GetConfigurationProfileOutput) GoString() string {
  5648  	return s.String()
  5649  }
  5650  
  5651  // SetApplicationId sets the ApplicationId field's value.
  5652  func (s *GetConfigurationProfileOutput) SetApplicationId(v string) *GetConfigurationProfileOutput {
  5653  	s.ApplicationId = &v
  5654  	return s
  5655  }
  5656  
  5657  // SetDescription sets the Description field's value.
  5658  func (s *GetConfigurationProfileOutput) SetDescription(v string) *GetConfigurationProfileOutput {
  5659  	s.Description = &v
  5660  	return s
  5661  }
  5662  
  5663  // SetId sets the Id field's value.
  5664  func (s *GetConfigurationProfileOutput) SetId(v string) *GetConfigurationProfileOutput {
  5665  	s.Id = &v
  5666  	return s
  5667  }
  5668  
  5669  // SetLocationUri sets the LocationUri field's value.
  5670  func (s *GetConfigurationProfileOutput) SetLocationUri(v string) *GetConfigurationProfileOutput {
  5671  	s.LocationUri = &v
  5672  	return s
  5673  }
  5674  
  5675  // SetName sets the Name field's value.
  5676  func (s *GetConfigurationProfileOutput) SetName(v string) *GetConfigurationProfileOutput {
  5677  	s.Name = &v
  5678  	return s
  5679  }
  5680  
  5681  // SetRetrievalRoleArn sets the RetrievalRoleArn field's value.
  5682  func (s *GetConfigurationProfileOutput) SetRetrievalRoleArn(v string) *GetConfigurationProfileOutput {
  5683  	s.RetrievalRoleArn = &v
  5684  	return s
  5685  }
  5686  
  5687  // SetValidators sets the Validators field's value.
  5688  func (s *GetConfigurationProfileOutput) SetValidators(v []*Validator) *GetConfigurationProfileOutput {
  5689  	s.Validators = v
  5690  	return s
  5691  }
  5692  
  5693  type GetDeploymentInput struct {
  5694  	_ struct{} `type:"structure" nopayload:"true"`
  5695  
  5696  	// The ID of the application that includes the deployment you want to get.
  5697  	//
  5698  	// ApplicationId is a required field
  5699  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  5700  
  5701  	// The sequence number of the deployment.
  5702  	//
  5703  	// DeploymentNumber is a required field
  5704  	DeploymentNumber *int64 `location:"uri" locationName:"DeploymentNumber" type:"integer" required:"true"`
  5705  
  5706  	// The ID of the environment that includes the deployment you want to get.
  5707  	//
  5708  	// EnvironmentId is a required field
  5709  	EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"`
  5710  }
  5711  
  5712  // String returns the string representation.
  5713  //
  5714  // API parameter values that are decorated as "sensitive" in the API will not
  5715  // be included in the string output. The member name will be present, but the
  5716  // value will be replaced with "sensitive".
  5717  func (s GetDeploymentInput) String() string {
  5718  	return awsutil.Prettify(s)
  5719  }
  5720  
  5721  // GoString returns the string representation.
  5722  //
  5723  // API parameter values that are decorated as "sensitive" in the API will not
  5724  // be included in the string output. The member name will be present, but the
  5725  // value will be replaced with "sensitive".
  5726  func (s GetDeploymentInput) GoString() string {
  5727  	return s.String()
  5728  }
  5729  
  5730  // Validate inspects the fields of the type to determine if they are valid.
  5731  func (s *GetDeploymentInput) Validate() error {
  5732  	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentInput"}
  5733  	if s.ApplicationId == nil {
  5734  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  5735  	}
  5736  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  5737  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  5738  	}
  5739  	if s.DeploymentNumber == nil {
  5740  		invalidParams.Add(request.NewErrParamRequired("DeploymentNumber"))
  5741  	}
  5742  	if s.EnvironmentId == nil {
  5743  		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
  5744  	}
  5745  	if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 {
  5746  		invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1))
  5747  	}
  5748  
  5749  	if invalidParams.Len() > 0 {
  5750  		return invalidParams
  5751  	}
  5752  	return nil
  5753  }
  5754  
  5755  // SetApplicationId sets the ApplicationId field's value.
  5756  func (s *GetDeploymentInput) SetApplicationId(v string) *GetDeploymentInput {
  5757  	s.ApplicationId = &v
  5758  	return s
  5759  }
  5760  
  5761  // SetDeploymentNumber sets the DeploymentNumber field's value.
  5762  func (s *GetDeploymentInput) SetDeploymentNumber(v int64) *GetDeploymentInput {
  5763  	s.DeploymentNumber = &v
  5764  	return s
  5765  }
  5766  
  5767  // SetEnvironmentId sets the EnvironmentId field's value.
  5768  func (s *GetDeploymentInput) SetEnvironmentId(v string) *GetDeploymentInput {
  5769  	s.EnvironmentId = &v
  5770  	return s
  5771  }
  5772  
  5773  type GetDeploymentOutput struct {
  5774  	_ struct{} `type:"structure"`
  5775  
  5776  	// The ID of the application that was deployed.
  5777  	ApplicationId *string `type:"string"`
  5778  
  5779  	// The time the deployment completed.
  5780  	CompletedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  5781  
  5782  	// Information about the source location of the configuration.
  5783  	ConfigurationLocationUri *string `min:"1" type:"string"`
  5784  
  5785  	// The name of the configuration.
  5786  	ConfigurationName *string `min:"1" type:"string"`
  5787  
  5788  	// The ID of the configuration profile that was deployed.
  5789  	ConfigurationProfileId *string `type:"string"`
  5790  
  5791  	// The configuration version that was deployed.
  5792  	ConfigurationVersion *string `min:"1" type:"string"`
  5793  
  5794  	// Total amount of time the deployment lasted.
  5795  	DeploymentDurationInMinutes *int64 `type:"integer"`
  5796  
  5797  	// The sequence number of the deployment.
  5798  	DeploymentNumber *int64 `type:"integer"`
  5799  
  5800  	// The ID of the deployment strategy that was deployed.
  5801  	DeploymentStrategyId *string `type:"string"`
  5802  
  5803  	// The description of the deployment.
  5804  	Description *string `type:"string"`
  5805  
  5806  	// The ID of the environment that was deployed.
  5807  	EnvironmentId *string `type:"string"`
  5808  
  5809  	// A list containing all events related to a deployment. The most recent events
  5810  	// are displayed first.
  5811  	EventLog []*DeploymentEvent `type:"list"`
  5812  
  5813  	// The amount of time AppConfig monitored for alarms before considering the
  5814  	// deployment to be complete and no longer eligible for automatic roll back.
  5815  	FinalBakeTimeInMinutes *int64 `type:"integer"`
  5816  
  5817  	// The percentage of targets to receive a deployed configuration during each
  5818  	// interval.
  5819  	GrowthFactor *float64 `min:"1" type:"float"`
  5820  
  5821  	// The algorithm used to define how percentage grew over time.
  5822  	GrowthType *string `type:"string" enum:"GrowthType"`
  5823  
  5824  	// The percentage of targets for which the deployment is available.
  5825  	PercentageComplete *float64 `min:"1" type:"float"`
  5826  
  5827  	// The time the deployment started.
  5828  	StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  5829  
  5830  	// The state of the deployment.
  5831  	State *string `type:"string" enum:"DeploymentState"`
  5832  }
  5833  
  5834  // String returns the string representation.
  5835  //
  5836  // API parameter values that are decorated as "sensitive" in the API will not
  5837  // be included in the string output. The member name will be present, but the
  5838  // value will be replaced with "sensitive".
  5839  func (s GetDeploymentOutput) String() string {
  5840  	return awsutil.Prettify(s)
  5841  }
  5842  
  5843  // GoString returns the string representation.
  5844  //
  5845  // API parameter values that are decorated as "sensitive" in the API will not
  5846  // be included in the string output. The member name will be present, but the
  5847  // value will be replaced with "sensitive".
  5848  func (s GetDeploymentOutput) GoString() string {
  5849  	return s.String()
  5850  }
  5851  
  5852  // SetApplicationId sets the ApplicationId field's value.
  5853  func (s *GetDeploymentOutput) SetApplicationId(v string) *GetDeploymentOutput {
  5854  	s.ApplicationId = &v
  5855  	return s
  5856  }
  5857  
  5858  // SetCompletedAt sets the CompletedAt field's value.
  5859  func (s *GetDeploymentOutput) SetCompletedAt(v time.Time) *GetDeploymentOutput {
  5860  	s.CompletedAt = &v
  5861  	return s
  5862  }
  5863  
  5864  // SetConfigurationLocationUri sets the ConfigurationLocationUri field's value.
  5865  func (s *GetDeploymentOutput) SetConfigurationLocationUri(v string) *GetDeploymentOutput {
  5866  	s.ConfigurationLocationUri = &v
  5867  	return s
  5868  }
  5869  
  5870  // SetConfigurationName sets the ConfigurationName field's value.
  5871  func (s *GetDeploymentOutput) SetConfigurationName(v string) *GetDeploymentOutput {
  5872  	s.ConfigurationName = &v
  5873  	return s
  5874  }
  5875  
  5876  // SetConfigurationProfileId sets the ConfigurationProfileId field's value.
  5877  func (s *GetDeploymentOutput) SetConfigurationProfileId(v string) *GetDeploymentOutput {
  5878  	s.ConfigurationProfileId = &v
  5879  	return s
  5880  }
  5881  
  5882  // SetConfigurationVersion sets the ConfigurationVersion field's value.
  5883  func (s *GetDeploymentOutput) SetConfigurationVersion(v string) *GetDeploymentOutput {
  5884  	s.ConfigurationVersion = &v
  5885  	return s
  5886  }
  5887  
  5888  // SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
  5889  func (s *GetDeploymentOutput) SetDeploymentDurationInMinutes(v int64) *GetDeploymentOutput {
  5890  	s.DeploymentDurationInMinutes = &v
  5891  	return s
  5892  }
  5893  
  5894  // SetDeploymentNumber sets the DeploymentNumber field's value.
  5895  func (s *GetDeploymentOutput) SetDeploymentNumber(v int64) *GetDeploymentOutput {
  5896  	s.DeploymentNumber = &v
  5897  	return s
  5898  }
  5899  
  5900  // SetDeploymentStrategyId sets the DeploymentStrategyId field's value.
  5901  func (s *GetDeploymentOutput) SetDeploymentStrategyId(v string) *GetDeploymentOutput {
  5902  	s.DeploymentStrategyId = &v
  5903  	return s
  5904  }
  5905  
  5906  // SetDescription sets the Description field's value.
  5907  func (s *GetDeploymentOutput) SetDescription(v string) *GetDeploymentOutput {
  5908  	s.Description = &v
  5909  	return s
  5910  }
  5911  
  5912  // SetEnvironmentId sets the EnvironmentId field's value.
  5913  func (s *GetDeploymentOutput) SetEnvironmentId(v string) *GetDeploymentOutput {
  5914  	s.EnvironmentId = &v
  5915  	return s
  5916  }
  5917  
  5918  // SetEventLog sets the EventLog field's value.
  5919  func (s *GetDeploymentOutput) SetEventLog(v []*DeploymentEvent) *GetDeploymentOutput {
  5920  	s.EventLog = v
  5921  	return s
  5922  }
  5923  
  5924  // SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
  5925  func (s *GetDeploymentOutput) SetFinalBakeTimeInMinutes(v int64) *GetDeploymentOutput {
  5926  	s.FinalBakeTimeInMinutes = &v
  5927  	return s
  5928  }
  5929  
  5930  // SetGrowthFactor sets the GrowthFactor field's value.
  5931  func (s *GetDeploymentOutput) SetGrowthFactor(v float64) *GetDeploymentOutput {
  5932  	s.GrowthFactor = &v
  5933  	return s
  5934  }
  5935  
  5936  // SetGrowthType sets the GrowthType field's value.
  5937  func (s *GetDeploymentOutput) SetGrowthType(v string) *GetDeploymentOutput {
  5938  	s.GrowthType = &v
  5939  	return s
  5940  }
  5941  
  5942  // SetPercentageComplete sets the PercentageComplete field's value.
  5943  func (s *GetDeploymentOutput) SetPercentageComplete(v float64) *GetDeploymentOutput {
  5944  	s.PercentageComplete = &v
  5945  	return s
  5946  }
  5947  
  5948  // SetStartedAt sets the StartedAt field's value.
  5949  func (s *GetDeploymentOutput) SetStartedAt(v time.Time) *GetDeploymentOutput {
  5950  	s.StartedAt = &v
  5951  	return s
  5952  }
  5953  
  5954  // SetState sets the State field's value.
  5955  func (s *GetDeploymentOutput) SetState(v string) *GetDeploymentOutput {
  5956  	s.State = &v
  5957  	return s
  5958  }
  5959  
  5960  type GetDeploymentStrategyInput struct {
  5961  	_ struct{} `type:"structure" nopayload:"true"`
  5962  
  5963  	// The ID of the deployment strategy to get.
  5964  	//
  5965  	// DeploymentStrategyId is a required field
  5966  	DeploymentStrategyId *string `location:"uri" locationName:"DeploymentStrategyId" type:"string" required:"true"`
  5967  }
  5968  
  5969  // String returns the string representation.
  5970  //
  5971  // API parameter values that are decorated as "sensitive" in the API will not
  5972  // be included in the string output. The member name will be present, but the
  5973  // value will be replaced with "sensitive".
  5974  func (s GetDeploymentStrategyInput) String() string {
  5975  	return awsutil.Prettify(s)
  5976  }
  5977  
  5978  // GoString returns the string representation.
  5979  //
  5980  // API parameter values that are decorated as "sensitive" in the API will not
  5981  // be included in the string output. The member name will be present, but the
  5982  // value will be replaced with "sensitive".
  5983  func (s GetDeploymentStrategyInput) GoString() string {
  5984  	return s.String()
  5985  }
  5986  
  5987  // Validate inspects the fields of the type to determine if they are valid.
  5988  func (s *GetDeploymentStrategyInput) Validate() error {
  5989  	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentStrategyInput"}
  5990  	if s.DeploymentStrategyId == nil {
  5991  		invalidParams.Add(request.NewErrParamRequired("DeploymentStrategyId"))
  5992  	}
  5993  	if s.DeploymentStrategyId != nil && len(*s.DeploymentStrategyId) < 1 {
  5994  		invalidParams.Add(request.NewErrParamMinLen("DeploymentStrategyId", 1))
  5995  	}
  5996  
  5997  	if invalidParams.Len() > 0 {
  5998  		return invalidParams
  5999  	}
  6000  	return nil
  6001  }
  6002  
  6003  // SetDeploymentStrategyId sets the DeploymentStrategyId field's value.
  6004  func (s *GetDeploymentStrategyInput) SetDeploymentStrategyId(v string) *GetDeploymentStrategyInput {
  6005  	s.DeploymentStrategyId = &v
  6006  	return s
  6007  }
  6008  
  6009  type GetDeploymentStrategyOutput struct {
  6010  	_ struct{} `type:"structure"`
  6011  
  6012  	// Total amount of time the deployment lasted.
  6013  	DeploymentDurationInMinutes *int64 `type:"integer"`
  6014  
  6015  	// The description of the deployment strategy.
  6016  	Description *string `type:"string"`
  6017  
  6018  	// The amount of time AppConfig monitored for alarms before considering the
  6019  	// deployment to be complete and no longer eligible for automatic roll back.
  6020  	FinalBakeTimeInMinutes *int64 `type:"integer"`
  6021  
  6022  	// The percentage of targets that received a deployed configuration during each
  6023  	// interval.
  6024  	GrowthFactor *float64 `min:"1" type:"float"`
  6025  
  6026  	// The algorithm used to define how percentage grew over time.
  6027  	GrowthType *string `type:"string" enum:"GrowthType"`
  6028  
  6029  	// The deployment strategy ID.
  6030  	Id *string `type:"string"`
  6031  
  6032  	// The name of the deployment strategy.
  6033  	Name *string `min:"1" type:"string"`
  6034  
  6035  	// Save the deployment strategy to a Systems Manager (SSM) document.
  6036  	ReplicateTo *string `type:"string" enum:"ReplicateTo"`
  6037  }
  6038  
  6039  // String returns the string representation.
  6040  //
  6041  // API parameter values that are decorated as "sensitive" in the API will not
  6042  // be included in the string output. The member name will be present, but the
  6043  // value will be replaced with "sensitive".
  6044  func (s GetDeploymentStrategyOutput) String() string {
  6045  	return awsutil.Prettify(s)
  6046  }
  6047  
  6048  // GoString returns the string representation.
  6049  //
  6050  // API parameter values that are decorated as "sensitive" in the API will not
  6051  // be included in the string output. The member name will be present, but the
  6052  // value will be replaced with "sensitive".
  6053  func (s GetDeploymentStrategyOutput) GoString() string {
  6054  	return s.String()
  6055  }
  6056  
  6057  // SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
  6058  func (s *GetDeploymentStrategyOutput) SetDeploymentDurationInMinutes(v int64) *GetDeploymentStrategyOutput {
  6059  	s.DeploymentDurationInMinutes = &v
  6060  	return s
  6061  }
  6062  
  6063  // SetDescription sets the Description field's value.
  6064  func (s *GetDeploymentStrategyOutput) SetDescription(v string) *GetDeploymentStrategyOutput {
  6065  	s.Description = &v
  6066  	return s
  6067  }
  6068  
  6069  // SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
  6070  func (s *GetDeploymentStrategyOutput) SetFinalBakeTimeInMinutes(v int64) *GetDeploymentStrategyOutput {
  6071  	s.FinalBakeTimeInMinutes = &v
  6072  	return s
  6073  }
  6074  
  6075  // SetGrowthFactor sets the GrowthFactor field's value.
  6076  func (s *GetDeploymentStrategyOutput) SetGrowthFactor(v float64) *GetDeploymentStrategyOutput {
  6077  	s.GrowthFactor = &v
  6078  	return s
  6079  }
  6080  
  6081  // SetGrowthType sets the GrowthType field's value.
  6082  func (s *GetDeploymentStrategyOutput) SetGrowthType(v string) *GetDeploymentStrategyOutput {
  6083  	s.GrowthType = &v
  6084  	return s
  6085  }
  6086  
  6087  // SetId sets the Id field's value.
  6088  func (s *GetDeploymentStrategyOutput) SetId(v string) *GetDeploymentStrategyOutput {
  6089  	s.Id = &v
  6090  	return s
  6091  }
  6092  
  6093  // SetName sets the Name field's value.
  6094  func (s *GetDeploymentStrategyOutput) SetName(v string) *GetDeploymentStrategyOutput {
  6095  	s.Name = &v
  6096  	return s
  6097  }
  6098  
  6099  // SetReplicateTo sets the ReplicateTo field's value.
  6100  func (s *GetDeploymentStrategyOutput) SetReplicateTo(v string) *GetDeploymentStrategyOutput {
  6101  	s.ReplicateTo = &v
  6102  	return s
  6103  }
  6104  
  6105  type GetEnvironmentInput struct {
  6106  	_ struct{} `type:"structure" nopayload:"true"`
  6107  
  6108  	// The ID of the application that includes the environment you want to get.
  6109  	//
  6110  	// ApplicationId is a required field
  6111  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  6112  
  6113  	// The ID of the environment you wnat to get.
  6114  	//
  6115  	// EnvironmentId is a required field
  6116  	EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"`
  6117  }
  6118  
  6119  // String returns the string representation.
  6120  //
  6121  // API parameter values that are decorated as "sensitive" in the API will not
  6122  // be included in the string output. The member name will be present, but the
  6123  // value will be replaced with "sensitive".
  6124  func (s GetEnvironmentInput) String() string {
  6125  	return awsutil.Prettify(s)
  6126  }
  6127  
  6128  // GoString returns the string representation.
  6129  //
  6130  // API parameter values that are decorated as "sensitive" in the API will not
  6131  // be included in the string output. The member name will be present, but the
  6132  // value will be replaced with "sensitive".
  6133  func (s GetEnvironmentInput) GoString() string {
  6134  	return s.String()
  6135  }
  6136  
  6137  // Validate inspects the fields of the type to determine if they are valid.
  6138  func (s *GetEnvironmentInput) Validate() error {
  6139  	invalidParams := request.ErrInvalidParams{Context: "GetEnvironmentInput"}
  6140  	if s.ApplicationId == nil {
  6141  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  6142  	}
  6143  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  6144  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  6145  	}
  6146  	if s.EnvironmentId == nil {
  6147  		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
  6148  	}
  6149  	if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 {
  6150  		invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1))
  6151  	}
  6152  
  6153  	if invalidParams.Len() > 0 {
  6154  		return invalidParams
  6155  	}
  6156  	return nil
  6157  }
  6158  
  6159  // SetApplicationId sets the ApplicationId field's value.
  6160  func (s *GetEnvironmentInput) SetApplicationId(v string) *GetEnvironmentInput {
  6161  	s.ApplicationId = &v
  6162  	return s
  6163  }
  6164  
  6165  // SetEnvironmentId sets the EnvironmentId field's value.
  6166  func (s *GetEnvironmentInput) SetEnvironmentId(v string) *GetEnvironmentInput {
  6167  	s.EnvironmentId = &v
  6168  	return s
  6169  }
  6170  
  6171  type GetEnvironmentOutput struct {
  6172  	_ struct{} `type:"structure"`
  6173  
  6174  	// The application ID.
  6175  	ApplicationId *string `type:"string"`
  6176  
  6177  	// The description of the environment.
  6178  	Description *string `type:"string"`
  6179  
  6180  	// The environment ID.
  6181  	Id *string `type:"string"`
  6182  
  6183  	// Amazon CloudWatch alarms monitored during the deployment.
  6184  	Monitors []*Monitor `type:"list"`
  6185  
  6186  	// The name of the environment.
  6187  	Name *string `min:"1" type:"string"`
  6188  
  6189  	// The state of the environment. An environment can be in one of the following
  6190  	// states: READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK, or ROLLED_BACK
  6191  	State *string `type:"string" enum:"EnvironmentState"`
  6192  }
  6193  
  6194  // String returns the string representation.
  6195  //
  6196  // API parameter values that are decorated as "sensitive" in the API will not
  6197  // be included in the string output. The member name will be present, but the
  6198  // value will be replaced with "sensitive".
  6199  func (s GetEnvironmentOutput) String() string {
  6200  	return awsutil.Prettify(s)
  6201  }
  6202  
  6203  // GoString returns the string representation.
  6204  //
  6205  // API parameter values that are decorated as "sensitive" in the API will not
  6206  // be included in the string output. The member name will be present, but the
  6207  // value will be replaced with "sensitive".
  6208  func (s GetEnvironmentOutput) GoString() string {
  6209  	return s.String()
  6210  }
  6211  
  6212  // SetApplicationId sets the ApplicationId field's value.
  6213  func (s *GetEnvironmentOutput) SetApplicationId(v string) *GetEnvironmentOutput {
  6214  	s.ApplicationId = &v
  6215  	return s
  6216  }
  6217  
  6218  // SetDescription sets the Description field's value.
  6219  func (s *GetEnvironmentOutput) SetDescription(v string) *GetEnvironmentOutput {
  6220  	s.Description = &v
  6221  	return s
  6222  }
  6223  
  6224  // SetId sets the Id field's value.
  6225  func (s *GetEnvironmentOutput) SetId(v string) *GetEnvironmentOutput {
  6226  	s.Id = &v
  6227  	return s
  6228  }
  6229  
  6230  // SetMonitors sets the Monitors field's value.
  6231  func (s *GetEnvironmentOutput) SetMonitors(v []*Monitor) *GetEnvironmentOutput {
  6232  	s.Monitors = v
  6233  	return s
  6234  }
  6235  
  6236  // SetName sets the Name field's value.
  6237  func (s *GetEnvironmentOutput) SetName(v string) *GetEnvironmentOutput {
  6238  	s.Name = &v
  6239  	return s
  6240  }
  6241  
  6242  // SetState sets the State field's value.
  6243  func (s *GetEnvironmentOutput) SetState(v string) *GetEnvironmentOutput {
  6244  	s.State = &v
  6245  	return s
  6246  }
  6247  
  6248  type GetHostedConfigurationVersionInput struct {
  6249  	_ struct{} `type:"structure" nopayload:"true"`
  6250  
  6251  	// The application ID.
  6252  	//
  6253  	// ApplicationId is a required field
  6254  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  6255  
  6256  	// The configuration profile ID.
  6257  	//
  6258  	// ConfigurationProfileId is a required field
  6259  	ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"`
  6260  
  6261  	// The version.
  6262  	//
  6263  	// VersionNumber is a required field
  6264  	VersionNumber *int64 `location:"uri" locationName:"VersionNumber" type:"integer" required:"true"`
  6265  }
  6266  
  6267  // String returns the string representation.
  6268  //
  6269  // API parameter values that are decorated as "sensitive" in the API will not
  6270  // be included in the string output. The member name will be present, but the
  6271  // value will be replaced with "sensitive".
  6272  func (s GetHostedConfigurationVersionInput) String() string {
  6273  	return awsutil.Prettify(s)
  6274  }
  6275  
  6276  // GoString returns the string representation.
  6277  //
  6278  // API parameter values that are decorated as "sensitive" in the API will not
  6279  // be included in the string output. The member name will be present, but the
  6280  // value will be replaced with "sensitive".
  6281  func (s GetHostedConfigurationVersionInput) GoString() string {
  6282  	return s.String()
  6283  }
  6284  
  6285  // Validate inspects the fields of the type to determine if they are valid.
  6286  func (s *GetHostedConfigurationVersionInput) Validate() error {
  6287  	invalidParams := request.ErrInvalidParams{Context: "GetHostedConfigurationVersionInput"}
  6288  	if s.ApplicationId == nil {
  6289  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  6290  	}
  6291  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  6292  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  6293  	}
  6294  	if s.ConfigurationProfileId == nil {
  6295  		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
  6296  	}
  6297  	if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 {
  6298  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1))
  6299  	}
  6300  	if s.VersionNumber == nil {
  6301  		invalidParams.Add(request.NewErrParamRequired("VersionNumber"))
  6302  	}
  6303  
  6304  	if invalidParams.Len() > 0 {
  6305  		return invalidParams
  6306  	}
  6307  	return nil
  6308  }
  6309  
  6310  // SetApplicationId sets the ApplicationId field's value.
  6311  func (s *GetHostedConfigurationVersionInput) SetApplicationId(v string) *GetHostedConfigurationVersionInput {
  6312  	s.ApplicationId = &v
  6313  	return s
  6314  }
  6315  
  6316  // SetConfigurationProfileId sets the ConfigurationProfileId field's value.
  6317  func (s *GetHostedConfigurationVersionInput) SetConfigurationProfileId(v string) *GetHostedConfigurationVersionInput {
  6318  	s.ConfigurationProfileId = &v
  6319  	return s
  6320  }
  6321  
  6322  // SetVersionNumber sets the VersionNumber field's value.
  6323  func (s *GetHostedConfigurationVersionInput) SetVersionNumber(v int64) *GetHostedConfigurationVersionInput {
  6324  	s.VersionNumber = &v
  6325  	return s
  6326  }
  6327  
  6328  type GetHostedConfigurationVersionOutput struct {
  6329  	_ struct{} `type:"structure" payload:"Content"`
  6330  
  6331  	// The application ID.
  6332  	ApplicationId *string `location:"header" locationName:"Application-Id" type:"string"`
  6333  
  6334  	// The configuration profile ID.
  6335  	ConfigurationProfileId *string `location:"header" locationName:"Configuration-Profile-Id" type:"string"`
  6336  
  6337  	// The content of the configuration or the configuration data.
  6338  	//
  6339  	// Content is a sensitive parameter and its value will be
  6340  	// replaced with "sensitive" in string returned by GetHostedConfigurationVersionOutput's
  6341  	// String and GoString methods.
  6342  	Content []byte `type:"blob" sensitive:"true"`
  6343  
  6344  	// A standard MIME type describing the format of the configuration content.
  6345  	// For more information, see Content-Type (https://docs.aws.amazon.com/https:/www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17).
  6346  	ContentType *string `location:"header" locationName:"Content-Type" min:"1" type:"string"`
  6347  
  6348  	// A description of the configuration.
  6349  	Description *string `location:"header" locationName:"Description" type:"string"`
  6350  
  6351  	// The configuration version.
  6352  	VersionNumber *int64 `location:"header" locationName:"Version-Number" type:"integer"`
  6353  }
  6354  
  6355  // String returns the string representation.
  6356  //
  6357  // API parameter values that are decorated as "sensitive" in the API will not
  6358  // be included in the string output. The member name will be present, but the
  6359  // value will be replaced with "sensitive".
  6360  func (s GetHostedConfigurationVersionOutput) String() string {
  6361  	return awsutil.Prettify(s)
  6362  }
  6363  
  6364  // GoString returns the string representation.
  6365  //
  6366  // API parameter values that are decorated as "sensitive" in the API will not
  6367  // be included in the string output. The member name will be present, but the
  6368  // value will be replaced with "sensitive".
  6369  func (s GetHostedConfigurationVersionOutput) GoString() string {
  6370  	return s.String()
  6371  }
  6372  
  6373  // SetApplicationId sets the ApplicationId field's value.
  6374  func (s *GetHostedConfigurationVersionOutput) SetApplicationId(v string) *GetHostedConfigurationVersionOutput {
  6375  	s.ApplicationId = &v
  6376  	return s
  6377  }
  6378  
  6379  // SetConfigurationProfileId sets the ConfigurationProfileId field's value.
  6380  func (s *GetHostedConfigurationVersionOutput) SetConfigurationProfileId(v string) *GetHostedConfigurationVersionOutput {
  6381  	s.ConfigurationProfileId = &v
  6382  	return s
  6383  }
  6384  
  6385  // SetContent sets the Content field's value.
  6386  func (s *GetHostedConfigurationVersionOutput) SetContent(v []byte) *GetHostedConfigurationVersionOutput {
  6387  	s.Content = v
  6388  	return s
  6389  }
  6390  
  6391  // SetContentType sets the ContentType field's value.
  6392  func (s *GetHostedConfigurationVersionOutput) SetContentType(v string) *GetHostedConfigurationVersionOutput {
  6393  	s.ContentType = &v
  6394  	return s
  6395  }
  6396  
  6397  // SetDescription sets the Description field's value.
  6398  func (s *GetHostedConfigurationVersionOutput) SetDescription(v string) *GetHostedConfigurationVersionOutput {
  6399  	s.Description = &v
  6400  	return s
  6401  }
  6402  
  6403  // SetVersionNumber sets the VersionNumber field's value.
  6404  func (s *GetHostedConfigurationVersionOutput) SetVersionNumber(v int64) *GetHostedConfigurationVersionOutput {
  6405  	s.VersionNumber = &v
  6406  	return s
  6407  }
  6408  
  6409  // Information about the configuration.
  6410  type HostedConfigurationVersionSummary struct {
  6411  	_ struct{} `type:"structure"`
  6412  
  6413  	// The application ID.
  6414  	ApplicationId *string `type:"string"`
  6415  
  6416  	// The configuration profile ID.
  6417  	ConfigurationProfileId *string `type:"string"`
  6418  
  6419  	// A standard MIME type describing the format of the configuration content.
  6420  	// For more information, see Content-Type (https://docs.aws.amazon.com/https:/www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17).
  6421  	ContentType *string `min:"1" type:"string"`
  6422  
  6423  	// A description of the configuration.
  6424  	Description *string `type:"string"`
  6425  
  6426  	// The configuration version.
  6427  	VersionNumber *int64 `type:"integer"`
  6428  }
  6429  
  6430  // String returns the string representation.
  6431  //
  6432  // API parameter values that are decorated as "sensitive" in the API will not
  6433  // be included in the string output. The member name will be present, but the
  6434  // value will be replaced with "sensitive".
  6435  func (s HostedConfigurationVersionSummary) String() string {
  6436  	return awsutil.Prettify(s)
  6437  }
  6438  
  6439  // GoString returns the string representation.
  6440  //
  6441  // API parameter values that are decorated as "sensitive" in the API will not
  6442  // be included in the string output. The member name will be present, but the
  6443  // value will be replaced with "sensitive".
  6444  func (s HostedConfigurationVersionSummary) GoString() string {
  6445  	return s.String()
  6446  }
  6447  
  6448  // SetApplicationId sets the ApplicationId field's value.
  6449  func (s *HostedConfigurationVersionSummary) SetApplicationId(v string) *HostedConfigurationVersionSummary {
  6450  	s.ApplicationId = &v
  6451  	return s
  6452  }
  6453  
  6454  // SetConfigurationProfileId sets the ConfigurationProfileId field's value.
  6455  func (s *HostedConfigurationVersionSummary) SetConfigurationProfileId(v string) *HostedConfigurationVersionSummary {
  6456  	s.ConfigurationProfileId = &v
  6457  	return s
  6458  }
  6459  
  6460  // SetContentType sets the ContentType field's value.
  6461  func (s *HostedConfigurationVersionSummary) SetContentType(v string) *HostedConfigurationVersionSummary {
  6462  	s.ContentType = &v
  6463  	return s
  6464  }
  6465  
  6466  // SetDescription sets the Description field's value.
  6467  func (s *HostedConfigurationVersionSummary) SetDescription(v string) *HostedConfigurationVersionSummary {
  6468  	s.Description = &v
  6469  	return s
  6470  }
  6471  
  6472  // SetVersionNumber sets the VersionNumber field's value.
  6473  func (s *HostedConfigurationVersionSummary) SetVersionNumber(v int64) *HostedConfigurationVersionSummary {
  6474  	s.VersionNumber = &v
  6475  	return s
  6476  }
  6477  
  6478  // There was an internal failure in the AppConfig service.
  6479  type InternalServerException struct {
  6480  	_            struct{}                  `type:"structure"`
  6481  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6482  
  6483  	Message_ *string `locationName:"Message" type:"string"`
  6484  }
  6485  
  6486  // String returns the string representation.
  6487  //
  6488  // API parameter values that are decorated as "sensitive" in the API will not
  6489  // be included in the string output. The member name will be present, but the
  6490  // value will be replaced with "sensitive".
  6491  func (s InternalServerException) String() string {
  6492  	return awsutil.Prettify(s)
  6493  }
  6494  
  6495  // GoString returns the string representation.
  6496  //
  6497  // API parameter values that are decorated as "sensitive" in the API will not
  6498  // be included in the string output. The member name will be present, but the
  6499  // value will be replaced with "sensitive".
  6500  func (s InternalServerException) GoString() string {
  6501  	return s.String()
  6502  }
  6503  
  6504  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  6505  	return &InternalServerException{
  6506  		RespMetadata: v,
  6507  	}
  6508  }
  6509  
  6510  // Code returns the exception type name.
  6511  func (s *InternalServerException) Code() string {
  6512  	return "InternalServerException"
  6513  }
  6514  
  6515  // Message returns the exception's message.
  6516  func (s *InternalServerException) Message() string {
  6517  	if s.Message_ != nil {
  6518  		return *s.Message_
  6519  	}
  6520  	return ""
  6521  }
  6522  
  6523  // OrigErr always returns nil, satisfies awserr.Error interface.
  6524  func (s *InternalServerException) OrigErr() error {
  6525  	return nil
  6526  }
  6527  
  6528  func (s *InternalServerException) Error() string {
  6529  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6530  }
  6531  
  6532  // Status code returns the HTTP status code for the request's response error.
  6533  func (s *InternalServerException) StatusCode() int {
  6534  	return s.RespMetadata.StatusCode
  6535  }
  6536  
  6537  // RequestID returns the service's response RequestID for request.
  6538  func (s *InternalServerException) RequestID() string {
  6539  	return s.RespMetadata.RequestID
  6540  }
  6541  
  6542  type ListApplicationsInput struct {
  6543  	_ struct{} `type:"structure" nopayload:"true"`
  6544  
  6545  	// The maximum number of items to return for this call. The call also returns
  6546  	// a token that you can specify in a subsequent call to get the next set of
  6547  	// results.
  6548  	MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"`
  6549  
  6550  	// A token to start the list. Use this token to get the next set of results.
  6551  	NextToken *string `location:"querystring" locationName:"next_token" min:"1" type:"string"`
  6552  }
  6553  
  6554  // String returns the string representation.
  6555  //
  6556  // API parameter values that are decorated as "sensitive" in the API will not
  6557  // be included in the string output. The member name will be present, but the
  6558  // value will be replaced with "sensitive".
  6559  func (s ListApplicationsInput) String() string {
  6560  	return awsutil.Prettify(s)
  6561  }
  6562  
  6563  // GoString returns the string representation.
  6564  //
  6565  // API parameter values that are decorated as "sensitive" in the API will not
  6566  // be included in the string output. The member name will be present, but the
  6567  // value will be replaced with "sensitive".
  6568  func (s ListApplicationsInput) GoString() string {
  6569  	return s.String()
  6570  }
  6571  
  6572  // Validate inspects the fields of the type to determine if they are valid.
  6573  func (s *ListApplicationsInput) Validate() error {
  6574  	invalidParams := request.ErrInvalidParams{Context: "ListApplicationsInput"}
  6575  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6576  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6577  	}
  6578  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  6579  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6580  	}
  6581  
  6582  	if invalidParams.Len() > 0 {
  6583  		return invalidParams
  6584  	}
  6585  	return nil
  6586  }
  6587  
  6588  // SetMaxResults sets the MaxResults field's value.
  6589  func (s *ListApplicationsInput) SetMaxResults(v int64) *ListApplicationsInput {
  6590  	s.MaxResults = &v
  6591  	return s
  6592  }
  6593  
  6594  // SetNextToken sets the NextToken field's value.
  6595  func (s *ListApplicationsInput) SetNextToken(v string) *ListApplicationsInput {
  6596  	s.NextToken = &v
  6597  	return s
  6598  }
  6599  
  6600  type ListApplicationsOutput struct {
  6601  	_ struct{} `type:"structure"`
  6602  
  6603  	// The elements from this collection.
  6604  	Items []*Application `type:"list"`
  6605  
  6606  	// The token for the next set of items to return. Use this token to get the
  6607  	// next set of results.
  6608  	NextToken *string `min:"1" type:"string"`
  6609  }
  6610  
  6611  // String returns the string representation.
  6612  //
  6613  // API parameter values that are decorated as "sensitive" in the API will not
  6614  // be included in the string output. The member name will be present, but the
  6615  // value will be replaced with "sensitive".
  6616  func (s ListApplicationsOutput) String() string {
  6617  	return awsutil.Prettify(s)
  6618  }
  6619  
  6620  // GoString returns the string representation.
  6621  //
  6622  // API parameter values that are decorated as "sensitive" in the API will not
  6623  // be included in the string output. The member name will be present, but the
  6624  // value will be replaced with "sensitive".
  6625  func (s ListApplicationsOutput) GoString() string {
  6626  	return s.String()
  6627  }
  6628  
  6629  // SetItems sets the Items field's value.
  6630  func (s *ListApplicationsOutput) SetItems(v []*Application) *ListApplicationsOutput {
  6631  	s.Items = v
  6632  	return s
  6633  }
  6634  
  6635  // SetNextToken sets the NextToken field's value.
  6636  func (s *ListApplicationsOutput) SetNextToken(v string) *ListApplicationsOutput {
  6637  	s.NextToken = &v
  6638  	return s
  6639  }
  6640  
  6641  type ListConfigurationProfilesInput struct {
  6642  	_ struct{} `type:"structure" nopayload:"true"`
  6643  
  6644  	// The application ID.
  6645  	//
  6646  	// ApplicationId is a required field
  6647  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  6648  
  6649  	// The maximum number of items to return for this call. The call also returns
  6650  	// a token that you can specify in a subsequent call to get the next set of
  6651  	// results.
  6652  	MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"`
  6653  
  6654  	// A token to start the list. Use this token to get the next set of results.
  6655  	NextToken *string `location:"querystring" locationName:"next_token" min:"1" type:"string"`
  6656  }
  6657  
  6658  // String returns the string representation.
  6659  //
  6660  // API parameter values that are decorated as "sensitive" in the API will not
  6661  // be included in the string output. The member name will be present, but the
  6662  // value will be replaced with "sensitive".
  6663  func (s ListConfigurationProfilesInput) String() string {
  6664  	return awsutil.Prettify(s)
  6665  }
  6666  
  6667  // GoString returns the string representation.
  6668  //
  6669  // API parameter values that are decorated as "sensitive" in the API will not
  6670  // be included in the string output. The member name will be present, but the
  6671  // value will be replaced with "sensitive".
  6672  func (s ListConfigurationProfilesInput) GoString() string {
  6673  	return s.String()
  6674  }
  6675  
  6676  // Validate inspects the fields of the type to determine if they are valid.
  6677  func (s *ListConfigurationProfilesInput) Validate() error {
  6678  	invalidParams := request.ErrInvalidParams{Context: "ListConfigurationProfilesInput"}
  6679  	if s.ApplicationId == nil {
  6680  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  6681  	}
  6682  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  6683  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  6684  	}
  6685  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6686  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6687  	}
  6688  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  6689  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6690  	}
  6691  
  6692  	if invalidParams.Len() > 0 {
  6693  		return invalidParams
  6694  	}
  6695  	return nil
  6696  }
  6697  
  6698  // SetApplicationId sets the ApplicationId field's value.
  6699  func (s *ListConfigurationProfilesInput) SetApplicationId(v string) *ListConfigurationProfilesInput {
  6700  	s.ApplicationId = &v
  6701  	return s
  6702  }
  6703  
  6704  // SetMaxResults sets the MaxResults field's value.
  6705  func (s *ListConfigurationProfilesInput) SetMaxResults(v int64) *ListConfigurationProfilesInput {
  6706  	s.MaxResults = &v
  6707  	return s
  6708  }
  6709  
  6710  // SetNextToken sets the NextToken field's value.
  6711  func (s *ListConfigurationProfilesInput) SetNextToken(v string) *ListConfigurationProfilesInput {
  6712  	s.NextToken = &v
  6713  	return s
  6714  }
  6715  
  6716  type ListConfigurationProfilesOutput struct {
  6717  	_ struct{} `type:"structure"`
  6718  
  6719  	// The elements from this collection.
  6720  	Items []*ConfigurationProfileSummary `type:"list"`
  6721  
  6722  	// The token for the next set of items to return. Use this token to get the
  6723  	// next set of results.
  6724  	NextToken *string `min:"1" type:"string"`
  6725  }
  6726  
  6727  // String returns the string representation.
  6728  //
  6729  // API parameter values that are decorated as "sensitive" in the API will not
  6730  // be included in the string output. The member name will be present, but the
  6731  // value will be replaced with "sensitive".
  6732  func (s ListConfigurationProfilesOutput) String() string {
  6733  	return awsutil.Prettify(s)
  6734  }
  6735  
  6736  // GoString returns the string representation.
  6737  //
  6738  // API parameter values that are decorated as "sensitive" in the API will not
  6739  // be included in the string output. The member name will be present, but the
  6740  // value will be replaced with "sensitive".
  6741  func (s ListConfigurationProfilesOutput) GoString() string {
  6742  	return s.String()
  6743  }
  6744  
  6745  // SetItems sets the Items field's value.
  6746  func (s *ListConfigurationProfilesOutput) SetItems(v []*ConfigurationProfileSummary) *ListConfigurationProfilesOutput {
  6747  	s.Items = v
  6748  	return s
  6749  }
  6750  
  6751  // SetNextToken sets the NextToken field's value.
  6752  func (s *ListConfigurationProfilesOutput) SetNextToken(v string) *ListConfigurationProfilesOutput {
  6753  	s.NextToken = &v
  6754  	return s
  6755  }
  6756  
  6757  type ListDeploymentStrategiesInput struct {
  6758  	_ struct{} `type:"structure" nopayload:"true"`
  6759  
  6760  	// The maximum number of items to return for this call. The call also returns
  6761  	// a token that you can specify in a subsequent call to get the next set of
  6762  	// results.
  6763  	MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"`
  6764  
  6765  	// A token to start the list. Use this token to get the next set of results.
  6766  	NextToken *string `location:"querystring" locationName:"next_token" min:"1" type:"string"`
  6767  }
  6768  
  6769  // String returns the string representation.
  6770  //
  6771  // API parameter values that are decorated as "sensitive" in the API will not
  6772  // be included in the string output. The member name will be present, but the
  6773  // value will be replaced with "sensitive".
  6774  func (s ListDeploymentStrategiesInput) String() string {
  6775  	return awsutil.Prettify(s)
  6776  }
  6777  
  6778  // GoString returns the string representation.
  6779  //
  6780  // API parameter values that are decorated as "sensitive" in the API will not
  6781  // be included in the string output. The member name will be present, but the
  6782  // value will be replaced with "sensitive".
  6783  func (s ListDeploymentStrategiesInput) GoString() string {
  6784  	return s.String()
  6785  }
  6786  
  6787  // Validate inspects the fields of the type to determine if they are valid.
  6788  func (s *ListDeploymentStrategiesInput) Validate() error {
  6789  	invalidParams := request.ErrInvalidParams{Context: "ListDeploymentStrategiesInput"}
  6790  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6791  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6792  	}
  6793  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  6794  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6795  	}
  6796  
  6797  	if invalidParams.Len() > 0 {
  6798  		return invalidParams
  6799  	}
  6800  	return nil
  6801  }
  6802  
  6803  // SetMaxResults sets the MaxResults field's value.
  6804  func (s *ListDeploymentStrategiesInput) SetMaxResults(v int64) *ListDeploymentStrategiesInput {
  6805  	s.MaxResults = &v
  6806  	return s
  6807  }
  6808  
  6809  // SetNextToken sets the NextToken field's value.
  6810  func (s *ListDeploymentStrategiesInput) SetNextToken(v string) *ListDeploymentStrategiesInput {
  6811  	s.NextToken = &v
  6812  	return s
  6813  }
  6814  
  6815  type ListDeploymentStrategiesOutput struct {
  6816  	_ struct{} `type:"structure"`
  6817  
  6818  	// The elements from this collection.
  6819  	Items []*DeploymentStrategy `type:"list"`
  6820  
  6821  	// The token for the next set of items to return. Use this token to get the
  6822  	// next set of results.
  6823  	NextToken *string `min:"1" type:"string"`
  6824  }
  6825  
  6826  // String returns the string representation.
  6827  //
  6828  // API parameter values that are decorated as "sensitive" in the API will not
  6829  // be included in the string output. The member name will be present, but the
  6830  // value will be replaced with "sensitive".
  6831  func (s ListDeploymentStrategiesOutput) String() string {
  6832  	return awsutil.Prettify(s)
  6833  }
  6834  
  6835  // GoString returns the string representation.
  6836  //
  6837  // API parameter values that are decorated as "sensitive" in the API will not
  6838  // be included in the string output. The member name will be present, but the
  6839  // value will be replaced with "sensitive".
  6840  func (s ListDeploymentStrategiesOutput) GoString() string {
  6841  	return s.String()
  6842  }
  6843  
  6844  // SetItems sets the Items field's value.
  6845  func (s *ListDeploymentStrategiesOutput) SetItems(v []*DeploymentStrategy) *ListDeploymentStrategiesOutput {
  6846  	s.Items = v
  6847  	return s
  6848  }
  6849  
  6850  // SetNextToken sets the NextToken field's value.
  6851  func (s *ListDeploymentStrategiesOutput) SetNextToken(v string) *ListDeploymentStrategiesOutput {
  6852  	s.NextToken = &v
  6853  	return s
  6854  }
  6855  
  6856  type ListDeploymentsInput struct {
  6857  	_ struct{} `type:"structure" nopayload:"true"`
  6858  
  6859  	// The application ID.
  6860  	//
  6861  	// ApplicationId is a required field
  6862  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  6863  
  6864  	// The environment ID.
  6865  	//
  6866  	// EnvironmentId is a required field
  6867  	EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"`
  6868  
  6869  	// The maximum number of items to return for this call. The call also returns
  6870  	// a token that you can specify in a subsequent call to get the next set of
  6871  	// results.
  6872  	MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"`
  6873  
  6874  	// A token to start the list. Use this token to get the next set of results.
  6875  	NextToken *string `location:"querystring" locationName:"next_token" min:"1" type:"string"`
  6876  }
  6877  
  6878  // String returns the string representation.
  6879  //
  6880  // API parameter values that are decorated as "sensitive" in the API will not
  6881  // be included in the string output. The member name will be present, but the
  6882  // value will be replaced with "sensitive".
  6883  func (s ListDeploymentsInput) String() string {
  6884  	return awsutil.Prettify(s)
  6885  }
  6886  
  6887  // GoString returns the string representation.
  6888  //
  6889  // API parameter values that are decorated as "sensitive" in the API will not
  6890  // be included in the string output. The member name will be present, but the
  6891  // value will be replaced with "sensitive".
  6892  func (s ListDeploymentsInput) GoString() string {
  6893  	return s.String()
  6894  }
  6895  
  6896  // Validate inspects the fields of the type to determine if they are valid.
  6897  func (s *ListDeploymentsInput) Validate() error {
  6898  	invalidParams := request.ErrInvalidParams{Context: "ListDeploymentsInput"}
  6899  	if s.ApplicationId == nil {
  6900  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  6901  	}
  6902  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  6903  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  6904  	}
  6905  	if s.EnvironmentId == nil {
  6906  		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
  6907  	}
  6908  	if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 {
  6909  		invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1))
  6910  	}
  6911  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6912  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6913  	}
  6914  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  6915  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6916  	}
  6917  
  6918  	if invalidParams.Len() > 0 {
  6919  		return invalidParams
  6920  	}
  6921  	return nil
  6922  }
  6923  
  6924  // SetApplicationId sets the ApplicationId field's value.
  6925  func (s *ListDeploymentsInput) SetApplicationId(v string) *ListDeploymentsInput {
  6926  	s.ApplicationId = &v
  6927  	return s
  6928  }
  6929  
  6930  // SetEnvironmentId sets the EnvironmentId field's value.
  6931  func (s *ListDeploymentsInput) SetEnvironmentId(v string) *ListDeploymentsInput {
  6932  	s.EnvironmentId = &v
  6933  	return s
  6934  }
  6935  
  6936  // SetMaxResults sets the MaxResults field's value.
  6937  func (s *ListDeploymentsInput) SetMaxResults(v int64) *ListDeploymentsInput {
  6938  	s.MaxResults = &v
  6939  	return s
  6940  }
  6941  
  6942  // SetNextToken sets the NextToken field's value.
  6943  func (s *ListDeploymentsInput) SetNextToken(v string) *ListDeploymentsInput {
  6944  	s.NextToken = &v
  6945  	return s
  6946  }
  6947  
  6948  type ListDeploymentsOutput struct {
  6949  	_ struct{} `type:"structure"`
  6950  
  6951  	// The elements from this collection.
  6952  	Items []*DeploymentSummary `type:"list"`
  6953  
  6954  	// The token for the next set of items to return. Use this token to get the
  6955  	// next set of results.
  6956  	NextToken *string `min:"1" type:"string"`
  6957  }
  6958  
  6959  // String returns the string representation.
  6960  //
  6961  // API parameter values that are decorated as "sensitive" in the API will not
  6962  // be included in the string output. The member name will be present, but the
  6963  // value will be replaced with "sensitive".
  6964  func (s ListDeploymentsOutput) String() string {
  6965  	return awsutil.Prettify(s)
  6966  }
  6967  
  6968  // GoString returns the string representation.
  6969  //
  6970  // API parameter values that are decorated as "sensitive" in the API will not
  6971  // be included in the string output. The member name will be present, but the
  6972  // value will be replaced with "sensitive".
  6973  func (s ListDeploymentsOutput) GoString() string {
  6974  	return s.String()
  6975  }
  6976  
  6977  // SetItems sets the Items field's value.
  6978  func (s *ListDeploymentsOutput) SetItems(v []*DeploymentSummary) *ListDeploymentsOutput {
  6979  	s.Items = v
  6980  	return s
  6981  }
  6982  
  6983  // SetNextToken sets the NextToken field's value.
  6984  func (s *ListDeploymentsOutput) SetNextToken(v string) *ListDeploymentsOutput {
  6985  	s.NextToken = &v
  6986  	return s
  6987  }
  6988  
  6989  type ListEnvironmentsInput struct {
  6990  	_ struct{} `type:"structure" nopayload:"true"`
  6991  
  6992  	// The application ID.
  6993  	//
  6994  	// ApplicationId is a required field
  6995  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  6996  
  6997  	// The maximum number of items to return for this call. The call also returns
  6998  	// a token that you can specify in a subsequent call to get the next set of
  6999  	// results.
  7000  	MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"`
  7001  
  7002  	// A token to start the list. Use this token to get the next set of results.
  7003  	NextToken *string `location:"querystring" locationName:"next_token" min:"1" type:"string"`
  7004  }
  7005  
  7006  // String returns the string representation.
  7007  //
  7008  // API parameter values that are decorated as "sensitive" in the API will not
  7009  // be included in the string output. The member name will be present, but the
  7010  // value will be replaced with "sensitive".
  7011  func (s ListEnvironmentsInput) String() string {
  7012  	return awsutil.Prettify(s)
  7013  }
  7014  
  7015  // GoString returns the string representation.
  7016  //
  7017  // API parameter values that are decorated as "sensitive" in the API will not
  7018  // be included in the string output. The member name will be present, but the
  7019  // value will be replaced with "sensitive".
  7020  func (s ListEnvironmentsInput) GoString() string {
  7021  	return s.String()
  7022  }
  7023  
  7024  // Validate inspects the fields of the type to determine if they are valid.
  7025  func (s *ListEnvironmentsInput) Validate() error {
  7026  	invalidParams := request.ErrInvalidParams{Context: "ListEnvironmentsInput"}
  7027  	if s.ApplicationId == nil {
  7028  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  7029  	}
  7030  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  7031  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  7032  	}
  7033  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7034  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7035  	}
  7036  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7037  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7038  	}
  7039  
  7040  	if invalidParams.Len() > 0 {
  7041  		return invalidParams
  7042  	}
  7043  	return nil
  7044  }
  7045  
  7046  // SetApplicationId sets the ApplicationId field's value.
  7047  func (s *ListEnvironmentsInput) SetApplicationId(v string) *ListEnvironmentsInput {
  7048  	s.ApplicationId = &v
  7049  	return s
  7050  }
  7051  
  7052  // SetMaxResults sets the MaxResults field's value.
  7053  func (s *ListEnvironmentsInput) SetMaxResults(v int64) *ListEnvironmentsInput {
  7054  	s.MaxResults = &v
  7055  	return s
  7056  }
  7057  
  7058  // SetNextToken sets the NextToken field's value.
  7059  func (s *ListEnvironmentsInput) SetNextToken(v string) *ListEnvironmentsInput {
  7060  	s.NextToken = &v
  7061  	return s
  7062  }
  7063  
  7064  type ListEnvironmentsOutput struct {
  7065  	_ struct{} `type:"structure"`
  7066  
  7067  	// The elements from this collection.
  7068  	Items []*Environment `type:"list"`
  7069  
  7070  	// The token for the next set of items to return. Use this token to get the
  7071  	// next set of results.
  7072  	NextToken *string `min:"1" type:"string"`
  7073  }
  7074  
  7075  // String returns the string representation.
  7076  //
  7077  // API parameter values that are decorated as "sensitive" in the API will not
  7078  // be included in the string output. The member name will be present, but the
  7079  // value will be replaced with "sensitive".
  7080  func (s ListEnvironmentsOutput) String() string {
  7081  	return awsutil.Prettify(s)
  7082  }
  7083  
  7084  // GoString returns the string representation.
  7085  //
  7086  // API parameter values that are decorated as "sensitive" in the API will not
  7087  // be included in the string output. The member name will be present, but the
  7088  // value will be replaced with "sensitive".
  7089  func (s ListEnvironmentsOutput) GoString() string {
  7090  	return s.String()
  7091  }
  7092  
  7093  // SetItems sets the Items field's value.
  7094  func (s *ListEnvironmentsOutput) SetItems(v []*Environment) *ListEnvironmentsOutput {
  7095  	s.Items = v
  7096  	return s
  7097  }
  7098  
  7099  // SetNextToken sets the NextToken field's value.
  7100  func (s *ListEnvironmentsOutput) SetNextToken(v string) *ListEnvironmentsOutput {
  7101  	s.NextToken = &v
  7102  	return s
  7103  }
  7104  
  7105  type ListHostedConfigurationVersionsInput struct {
  7106  	_ struct{} `type:"structure" nopayload:"true"`
  7107  
  7108  	// The application ID.
  7109  	//
  7110  	// ApplicationId is a required field
  7111  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  7112  
  7113  	// The configuration profile ID.
  7114  	//
  7115  	// ConfigurationProfileId is a required field
  7116  	ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"`
  7117  
  7118  	// The maximum number of items to return for this call. The call also returns
  7119  	// a token that you can specify in a subsequent call to get the next set of
  7120  	// results.
  7121  	MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"`
  7122  
  7123  	// A token to start the list. Use this token to get the next set of results.
  7124  	NextToken *string `location:"querystring" locationName:"next_token" min:"1" type:"string"`
  7125  }
  7126  
  7127  // String returns the string representation.
  7128  //
  7129  // API parameter values that are decorated as "sensitive" in the API will not
  7130  // be included in the string output. The member name will be present, but the
  7131  // value will be replaced with "sensitive".
  7132  func (s ListHostedConfigurationVersionsInput) String() string {
  7133  	return awsutil.Prettify(s)
  7134  }
  7135  
  7136  // GoString returns the string representation.
  7137  //
  7138  // API parameter values that are decorated as "sensitive" in the API will not
  7139  // be included in the string output. The member name will be present, but the
  7140  // value will be replaced with "sensitive".
  7141  func (s ListHostedConfigurationVersionsInput) GoString() string {
  7142  	return s.String()
  7143  }
  7144  
  7145  // Validate inspects the fields of the type to determine if they are valid.
  7146  func (s *ListHostedConfigurationVersionsInput) Validate() error {
  7147  	invalidParams := request.ErrInvalidParams{Context: "ListHostedConfigurationVersionsInput"}
  7148  	if s.ApplicationId == nil {
  7149  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  7150  	}
  7151  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  7152  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  7153  	}
  7154  	if s.ConfigurationProfileId == nil {
  7155  		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
  7156  	}
  7157  	if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 {
  7158  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1))
  7159  	}
  7160  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7161  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7162  	}
  7163  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7164  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7165  	}
  7166  
  7167  	if invalidParams.Len() > 0 {
  7168  		return invalidParams
  7169  	}
  7170  	return nil
  7171  }
  7172  
  7173  // SetApplicationId sets the ApplicationId field's value.
  7174  func (s *ListHostedConfigurationVersionsInput) SetApplicationId(v string) *ListHostedConfigurationVersionsInput {
  7175  	s.ApplicationId = &v
  7176  	return s
  7177  }
  7178  
  7179  // SetConfigurationProfileId sets the ConfigurationProfileId field's value.
  7180  func (s *ListHostedConfigurationVersionsInput) SetConfigurationProfileId(v string) *ListHostedConfigurationVersionsInput {
  7181  	s.ConfigurationProfileId = &v
  7182  	return s
  7183  }
  7184  
  7185  // SetMaxResults sets the MaxResults field's value.
  7186  func (s *ListHostedConfigurationVersionsInput) SetMaxResults(v int64) *ListHostedConfigurationVersionsInput {
  7187  	s.MaxResults = &v
  7188  	return s
  7189  }
  7190  
  7191  // SetNextToken sets the NextToken field's value.
  7192  func (s *ListHostedConfigurationVersionsInput) SetNextToken(v string) *ListHostedConfigurationVersionsInput {
  7193  	s.NextToken = &v
  7194  	return s
  7195  }
  7196  
  7197  type ListHostedConfigurationVersionsOutput struct {
  7198  	_ struct{} `type:"structure"`
  7199  
  7200  	// The elements from this collection.
  7201  	Items []*HostedConfigurationVersionSummary `type:"list"`
  7202  
  7203  	// The token for the next set of items to return. Use this token to get the
  7204  	// next set of results.
  7205  	NextToken *string `min:"1" type:"string"`
  7206  }
  7207  
  7208  // String returns the string representation.
  7209  //
  7210  // API parameter values that are decorated as "sensitive" in the API will not
  7211  // be included in the string output. The member name will be present, but the
  7212  // value will be replaced with "sensitive".
  7213  func (s ListHostedConfigurationVersionsOutput) String() string {
  7214  	return awsutil.Prettify(s)
  7215  }
  7216  
  7217  // GoString returns the string representation.
  7218  //
  7219  // API parameter values that are decorated as "sensitive" in the API will not
  7220  // be included in the string output. The member name will be present, but the
  7221  // value will be replaced with "sensitive".
  7222  func (s ListHostedConfigurationVersionsOutput) GoString() string {
  7223  	return s.String()
  7224  }
  7225  
  7226  // SetItems sets the Items field's value.
  7227  func (s *ListHostedConfigurationVersionsOutput) SetItems(v []*HostedConfigurationVersionSummary) *ListHostedConfigurationVersionsOutput {
  7228  	s.Items = v
  7229  	return s
  7230  }
  7231  
  7232  // SetNextToken sets the NextToken field's value.
  7233  func (s *ListHostedConfigurationVersionsOutput) SetNextToken(v string) *ListHostedConfigurationVersionsOutput {
  7234  	s.NextToken = &v
  7235  	return s
  7236  }
  7237  
  7238  type ListTagsForResourceInput struct {
  7239  	_ struct{} `type:"structure" nopayload:"true"`
  7240  
  7241  	// The resource ARN.
  7242  	//
  7243  	// ResourceArn is a required field
  7244  	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"`
  7245  }
  7246  
  7247  // String returns the string representation.
  7248  //
  7249  // API parameter values that are decorated as "sensitive" in the API will not
  7250  // be included in the string output. The member name will be present, but the
  7251  // value will be replaced with "sensitive".
  7252  func (s ListTagsForResourceInput) String() string {
  7253  	return awsutil.Prettify(s)
  7254  }
  7255  
  7256  // GoString returns the string representation.
  7257  //
  7258  // API parameter values that are decorated as "sensitive" in the API will not
  7259  // be included in the string output. The member name will be present, but the
  7260  // value will be replaced with "sensitive".
  7261  func (s ListTagsForResourceInput) GoString() string {
  7262  	return s.String()
  7263  }
  7264  
  7265  // Validate inspects the fields of the type to determine if they are valid.
  7266  func (s *ListTagsForResourceInput) Validate() error {
  7267  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  7268  	if s.ResourceArn == nil {
  7269  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  7270  	}
  7271  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
  7272  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
  7273  	}
  7274  
  7275  	if invalidParams.Len() > 0 {
  7276  		return invalidParams
  7277  	}
  7278  	return nil
  7279  }
  7280  
  7281  // SetResourceArn sets the ResourceArn field's value.
  7282  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  7283  	s.ResourceArn = &v
  7284  	return s
  7285  }
  7286  
  7287  type ListTagsForResourceOutput struct {
  7288  	_ struct{} `type:"structure"`
  7289  
  7290  	// Metadata to assign to AppConfig resources. Tags help organize and categorize
  7291  	// your AppConfig resources. Each tag consists of a key and an optional value,
  7292  	// both of which you define.
  7293  	Tags map[string]*string `type:"map"`
  7294  }
  7295  
  7296  // String returns the string representation.
  7297  //
  7298  // API parameter values that are decorated as "sensitive" in the API will not
  7299  // be included in the string output. The member name will be present, but the
  7300  // value will be replaced with "sensitive".
  7301  func (s ListTagsForResourceOutput) String() string {
  7302  	return awsutil.Prettify(s)
  7303  }
  7304  
  7305  // GoString returns the string representation.
  7306  //
  7307  // API parameter values that are decorated as "sensitive" in the API will not
  7308  // be included in the string output. The member name will be present, but the
  7309  // value will be replaced with "sensitive".
  7310  func (s ListTagsForResourceOutput) GoString() string {
  7311  	return s.String()
  7312  }
  7313  
  7314  // SetTags sets the Tags field's value.
  7315  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  7316  	s.Tags = v
  7317  	return s
  7318  }
  7319  
  7320  // Amazon CloudWatch alarms to monitor during the deployment process.
  7321  type Monitor struct {
  7322  	_ struct{} `type:"structure"`
  7323  
  7324  	// ARN of the Amazon CloudWatch alarm.
  7325  	AlarmArn *string `min:"20" type:"string"`
  7326  
  7327  	// ARN of an IAM role for AppConfig to monitor AlarmArn.
  7328  	AlarmRoleArn *string `min:"20" type:"string"`
  7329  }
  7330  
  7331  // String returns the string representation.
  7332  //
  7333  // API parameter values that are decorated as "sensitive" in the API will not
  7334  // be included in the string output. The member name will be present, but the
  7335  // value will be replaced with "sensitive".
  7336  func (s Monitor) String() string {
  7337  	return awsutil.Prettify(s)
  7338  }
  7339  
  7340  // GoString returns the string representation.
  7341  //
  7342  // API parameter values that are decorated as "sensitive" in the API will not
  7343  // be included in the string output. The member name will be present, but the
  7344  // value will be replaced with "sensitive".
  7345  func (s Monitor) GoString() string {
  7346  	return s.String()
  7347  }
  7348  
  7349  // Validate inspects the fields of the type to determine if they are valid.
  7350  func (s *Monitor) Validate() error {
  7351  	invalidParams := request.ErrInvalidParams{Context: "Monitor"}
  7352  	if s.AlarmArn != nil && len(*s.AlarmArn) < 20 {
  7353  		invalidParams.Add(request.NewErrParamMinLen("AlarmArn", 20))
  7354  	}
  7355  	if s.AlarmRoleArn != nil && len(*s.AlarmRoleArn) < 20 {
  7356  		invalidParams.Add(request.NewErrParamMinLen("AlarmRoleArn", 20))
  7357  	}
  7358  
  7359  	if invalidParams.Len() > 0 {
  7360  		return invalidParams
  7361  	}
  7362  	return nil
  7363  }
  7364  
  7365  // SetAlarmArn sets the AlarmArn field's value.
  7366  func (s *Monitor) SetAlarmArn(v string) *Monitor {
  7367  	s.AlarmArn = &v
  7368  	return s
  7369  }
  7370  
  7371  // SetAlarmRoleArn sets the AlarmRoleArn field's value.
  7372  func (s *Monitor) SetAlarmRoleArn(v string) *Monitor {
  7373  	s.AlarmRoleArn = &v
  7374  	return s
  7375  }
  7376  
  7377  // The configuration size is too large.
  7378  type PayloadTooLargeException struct {
  7379  	_            struct{}                  `type:"structure"`
  7380  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7381  
  7382  	Limit *float64 `type:"float"`
  7383  
  7384  	Measure *string `type:"string" enum:"BytesMeasure"`
  7385  
  7386  	Message_ *string `locationName:"Message" type:"string"`
  7387  
  7388  	Size *float64 `type:"float"`
  7389  }
  7390  
  7391  // String returns the string representation.
  7392  //
  7393  // API parameter values that are decorated as "sensitive" in the API will not
  7394  // be included in the string output. The member name will be present, but the
  7395  // value will be replaced with "sensitive".
  7396  func (s PayloadTooLargeException) String() string {
  7397  	return awsutil.Prettify(s)
  7398  }
  7399  
  7400  // GoString returns the string representation.
  7401  //
  7402  // API parameter values that are decorated as "sensitive" in the API will not
  7403  // be included in the string output. The member name will be present, but the
  7404  // value will be replaced with "sensitive".
  7405  func (s PayloadTooLargeException) GoString() string {
  7406  	return s.String()
  7407  }
  7408  
  7409  func newErrorPayloadTooLargeException(v protocol.ResponseMetadata) error {
  7410  	return &PayloadTooLargeException{
  7411  		RespMetadata: v,
  7412  	}
  7413  }
  7414  
  7415  // Code returns the exception type name.
  7416  func (s *PayloadTooLargeException) Code() string {
  7417  	return "PayloadTooLargeException"
  7418  }
  7419  
  7420  // Message returns the exception's message.
  7421  func (s *PayloadTooLargeException) Message() string {
  7422  	if s.Message_ != nil {
  7423  		return *s.Message_
  7424  	}
  7425  	return ""
  7426  }
  7427  
  7428  // OrigErr always returns nil, satisfies awserr.Error interface.
  7429  func (s *PayloadTooLargeException) OrigErr() error {
  7430  	return nil
  7431  }
  7432  
  7433  func (s *PayloadTooLargeException) Error() string {
  7434  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7435  }
  7436  
  7437  // Status code returns the HTTP status code for the request's response error.
  7438  func (s *PayloadTooLargeException) StatusCode() int {
  7439  	return s.RespMetadata.StatusCode
  7440  }
  7441  
  7442  // RequestID returns the service's response RequestID for request.
  7443  func (s *PayloadTooLargeException) RequestID() string {
  7444  	return s.RespMetadata.RequestID
  7445  }
  7446  
  7447  // The requested resource could not be found.
  7448  type ResourceNotFoundException struct {
  7449  	_            struct{}                  `type:"structure"`
  7450  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7451  
  7452  	Message_ *string `locationName:"Message" type:"string"`
  7453  
  7454  	ResourceName *string `type:"string"`
  7455  }
  7456  
  7457  // String returns the string representation.
  7458  //
  7459  // API parameter values that are decorated as "sensitive" in the API will not
  7460  // be included in the string output. The member name will be present, but the
  7461  // value will be replaced with "sensitive".
  7462  func (s ResourceNotFoundException) String() string {
  7463  	return awsutil.Prettify(s)
  7464  }
  7465  
  7466  // GoString returns the string representation.
  7467  //
  7468  // API parameter values that are decorated as "sensitive" in the API will not
  7469  // be included in the string output. The member name will be present, but the
  7470  // value will be replaced with "sensitive".
  7471  func (s ResourceNotFoundException) GoString() string {
  7472  	return s.String()
  7473  }
  7474  
  7475  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  7476  	return &ResourceNotFoundException{
  7477  		RespMetadata: v,
  7478  	}
  7479  }
  7480  
  7481  // Code returns the exception type name.
  7482  func (s *ResourceNotFoundException) Code() string {
  7483  	return "ResourceNotFoundException"
  7484  }
  7485  
  7486  // Message returns the exception's message.
  7487  func (s *ResourceNotFoundException) Message() string {
  7488  	if s.Message_ != nil {
  7489  		return *s.Message_
  7490  	}
  7491  	return ""
  7492  }
  7493  
  7494  // OrigErr always returns nil, satisfies awserr.Error interface.
  7495  func (s *ResourceNotFoundException) OrigErr() error {
  7496  	return nil
  7497  }
  7498  
  7499  func (s *ResourceNotFoundException) Error() string {
  7500  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7501  }
  7502  
  7503  // Status code returns the HTTP status code for the request's response error.
  7504  func (s *ResourceNotFoundException) StatusCode() int {
  7505  	return s.RespMetadata.StatusCode
  7506  }
  7507  
  7508  // RequestID returns the service's response RequestID for request.
  7509  func (s *ResourceNotFoundException) RequestID() string {
  7510  	return s.RespMetadata.RequestID
  7511  }
  7512  
  7513  // The number of hosted configuration versions exceeds the limit for the AppConfig
  7514  // configuration store. Delete one or more versions and try again.
  7515  type ServiceQuotaExceededException struct {
  7516  	_            struct{}                  `type:"structure"`
  7517  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7518  
  7519  	Message_ *string `locationName:"Message" type:"string"`
  7520  }
  7521  
  7522  // String returns the string representation.
  7523  //
  7524  // API parameter values that are decorated as "sensitive" in the API will not
  7525  // be included in the string output. The member name will be present, but the
  7526  // value will be replaced with "sensitive".
  7527  func (s ServiceQuotaExceededException) String() string {
  7528  	return awsutil.Prettify(s)
  7529  }
  7530  
  7531  // GoString returns the string representation.
  7532  //
  7533  // API parameter values that are decorated as "sensitive" in the API will not
  7534  // be included in the string output. The member name will be present, but the
  7535  // value will be replaced with "sensitive".
  7536  func (s ServiceQuotaExceededException) GoString() string {
  7537  	return s.String()
  7538  }
  7539  
  7540  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
  7541  	return &ServiceQuotaExceededException{
  7542  		RespMetadata: v,
  7543  	}
  7544  }
  7545  
  7546  // Code returns the exception type name.
  7547  func (s *ServiceQuotaExceededException) Code() string {
  7548  	return "ServiceQuotaExceededException"
  7549  }
  7550  
  7551  // Message returns the exception's message.
  7552  func (s *ServiceQuotaExceededException) Message() string {
  7553  	if s.Message_ != nil {
  7554  		return *s.Message_
  7555  	}
  7556  	return ""
  7557  }
  7558  
  7559  // OrigErr always returns nil, satisfies awserr.Error interface.
  7560  func (s *ServiceQuotaExceededException) OrigErr() error {
  7561  	return nil
  7562  }
  7563  
  7564  func (s *ServiceQuotaExceededException) Error() string {
  7565  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7566  }
  7567  
  7568  // Status code returns the HTTP status code for the request's response error.
  7569  func (s *ServiceQuotaExceededException) StatusCode() int {
  7570  	return s.RespMetadata.StatusCode
  7571  }
  7572  
  7573  // RequestID returns the service's response RequestID for request.
  7574  func (s *ServiceQuotaExceededException) RequestID() string {
  7575  	return s.RespMetadata.RequestID
  7576  }
  7577  
  7578  type StartDeploymentInput struct {
  7579  	_ struct{} `type:"structure"`
  7580  
  7581  	// The application ID.
  7582  	//
  7583  	// ApplicationId is a required field
  7584  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  7585  
  7586  	// The configuration profile ID.
  7587  	//
  7588  	// ConfigurationProfileId is a required field
  7589  	ConfigurationProfileId *string `type:"string" required:"true"`
  7590  
  7591  	// The configuration version to deploy.
  7592  	//
  7593  	// ConfigurationVersion is a required field
  7594  	ConfigurationVersion *string `min:"1" type:"string" required:"true"`
  7595  
  7596  	// The deployment strategy ID.
  7597  	//
  7598  	// DeploymentStrategyId is a required field
  7599  	DeploymentStrategyId *string `type:"string" required:"true"`
  7600  
  7601  	// A description of the deployment.
  7602  	Description *string `type:"string"`
  7603  
  7604  	// The environment ID.
  7605  	//
  7606  	// EnvironmentId is a required field
  7607  	EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"`
  7608  
  7609  	// Metadata to assign to the deployment. Tags help organize and categorize your
  7610  	// AppConfig resources. Each tag consists of a key and an optional value, both
  7611  	// of which you define.
  7612  	Tags map[string]*string `type:"map"`
  7613  }
  7614  
  7615  // String returns the string representation.
  7616  //
  7617  // API parameter values that are decorated as "sensitive" in the API will not
  7618  // be included in the string output. The member name will be present, but the
  7619  // value will be replaced with "sensitive".
  7620  func (s StartDeploymentInput) String() string {
  7621  	return awsutil.Prettify(s)
  7622  }
  7623  
  7624  // GoString returns the string representation.
  7625  //
  7626  // API parameter values that are decorated as "sensitive" in the API will not
  7627  // be included in the string output. The member name will be present, but the
  7628  // value will be replaced with "sensitive".
  7629  func (s StartDeploymentInput) GoString() string {
  7630  	return s.String()
  7631  }
  7632  
  7633  // Validate inspects the fields of the type to determine if they are valid.
  7634  func (s *StartDeploymentInput) Validate() error {
  7635  	invalidParams := request.ErrInvalidParams{Context: "StartDeploymentInput"}
  7636  	if s.ApplicationId == nil {
  7637  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  7638  	}
  7639  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  7640  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  7641  	}
  7642  	if s.ConfigurationProfileId == nil {
  7643  		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
  7644  	}
  7645  	if s.ConfigurationVersion == nil {
  7646  		invalidParams.Add(request.NewErrParamRequired("ConfigurationVersion"))
  7647  	}
  7648  	if s.ConfigurationVersion != nil && len(*s.ConfigurationVersion) < 1 {
  7649  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationVersion", 1))
  7650  	}
  7651  	if s.DeploymentStrategyId == nil {
  7652  		invalidParams.Add(request.NewErrParamRequired("DeploymentStrategyId"))
  7653  	}
  7654  	if s.EnvironmentId == nil {
  7655  		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
  7656  	}
  7657  	if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 {
  7658  		invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1))
  7659  	}
  7660  
  7661  	if invalidParams.Len() > 0 {
  7662  		return invalidParams
  7663  	}
  7664  	return nil
  7665  }
  7666  
  7667  // SetApplicationId sets the ApplicationId field's value.
  7668  func (s *StartDeploymentInput) SetApplicationId(v string) *StartDeploymentInput {
  7669  	s.ApplicationId = &v
  7670  	return s
  7671  }
  7672  
  7673  // SetConfigurationProfileId sets the ConfigurationProfileId field's value.
  7674  func (s *StartDeploymentInput) SetConfigurationProfileId(v string) *StartDeploymentInput {
  7675  	s.ConfigurationProfileId = &v
  7676  	return s
  7677  }
  7678  
  7679  // SetConfigurationVersion sets the ConfigurationVersion field's value.
  7680  func (s *StartDeploymentInput) SetConfigurationVersion(v string) *StartDeploymentInput {
  7681  	s.ConfigurationVersion = &v
  7682  	return s
  7683  }
  7684  
  7685  // SetDeploymentStrategyId sets the DeploymentStrategyId field's value.
  7686  func (s *StartDeploymentInput) SetDeploymentStrategyId(v string) *StartDeploymentInput {
  7687  	s.DeploymentStrategyId = &v
  7688  	return s
  7689  }
  7690  
  7691  // SetDescription sets the Description field's value.
  7692  func (s *StartDeploymentInput) SetDescription(v string) *StartDeploymentInput {
  7693  	s.Description = &v
  7694  	return s
  7695  }
  7696  
  7697  // SetEnvironmentId sets the EnvironmentId field's value.
  7698  func (s *StartDeploymentInput) SetEnvironmentId(v string) *StartDeploymentInput {
  7699  	s.EnvironmentId = &v
  7700  	return s
  7701  }
  7702  
  7703  // SetTags sets the Tags field's value.
  7704  func (s *StartDeploymentInput) SetTags(v map[string]*string) *StartDeploymentInput {
  7705  	s.Tags = v
  7706  	return s
  7707  }
  7708  
  7709  type StartDeploymentOutput struct {
  7710  	_ struct{} `type:"structure"`
  7711  
  7712  	// The ID of the application that was deployed.
  7713  	ApplicationId *string `type:"string"`
  7714  
  7715  	// The time the deployment completed.
  7716  	CompletedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  7717  
  7718  	// Information about the source location of the configuration.
  7719  	ConfigurationLocationUri *string `min:"1" type:"string"`
  7720  
  7721  	// The name of the configuration.
  7722  	ConfigurationName *string `min:"1" type:"string"`
  7723  
  7724  	// The ID of the configuration profile that was deployed.
  7725  	ConfigurationProfileId *string `type:"string"`
  7726  
  7727  	// The configuration version that was deployed.
  7728  	ConfigurationVersion *string `min:"1" type:"string"`
  7729  
  7730  	// Total amount of time the deployment lasted.
  7731  	DeploymentDurationInMinutes *int64 `type:"integer"`
  7732  
  7733  	// The sequence number of the deployment.
  7734  	DeploymentNumber *int64 `type:"integer"`
  7735  
  7736  	// The ID of the deployment strategy that was deployed.
  7737  	DeploymentStrategyId *string `type:"string"`
  7738  
  7739  	// The description of the deployment.
  7740  	Description *string `type:"string"`
  7741  
  7742  	// The ID of the environment that was deployed.
  7743  	EnvironmentId *string `type:"string"`
  7744  
  7745  	// A list containing all events related to a deployment. The most recent events
  7746  	// are displayed first.
  7747  	EventLog []*DeploymentEvent `type:"list"`
  7748  
  7749  	// The amount of time AppConfig monitored for alarms before considering the
  7750  	// deployment to be complete and no longer eligible for automatic roll back.
  7751  	FinalBakeTimeInMinutes *int64 `type:"integer"`
  7752  
  7753  	// The percentage of targets to receive a deployed configuration during each
  7754  	// interval.
  7755  	GrowthFactor *float64 `min:"1" type:"float"`
  7756  
  7757  	// The algorithm used to define how percentage grew over time.
  7758  	GrowthType *string `type:"string" enum:"GrowthType"`
  7759  
  7760  	// The percentage of targets for which the deployment is available.
  7761  	PercentageComplete *float64 `min:"1" type:"float"`
  7762  
  7763  	// The time the deployment started.
  7764  	StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  7765  
  7766  	// The state of the deployment.
  7767  	State *string `type:"string" enum:"DeploymentState"`
  7768  }
  7769  
  7770  // String returns the string representation.
  7771  //
  7772  // API parameter values that are decorated as "sensitive" in the API will not
  7773  // be included in the string output. The member name will be present, but the
  7774  // value will be replaced with "sensitive".
  7775  func (s StartDeploymentOutput) String() string {
  7776  	return awsutil.Prettify(s)
  7777  }
  7778  
  7779  // GoString returns the string representation.
  7780  //
  7781  // API parameter values that are decorated as "sensitive" in the API will not
  7782  // be included in the string output. The member name will be present, but the
  7783  // value will be replaced with "sensitive".
  7784  func (s StartDeploymentOutput) GoString() string {
  7785  	return s.String()
  7786  }
  7787  
  7788  // SetApplicationId sets the ApplicationId field's value.
  7789  func (s *StartDeploymentOutput) SetApplicationId(v string) *StartDeploymentOutput {
  7790  	s.ApplicationId = &v
  7791  	return s
  7792  }
  7793  
  7794  // SetCompletedAt sets the CompletedAt field's value.
  7795  func (s *StartDeploymentOutput) SetCompletedAt(v time.Time) *StartDeploymentOutput {
  7796  	s.CompletedAt = &v
  7797  	return s
  7798  }
  7799  
  7800  // SetConfigurationLocationUri sets the ConfigurationLocationUri field's value.
  7801  func (s *StartDeploymentOutput) SetConfigurationLocationUri(v string) *StartDeploymentOutput {
  7802  	s.ConfigurationLocationUri = &v
  7803  	return s
  7804  }
  7805  
  7806  // SetConfigurationName sets the ConfigurationName field's value.
  7807  func (s *StartDeploymentOutput) SetConfigurationName(v string) *StartDeploymentOutput {
  7808  	s.ConfigurationName = &v
  7809  	return s
  7810  }
  7811  
  7812  // SetConfigurationProfileId sets the ConfigurationProfileId field's value.
  7813  func (s *StartDeploymentOutput) SetConfigurationProfileId(v string) *StartDeploymentOutput {
  7814  	s.ConfigurationProfileId = &v
  7815  	return s
  7816  }
  7817  
  7818  // SetConfigurationVersion sets the ConfigurationVersion field's value.
  7819  func (s *StartDeploymentOutput) SetConfigurationVersion(v string) *StartDeploymentOutput {
  7820  	s.ConfigurationVersion = &v
  7821  	return s
  7822  }
  7823  
  7824  // SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
  7825  func (s *StartDeploymentOutput) SetDeploymentDurationInMinutes(v int64) *StartDeploymentOutput {
  7826  	s.DeploymentDurationInMinutes = &v
  7827  	return s
  7828  }
  7829  
  7830  // SetDeploymentNumber sets the DeploymentNumber field's value.
  7831  func (s *StartDeploymentOutput) SetDeploymentNumber(v int64) *StartDeploymentOutput {
  7832  	s.DeploymentNumber = &v
  7833  	return s
  7834  }
  7835  
  7836  // SetDeploymentStrategyId sets the DeploymentStrategyId field's value.
  7837  func (s *StartDeploymentOutput) SetDeploymentStrategyId(v string) *StartDeploymentOutput {
  7838  	s.DeploymentStrategyId = &v
  7839  	return s
  7840  }
  7841  
  7842  // SetDescription sets the Description field's value.
  7843  func (s *StartDeploymentOutput) SetDescription(v string) *StartDeploymentOutput {
  7844  	s.Description = &v
  7845  	return s
  7846  }
  7847  
  7848  // SetEnvironmentId sets the EnvironmentId field's value.
  7849  func (s *StartDeploymentOutput) SetEnvironmentId(v string) *StartDeploymentOutput {
  7850  	s.EnvironmentId = &v
  7851  	return s
  7852  }
  7853  
  7854  // SetEventLog sets the EventLog field's value.
  7855  func (s *StartDeploymentOutput) SetEventLog(v []*DeploymentEvent) *StartDeploymentOutput {
  7856  	s.EventLog = v
  7857  	return s
  7858  }
  7859  
  7860  // SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
  7861  func (s *StartDeploymentOutput) SetFinalBakeTimeInMinutes(v int64) *StartDeploymentOutput {
  7862  	s.FinalBakeTimeInMinutes = &v
  7863  	return s
  7864  }
  7865  
  7866  // SetGrowthFactor sets the GrowthFactor field's value.
  7867  func (s *StartDeploymentOutput) SetGrowthFactor(v float64) *StartDeploymentOutput {
  7868  	s.GrowthFactor = &v
  7869  	return s
  7870  }
  7871  
  7872  // SetGrowthType sets the GrowthType field's value.
  7873  func (s *StartDeploymentOutput) SetGrowthType(v string) *StartDeploymentOutput {
  7874  	s.GrowthType = &v
  7875  	return s
  7876  }
  7877  
  7878  // SetPercentageComplete sets the PercentageComplete field's value.
  7879  func (s *StartDeploymentOutput) SetPercentageComplete(v float64) *StartDeploymentOutput {
  7880  	s.PercentageComplete = &v
  7881  	return s
  7882  }
  7883  
  7884  // SetStartedAt sets the StartedAt field's value.
  7885  func (s *StartDeploymentOutput) SetStartedAt(v time.Time) *StartDeploymentOutput {
  7886  	s.StartedAt = &v
  7887  	return s
  7888  }
  7889  
  7890  // SetState sets the State field's value.
  7891  func (s *StartDeploymentOutput) SetState(v string) *StartDeploymentOutput {
  7892  	s.State = &v
  7893  	return s
  7894  }
  7895  
  7896  type StopDeploymentInput struct {
  7897  	_ struct{} `type:"structure" nopayload:"true"`
  7898  
  7899  	// The application ID.
  7900  	//
  7901  	// ApplicationId is a required field
  7902  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  7903  
  7904  	// The sequence number of the deployment.
  7905  	//
  7906  	// DeploymentNumber is a required field
  7907  	DeploymentNumber *int64 `location:"uri" locationName:"DeploymentNumber" type:"integer" required:"true"`
  7908  
  7909  	// The environment ID.
  7910  	//
  7911  	// EnvironmentId is a required field
  7912  	EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"`
  7913  }
  7914  
  7915  // String returns the string representation.
  7916  //
  7917  // API parameter values that are decorated as "sensitive" in the API will not
  7918  // be included in the string output. The member name will be present, but the
  7919  // value will be replaced with "sensitive".
  7920  func (s StopDeploymentInput) String() string {
  7921  	return awsutil.Prettify(s)
  7922  }
  7923  
  7924  // GoString returns the string representation.
  7925  //
  7926  // API parameter values that are decorated as "sensitive" in the API will not
  7927  // be included in the string output. The member name will be present, but the
  7928  // value will be replaced with "sensitive".
  7929  func (s StopDeploymentInput) GoString() string {
  7930  	return s.String()
  7931  }
  7932  
  7933  // Validate inspects the fields of the type to determine if they are valid.
  7934  func (s *StopDeploymentInput) Validate() error {
  7935  	invalidParams := request.ErrInvalidParams{Context: "StopDeploymentInput"}
  7936  	if s.ApplicationId == nil {
  7937  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  7938  	}
  7939  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  7940  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  7941  	}
  7942  	if s.DeploymentNumber == nil {
  7943  		invalidParams.Add(request.NewErrParamRequired("DeploymentNumber"))
  7944  	}
  7945  	if s.EnvironmentId == nil {
  7946  		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
  7947  	}
  7948  	if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 {
  7949  		invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1))
  7950  	}
  7951  
  7952  	if invalidParams.Len() > 0 {
  7953  		return invalidParams
  7954  	}
  7955  	return nil
  7956  }
  7957  
  7958  // SetApplicationId sets the ApplicationId field's value.
  7959  func (s *StopDeploymentInput) SetApplicationId(v string) *StopDeploymentInput {
  7960  	s.ApplicationId = &v
  7961  	return s
  7962  }
  7963  
  7964  // SetDeploymentNumber sets the DeploymentNumber field's value.
  7965  func (s *StopDeploymentInput) SetDeploymentNumber(v int64) *StopDeploymentInput {
  7966  	s.DeploymentNumber = &v
  7967  	return s
  7968  }
  7969  
  7970  // SetEnvironmentId sets the EnvironmentId field's value.
  7971  func (s *StopDeploymentInput) SetEnvironmentId(v string) *StopDeploymentInput {
  7972  	s.EnvironmentId = &v
  7973  	return s
  7974  }
  7975  
  7976  type StopDeploymentOutput struct {
  7977  	_ struct{} `type:"structure"`
  7978  
  7979  	// The ID of the application that was deployed.
  7980  	ApplicationId *string `type:"string"`
  7981  
  7982  	// The time the deployment completed.
  7983  	CompletedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  7984  
  7985  	// Information about the source location of the configuration.
  7986  	ConfigurationLocationUri *string `min:"1" type:"string"`
  7987  
  7988  	// The name of the configuration.
  7989  	ConfigurationName *string `min:"1" type:"string"`
  7990  
  7991  	// The ID of the configuration profile that was deployed.
  7992  	ConfigurationProfileId *string `type:"string"`
  7993  
  7994  	// The configuration version that was deployed.
  7995  	ConfigurationVersion *string `min:"1" type:"string"`
  7996  
  7997  	// Total amount of time the deployment lasted.
  7998  	DeploymentDurationInMinutes *int64 `type:"integer"`
  7999  
  8000  	// The sequence number of the deployment.
  8001  	DeploymentNumber *int64 `type:"integer"`
  8002  
  8003  	// The ID of the deployment strategy that was deployed.
  8004  	DeploymentStrategyId *string `type:"string"`
  8005  
  8006  	// The description of the deployment.
  8007  	Description *string `type:"string"`
  8008  
  8009  	// The ID of the environment that was deployed.
  8010  	EnvironmentId *string `type:"string"`
  8011  
  8012  	// A list containing all events related to a deployment. The most recent events
  8013  	// are displayed first.
  8014  	EventLog []*DeploymentEvent `type:"list"`
  8015  
  8016  	// The amount of time AppConfig monitored for alarms before considering the
  8017  	// deployment to be complete and no longer eligible for automatic roll back.
  8018  	FinalBakeTimeInMinutes *int64 `type:"integer"`
  8019  
  8020  	// The percentage of targets to receive a deployed configuration during each
  8021  	// interval.
  8022  	GrowthFactor *float64 `min:"1" type:"float"`
  8023  
  8024  	// The algorithm used to define how percentage grew over time.
  8025  	GrowthType *string `type:"string" enum:"GrowthType"`
  8026  
  8027  	// The percentage of targets for which the deployment is available.
  8028  	PercentageComplete *float64 `min:"1" type:"float"`
  8029  
  8030  	// The time the deployment started.
  8031  	StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  8032  
  8033  	// The state of the deployment.
  8034  	State *string `type:"string" enum:"DeploymentState"`
  8035  }
  8036  
  8037  // String returns the string representation.
  8038  //
  8039  // API parameter values that are decorated as "sensitive" in the API will not
  8040  // be included in the string output. The member name will be present, but the
  8041  // value will be replaced with "sensitive".
  8042  func (s StopDeploymentOutput) String() string {
  8043  	return awsutil.Prettify(s)
  8044  }
  8045  
  8046  // GoString returns the string representation.
  8047  //
  8048  // API parameter values that are decorated as "sensitive" in the API will not
  8049  // be included in the string output. The member name will be present, but the
  8050  // value will be replaced with "sensitive".
  8051  func (s StopDeploymentOutput) GoString() string {
  8052  	return s.String()
  8053  }
  8054  
  8055  // SetApplicationId sets the ApplicationId field's value.
  8056  func (s *StopDeploymentOutput) SetApplicationId(v string) *StopDeploymentOutput {
  8057  	s.ApplicationId = &v
  8058  	return s
  8059  }
  8060  
  8061  // SetCompletedAt sets the CompletedAt field's value.
  8062  func (s *StopDeploymentOutput) SetCompletedAt(v time.Time) *StopDeploymentOutput {
  8063  	s.CompletedAt = &v
  8064  	return s
  8065  }
  8066  
  8067  // SetConfigurationLocationUri sets the ConfigurationLocationUri field's value.
  8068  func (s *StopDeploymentOutput) SetConfigurationLocationUri(v string) *StopDeploymentOutput {
  8069  	s.ConfigurationLocationUri = &v
  8070  	return s
  8071  }
  8072  
  8073  // SetConfigurationName sets the ConfigurationName field's value.
  8074  func (s *StopDeploymentOutput) SetConfigurationName(v string) *StopDeploymentOutput {
  8075  	s.ConfigurationName = &v
  8076  	return s
  8077  }
  8078  
  8079  // SetConfigurationProfileId sets the ConfigurationProfileId field's value.
  8080  func (s *StopDeploymentOutput) SetConfigurationProfileId(v string) *StopDeploymentOutput {
  8081  	s.ConfigurationProfileId = &v
  8082  	return s
  8083  }
  8084  
  8085  // SetConfigurationVersion sets the ConfigurationVersion field's value.
  8086  func (s *StopDeploymentOutput) SetConfigurationVersion(v string) *StopDeploymentOutput {
  8087  	s.ConfigurationVersion = &v
  8088  	return s
  8089  }
  8090  
  8091  // SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
  8092  func (s *StopDeploymentOutput) SetDeploymentDurationInMinutes(v int64) *StopDeploymentOutput {
  8093  	s.DeploymentDurationInMinutes = &v
  8094  	return s
  8095  }
  8096  
  8097  // SetDeploymentNumber sets the DeploymentNumber field's value.
  8098  func (s *StopDeploymentOutput) SetDeploymentNumber(v int64) *StopDeploymentOutput {
  8099  	s.DeploymentNumber = &v
  8100  	return s
  8101  }
  8102  
  8103  // SetDeploymentStrategyId sets the DeploymentStrategyId field's value.
  8104  func (s *StopDeploymentOutput) SetDeploymentStrategyId(v string) *StopDeploymentOutput {
  8105  	s.DeploymentStrategyId = &v
  8106  	return s
  8107  }
  8108  
  8109  // SetDescription sets the Description field's value.
  8110  func (s *StopDeploymentOutput) SetDescription(v string) *StopDeploymentOutput {
  8111  	s.Description = &v
  8112  	return s
  8113  }
  8114  
  8115  // SetEnvironmentId sets the EnvironmentId field's value.
  8116  func (s *StopDeploymentOutput) SetEnvironmentId(v string) *StopDeploymentOutput {
  8117  	s.EnvironmentId = &v
  8118  	return s
  8119  }
  8120  
  8121  // SetEventLog sets the EventLog field's value.
  8122  func (s *StopDeploymentOutput) SetEventLog(v []*DeploymentEvent) *StopDeploymentOutput {
  8123  	s.EventLog = v
  8124  	return s
  8125  }
  8126  
  8127  // SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
  8128  func (s *StopDeploymentOutput) SetFinalBakeTimeInMinutes(v int64) *StopDeploymentOutput {
  8129  	s.FinalBakeTimeInMinutes = &v
  8130  	return s
  8131  }
  8132  
  8133  // SetGrowthFactor sets the GrowthFactor field's value.
  8134  func (s *StopDeploymentOutput) SetGrowthFactor(v float64) *StopDeploymentOutput {
  8135  	s.GrowthFactor = &v
  8136  	return s
  8137  }
  8138  
  8139  // SetGrowthType sets the GrowthType field's value.
  8140  func (s *StopDeploymentOutput) SetGrowthType(v string) *StopDeploymentOutput {
  8141  	s.GrowthType = &v
  8142  	return s
  8143  }
  8144  
  8145  // SetPercentageComplete sets the PercentageComplete field's value.
  8146  func (s *StopDeploymentOutput) SetPercentageComplete(v float64) *StopDeploymentOutput {
  8147  	s.PercentageComplete = &v
  8148  	return s
  8149  }
  8150  
  8151  // SetStartedAt sets the StartedAt field's value.
  8152  func (s *StopDeploymentOutput) SetStartedAt(v time.Time) *StopDeploymentOutput {
  8153  	s.StartedAt = &v
  8154  	return s
  8155  }
  8156  
  8157  // SetState sets the State field's value.
  8158  func (s *StopDeploymentOutput) SetState(v string) *StopDeploymentOutput {
  8159  	s.State = &v
  8160  	return s
  8161  }
  8162  
  8163  type TagResourceInput struct {
  8164  	_ struct{} `type:"structure"`
  8165  
  8166  	// The ARN of the resource for which to retrieve tags.
  8167  	//
  8168  	// ResourceArn is a required field
  8169  	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"`
  8170  
  8171  	// The key-value string map. The valid character set is [a-zA-Z+-=._:/]. The
  8172  	// tag key can be up to 128 characters and must not start with aws:. The tag
  8173  	// value can be up to 256 characters.
  8174  	//
  8175  	// Tags is a required field
  8176  	Tags map[string]*string `type:"map" required:"true"`
  8177  }
  8178  
  8179  // String returns the string representation.
  8180  //
  8181  // API parameter values that are decorated as "sensitive" in the API will not
  8182  // be included in the string output. The member name will be present, but the
  8183  // value will be replaced with "sensitive".
  8184  func (s TagResourceInput) String() string {
  8185  	return awsutil.Prettify(s)
  8186  }
  8187  
  8188  // GoString returns the string representation.
  8189  //
  8190  // API parameter values that are decorated as "sensitive" in the API will not
  8191  // be included in the string output. The member name will be present, but the
  8192  // value will be replaced with "sensitive".
  8193  func (s TagResourceInput) GoString() string {
  8194  	return s.String()
  8195  }
  8196  
  8197  // Validate inspects the fields of the type to determine if they are valid.
  8198  func (s *TagResourceInput) Validate() error {
  8199  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  8200  	if s.ResourceArn == nil {
  8201  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  8202  	}
  8203  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
  8204  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
  8205  	}
  8206  	if s.Tags == nil {
  8207  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  8208  	}
  8209  
  8210  	if invalidParams.Len() > 0 {
  8211  		return invalidParams
  8212  	}
  8213  	return nil
  8214  }
  8215  
  8216  // SetResourceArn sets the ResourceArn field's value.
  8217  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  8218  	s.ResourceArn = &v
  8219  	return s
  8220  }
  8221  
  8222  // SetTags sets the Tags field's value.
  8223  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
  8224  	s.Tags = v
  8225  	return s
  8226  }
  8227  
  8228  type TagResourceOutput struct {
  8229  	_ struct{} `type:"structure" nopayload:"true"`
  8230  }
  8231  
  8232  // String returns the string representation.
  8233  //
  8234  // API parameter values that are decorated as "sensitive" in the API will not
  8235  // be included in the string output. The member name will be present, but the
  8236  // value will be replaced with "sensitive".
  8237  func (s TagResourceOutput) String() string {
  8238  	return awsutil.Prettify(s)
  8239  }
  8240  
  8241  // GoString returns the string representation.
  8242  //
  8243  // API parameter values that are decorated as "sensitive" in the API will not
  8244  // be included in the string output. The member name will be present, but the
  8245  // value will be replaced with "sensitive".
  8246  func (s TagResourceOutput) GoString() string {
  8247  	return s.String()
  8248  }
  8249  
  8250  type UntagResourceInput struct {
  8251  	_ struct{} `type:"structure" nopayload:"true"`
  8252  
  8253  	// The ARN of the resource for which to remove tags.
  8254  	//
  8255  	// ResourceArn is a required field
  8256  	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"`
  8257  
  8258  	// The tag keys to delete.
  8259  	//
  8260  	// TagKeys is a required field
  8261  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
  8262  }
  8263  
  8264  // String returns the string representation.
  8265  //
  8266  // API parameter values that are decorated as "sensitive" in the API will not
  8267  // be included in the string output. The member name will be present, but the
  8268  // value will be replaced with "sensitive".
  8269  func (s UntagResourceInput) String() string {
  8270  	return awsutil.Prettify(s)
  8271  }
  8272  
  8273  // GoString returns the string representation.
  8274  //
  8275  // API parameter values that are decorated as "sensitive" in the API will not
  8276  // be included in the string output. The member name will be present, but the
  8277  // value will be replaced with "sensitive".
  8278  func (s UntagResourceInput) GoString() string {
  8279  	return s.String()
  8280  }
  8281  
  8282  // Validate inspects the fields of the type to determine if they are valid.
  8283  func (s *UntagResourceInput) Validate() error {
  8284  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  8285  	if s.ResourceArn == nil {
  8286  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  8287  	}
  8288  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
  8289  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
  8290  	}
  8291  	if s.TagKeys == nil {
  8292  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  8293  	}
  8294  
  8295  	if invalidParams.Len() > 0 {
  8296  		return invalidParams
  8297  	}
  8298  	return nil
  8299  }
  8300  
  8301  // SetResourceArn sets the ResourceArn field's value.
  8302  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  8303  	s.ResourceArn = &v
  8304  	return s
  8305  }
  8306  
  8307  // SetTagKeys sets the TagKeys field's value.
  8308  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  8309  	s.TagKeys = v
  8310  	return s
  8311  }
  8312  
  8313  type UntagResourceOutput struct {
  8314  	_ struct{} `type:"structure" nopayload:"true"`
  8315  }
  8316  
  8317  // String returns the string representation.
  8318  //
  8319  // API parameter values that are decorated as "sensitive" in the API will not
  8320  // be included in the string output. The member name will be present, but the
  8321  // value will be replaced with "sensitive".
  8322  func (s UntagResourceOutput) String() string {
  8323  	return awsutil.Prettify(s)
  8324  }
  8325  
  8326  // GoString returns the string representation.
  8327  //
  8328  // API parameter values that are decorated as "sensitive" in the API will not
  8329  // be included in the string output. The member name will be present, but the
  8330  // value will be replaced with "sensitive".
  8331  func (s UntagResourceOutput) GoString() string {
  8332  	return s.String()
  8333  }
  8334  
  8335  type UpdateApplicationInput struct {
  8336  	_ struct{} `type:"structure"`
  8337  
  8338  	// The application ID.
  8339  	//
  8340  	// ApplicationId is a required field
  8341  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  8342  
  8343  	// A description of the application.
  8344  	Description *string `type:"string"`
  8345  
  8346  	// The name of the application.
  8347  	Name *string `min:"1" type:"string"`
  8348  }
  8349  
  8350  // String returns the string representation.
  8351  //
  8352  // API parameter values that are decorated as "sensitive" in the API will not
  8353  // be included in the string output. The member name will be present, but the
  8354  // value will be replaced with "sensitive".
  8355  func (s UpdateApplicationInput) String() string {
  8356  	return awsutil.Prettify(s)
  8357  }
  8358  
  8359  // GoString returns the string representation.
  8360  //
  8361  // API parameter values that are decorated as "sensitive" in the API will not
  8362  // be included in the string output. The member name will be present, but the
  8363  // value will be replaced with "sensitive".
  8364  func (s UpdateApplicationInput) GoString() string {
  8365  	return s.String()
  8366  }
  8367  
  8368  // Validate inspects the fields of the type to determine if they are valid.
  8369  func (s *UpdateApplicationInput) Validate() error {
  8370  	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"}
  8371  	if s.ApplicationId == nil {
  8372  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  8373  	}
  8374  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  8375  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  8376  	}
  8377  	if s.Name != nil && len(*s.Name) < 1 {
  8378  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  8379  	}
  8380  
  8381  	if invalidParams.Len() > 0 {
  8382  		return invalidParams
  8383  	}
  8384  	return nil
  8385  }
  8386  
  8387  // SetApplicationId sets the ApplicationId field's value.
  8388  func (s *UpdateApplicationInput) SetApplicationId(v string) *UpdateApplicationInput {
  8389  	s.ApplicationId = &v
  8390  	return s
  8391  }
  8392  
  8393  // SetDescription sets the Description field's value.
  8394  func (s *UpdateApplicationInput) SetDescription(v string) *UpdateApplicationInput {
  8395  	s.Description = &v
  8396  	return s
  8397  }
  8398  
  8399  // SetName sets the Name field's value.
  8400  func (s *UpdateApplicationInput) SetName(v string) *UpdateApplicationInput {
  8401  	s.Name = &v
  8402  	return s
  8403  }
  8404  
  8405  type UpdateApplicationOutput struct {
  8406  	_ struct{} `type:"structure"`
  8407  
  8408  	// The description of the application.
  8409  	Description *string `type:"string"`
  8410  
  8411  	// The application ID.
  8412  	Id *string `type:"string"`
  8413  
  8414  	// The application name.
  8415  	Name *string `min:"1" type:"string"`
  8416  }
  8417  
  8418  // String returns the string representation.
  8419  //
  8420  // API parameter values that are decorated as "sensitive" in the API will not
  8421  // be included in the string output. The member name will be present, but the
  8422  // value will be replaced with "sensitive".
  8423  func (s UpdateApplicationOutput) String() string {
  8424  	return awsutil.Prettify(s)
  8425  }
  8426  
  8427  // GoString returns the string representation.
  8428  //
  8429  // API parameter values that are decorated as "sensitive" in the API will not
  8430  // be included in the string output. The member name will be present, but the
  8431  // value will be replaced with "sensitive".
  8432  func (s UpdateApplicationOutput) GoString() string {
  8433  	return s.String()
  8434  }
  8435  
  8436  // SetDescription sets the Description field's value.
  8437  func (s *UpdateApplicationOutput) SetDescription(v string) *UpdateApplicationOutput {
  8438  	s.Description = &v
  8439  	return s
  8440  }
  8441  
  8442  // SetId sets the Id field's value.
  8443  func (s *UpdateApplicationOutput) SetId(v string) *UpdateApplicationOutput {
  8444  	s.Id = &v
  8445  	return s
  8446  }
  8447  
  8448  // SetName sets the Name field's value.
  8449  func (s *UpdateApplicationOutput) SetName(v string) *UpdateApplicationOutput {
  8450  	s.Name = &v
  8451  	return s
  8452  }
  8453  
  8454  type UpdateConfigurationProfileInput struct {
  8455  	_ struct{} `type:"structure"`
  8456  
  8457  	// The application ID.
  8458  	//
  8459  	// ApplicationId is a required field
  8460  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  8461  
  8462  	// The ID of the configuration profile.
  8463  	//
  8464  	// ConfigurationProfileId is a required field
  8465  	ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"`
  8466  
  8467  	// A description of the configuration profile.
  8468  	Description *string `type:"string"`
  8469  
  8470  	// The name of the configuration profile.
  8471  	Name *string `min:"1" type:"string"`
  8472  
  8473  	// The ARN of an IAM role with permission to access the configuration at the
  8474  	// specified LocationUri.
  8475  	RetrievalRoleArn *string `min:"20" type:"string"`
  8476  
  8477  	// A list of methods for validating the configuration.
  8478  	Validators []*Validator `type:"list"`
  8479  }
  8480  
  8481  // String returns the string representation.
  8482  //
  8483  // API parameter values that are decorated as "sensitive" in the API will not
  8484  // be included in the string output. The member name will be present, but the
  8485  // value will be replaced with "sensitive".
  8486  func (s UpdateConfigurationProfileInput) String() string {
  8487  	return awsutil.Prettify(s)
  8488  }
  8489  
  8490  // GoString returns the string representation.
  8491  //
  8492  // API parameter values that are decorated as "sensitive" in the API will not
  8493  // be included in the string output. The member name will be present, but the
  8494  // value will be replaced with "sensitive".
  8495  func (s UpdateConfigurationProfileInput) GoString() string {
  8496  	return s.String()
  8497  }
  8498  
  8499  // Validate inspects the fields of the type to determine if they are valid.
  8500  func (s *UpdateConfigurationProfileInput) Validate() error {
  8501  	invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationProfileInput"}
  8502  	if s.ApplicationId == nil {
  8503  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  8504  	}
  8505  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  8506  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  8507  	}
  8508  	if s.ConfigurationProfileId == nil {
  8509  		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
  8510  	}
  8511  	if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 {
  8512  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1))
  8513  	}
  8514  	if s.Name != nil && len(*s.Name) < 1 {
  8515  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  8516  	}
  8517  	if s.RetrievalRoleArn != nil && len(*s.RetrievalRoleArn) < 20 {
  8518  		invalidParams.Add(request.NewErrParamMinLen("RetrievalRoleArn", 20))
  8519  	}
  8520  	if s.Validators != nil {
  8521  		for i, v := range s.Validators {
  8522  			if v == nil {
  8523  				continue
  8524  			}
  8525  			if err := v.Validate(); err != nil {
  8526  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Validators", i), err.(request.ErrInvalidParams))
  8527  			}
  8528  		}
  8529  	}
  8530  
  8531  	if invalidParams.Len() > 0 {
  8532  		return invalidParams
  8533  	}
  8534  	return nil
  8535  }
  8536  
  8537  // SetApplicationId sets the ApplicationId field's value.
  8538  func (s *UpdateConfigurationProfileInput) SetApplicationId(v string) *UpdateConfigurationProfileInput {
  8539  	s.ApplicationId = &v
  8540  	return s
  8541  }
  8542  
  8543  // SetConfigurationProfileId sets the ConfigurationProfileId field's value.
  8544  func (s *UpdateConfigurationProfileInput) SetConfigurationProfileId(v string) *UpdateConfigurationProfileInput {
  8545  	s.ConfigurationProfileId = &v
  8546  	return s
  8547  }
  8548  
  8549  // SetDescription sets the Description field's value.
  8550  func (s *UpdateConfigurationProfileInput) SetDescription(v string) *UpdateConfigurationProfileInput {
  8551  	s.Description = &v
  8552  	return s
  8553  }
  8554  
  8555  // SetName sets the Name field's value.
  8556  func (s *UpdateConfigurationProfileInput) SetName(v string) *UpdateConfigurationProfileInput {
  8557  	s.Name = &v
  8558  	return s
  8559  }
  8560  
  8561  // SetRetrievalRoleArn sets the RetrievalRoleArn field's value.
  8562  func (s *UpdateConfigurationProfileInput) SetRetrievalRoleArn(v string) *UpdateConfigurationProfileInput {
  8563  	s.RetrievalRoleArn = &v
  8564  	return s
  8565  }
  8566  
  8567  // SetValidators sets the Validators field's value.
  8568  func (s *UpdateConfigurationProfileInput) SetValidators(v []*Validator) *UpdateConfigurationProfileInput {
  8569  	s.Validators = v
  8570  	return s
  8571  }
  8572  
  8573  type UpdateConfigurationProfileOutput struct {
  8574  	_ struct{} `type:"structure"`
  8575  
  8576  	// The application ID.
  8577  	ApplicationId *string `type:"string"`
  8578  
  8579  	// The configuration profile description.
  8580  	Description *string `type:"string"`
  8581  
  8582  	// The configuration profile ID.
  8583  	Id *string `type:"string"`
  8584  
  8585  	// The URI location of the configuration.
  8586  	LocationUri *string `min:"1" type:"string"`
  8587  
  8588  	// The name of the configuration profile.
  8589  	Name *string `min:"1" type:"string"`
  8590  
  8591  	// The ARN of an IAM role with permission to access the configuration at the
  8592  	// specified LocationUri.
  8593  	RetrievalRoleArn *string `min:"20" type:"string"`
  8594  
  8595  	// A list of methods for validating the configuration.
  8596  	Validators []*Validator `type:"list"`
  8597  }
  8598  
  8599  // String returns the string representation.
  8600  //
  8601  // API parameter values that are decorated as "sensitive" in the API will not
  8602  // be included in the string output. The member name will be present, but the
  8603  // value will be replaced with "sensitive".
  8604  func (s UpdateConfigurationProfileOutput) String() string {
  8605  	return awsutil.Prettify(s)
  8606  }
  8607  
  8608  // GoString returns the string representation.
  8609  //
  8610  // API parameter values that are decorated as "sensitive" in the API will not
  8611  // be included in the string output. The member name will be present, but the
  8612  // value will be replaced with "sensitive".
  8613  func (s UpdateConfigurationProfileOutput) GoString() string {
  8614  	return s.String()
  8615  }
  8616  
  8617  // SetApplicationId sets the ApplicationId field's value.
  8618  func (s *UpdateConfigurationProfileOutput) SetApplicationId(v string) *UpdateConfigurationProfileOutput {
  8619  	s.ApplicationId = &v
  8620  	return s
  8621  }
  8622  
  8623  // SetDescription sets the Description field's value.
  8624  func (s *UpdateConfigurationProfileOutput) SetDescription(v string) *UpdateConfigurationProfileOutput {
  8625  	s.Description = &v
  8626  	return s
  8627  }
  8628  
  8629  // SetId sets the Id field's value.
  8630  func (s *UpdateConfigurationProfileOutput) SetId(v string) *UpdateConfigurationProfileOutput {
  8631  	s.Id = &v
  8632  	return s
  8633  }
  8634  
  8635  // SetLocationUri sets the LocationUri field's value.
  8636  func (s *UpdateConfigurationProfileOutput) SetLocationUri(v string) *UpdateConfigurationProfileOutput {
  8637  	s.LocationUri = &v
  8638  	return s
  8639  }
  8640  
  8641  // SetName sets the Name field's value.
  8642  func (s *UpdateConfigurationProfileOutput) SetName(v string) *UpdateConfigurationProfileOutput {
  8643  	s.Name = &v
  8644  	return s
  8645  }
  8646  
  8647  // SetRetrievalRoleArn sets the RetrievalRoleArn field's value.
  8648  func (s *UpdateConfigurationProfileOutput) SetRetrievalRoleArn(v string) *UpdateConfigurationProfileOutput {
  8649  	s.RetrievalRoleArn = &v
  8650  	return s
  8651  }
  8652  
  8653  // SetValidators sets the Validators field's value.
  8654  func (s *UpdateConfigurationProfileOutput) SetValidators(v []*Validator) *UpdateConfigurationProfileOutput {
  8655  	s.Validators = v
  8656  	return s
  8657  }
  8658  
  8659  type UpdateDeploymentStrategyInput struct {
  8660  	_ struct{} `type:"structure"`
  8661  
  8662  	// Total amount of time for a deployment to last.
  8663  	DeploymentDurationInMinutes *int64 `type:"integer"`
  8664  
  8665  	// The deployment strategy ID.
  8666  	//
  8667  	// DeploymentStrategyId is a required field
  8668  	DeploymentStrategyId *string `location:"uri" locationName:"DeploymentStrategyId" type:"string" required:"true"`
  8669  
  8670  	// A description of the deployment strategy.
  8671  	Description *string `type:"string"`
  8672  
  8673  	// The amount of time AppConfig monitors for alarms before considering the deployment
  8674  	// to be complete and no longer eligible for automatic roll back.
  8675  	FinalBakeTimeInMinutes *int64 `type:"integer"`
  8676  
  8677  	// The percentage of targets to receive a deployed configuration during each
  8678  	// interval.
  8679  	GrowthFactor *float64 `min:"1" type:"float"`
  8680  
  8681  	// The algorithm used to define how percentage grows over time. AWS AppConfig
  8682  	// supports the following growth types:
  8683  	//
  8684  	// Linear: For this type, AppConfig processes the deployment by increments of
  8685  	// the growth factor evenly distributed over the deployment time. For example,
  8686  	// a linear deployment that uses a growth factor of 20 initially makes the configuration
  8687  	// available to 20 percent of the targets. After 1/5th of the deployment time
  8688  	// has passed, the system updates the percentage to 40 percent. This continues
  8689  	// until 100% of the targets are set to receive the deployed configuration.
  8690  	//
  8691  	// Exponential: For this type, AppConfig processes the deployment exponentially
  8692  	// using the following formula: G*(2^N). In this formula, G is the growth factor
  8693  	// specified by the user and N is the number of steps until the configuration
  8694  	// is deployed to all targets. For example, if you specify a growth factor of
  8695  	// 2, then the system rolls out the configuration as follows:
  8696  	//
  8697  	// 2*(2^0)
  8698  	//
  8699  	// 2*(2^1)
  8700  	//
  8701  	// 2*(2^2)
  8702  	//
  8703  	// Expressed numerically, the deployment rolls out as follows: 2% of the targets,
  8704  	// 4% of the targets, 8% of the targets, and continues until the configuration
  8705  	// has been deployed to all targets.
  8706  	GrowthType *string `type:"string" enum:"GrowthType"`
  8707  }
  8708  
  8709  // String returns the string representation.
  8710  //
  8711  // API parameter values that are decorated as "sensitive" in the API will not
  8712  // be included in the string output. The member name will be present, but the
  8713  // value will be replaced with "sensitive".
  8714  func (s UpdateDeploymentStrategyInput) String() string {
  8715  	return awsutil.Prettify(s)
  8716  }
  8717  
  8718  // GoString returns the string representation.
  8719  //
  8720  // API parameter values that are decorated as "sensitive" in the API will not
  8721  // be included in the string output. The member name will be present, but the
  8722  // value will be replaced with "sensitive".
  8723  func (s UpdateDeploymentStrategyInput) GoString() string {
  8724  	return s.String()
  8725  }
  8726  
  8727  // Validate inspects the fields of the type to determine if they are valid.
  8728  func (s *UpdateDeploymentStrategyInput) Validate() error {
  8729  	invalidParams := request.ErrInvalidParams{Context: "UpdateDeploymentStrategyInput"}
  8730  	if s.DeploymentStrategyId == nil {
  8731  		invalidParams.Add(request.NewErrParamRequired("DeploymentStrategyId"))
  8732  	}
  8733  	if s.DeploymentStrategyId != nil && len(*s.DeploymentStrategyId) < 1 {
  8734  		invalidParams.Add(request.NewErrParamMinLen("DeploymentStrategyId", 1))
  8735  	}
  8736  	if s.GrowthFactor != nil && *s.GrowthFactor < 1 {
  8737  		invalidParams.Add(request.NewErrParamMinValue("GrowthFactor", 1))
  8738  	}
  8739  
  8740  	if invalidParams.Len() > 0 {
  8741  		return invalidParams
  8742  	}
  8743  	return nil
  8744  }
  8745  
  8746  // SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
  8747  func (s *UpdateDeploymentStrategyInput) SetDeploymentDurationInMinutes(v int64) *UpdateDeploymentStrategyInput {
  8748  	s.DeploymentDurationInMinutes = &v
  8749  	return s
  8750  }
  8751  
  8752  // SetDeploymentStrategyId sets the DeploymentStrategyId field's value.
  8753  func (s *UpdateDeploymentStrategyInput) SetDeploymentStrategyId(v string) *UpdateDeploymentStrategyInput {
  8754  	s.DeploymentStrategyId = &v
  8755  	return s
  8756  }
  8757  
  8758  // SetDescription sets the Description field's value.
  8759  func (s *UpdateDeploymentStrategyInput) SetDescription(v string) *UpdateDeploymentStrategyInput {
  8760  	s.Description = &v
  8761  	return s
  8762  }
  8763  
  8764  // SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
  8765  func (s *UpdateDeploymentStrategyInput) SetFinalBakeTimeInMinutes(v int64) *UpdateDeploymentStrategyInput {
  8766  	s.FinalBakeTimeInMinutes = &v
  8767  	return s
  8768  }
  8769  
  8770  // SetGrowthFactor sets the GrowthFactor field's value.
  8771  func (s *UpdateDeploymentStrategyInput) SetGrowthFactor(v float64) *UpdateDeploymentStrategyInput {
  8772  	s.GrowthFactor = &v
  8773  	return s
  8774  }
  8775  
  8776  // SetGrowthType sets the GrowthType field's value.
  8777  func (s *UpdateDeploymentStrategyInput) SetGrowthType(v string) *UpdateDeploymentStrategyInput {
  8778  	s.GrowthType = &v
  8779  	return s
  8780  }
  8781  
  8782  type UpdateDeploymentStrategyOutput struct {
  8783  	_ struct{} `type:"structure"`
  8784  
  8785  	// Total amount of time the deployment lasted.
  8786  	DeploymentDurationInMinutes *int64 `type:"integer"`
  8787  
  8788  	// The description of the deployment strategy.
  8789  	Description *string `type:"string"`
  8790  
  8791  	// The amount of time AppConfig monitored for alarms before considering the
  8792  	// deployment to be complete and no longer eligible for automatic roll back.
  8793  	FinalBakeTimeInMinutes *int64 `type:"integer"`
  8794  
  8795  	// The percentage of targets that received a deployed configuration during each
  8796  	// interval.
  8797  	GrowthFactor *float64 `min:"1" type:"float"`
  8798  
  8799  	// The algorithm used to define how percentage grew over time.
  8800  	GrowthType *string `type:"string" enum:"GrowthType"`
  8801  
  8802  	// The deployment strategy ID.
  8803  	Id *string `type:"string"`
  8804  
  8805  	// The name of the deployment strategy.
  8806  	Name *string `min:"1" type:"string"`
  8807  
  8808  	// Save the deployment strategy to a Systems Manager (SSM) document.
  8809  	ReplicateTo *string `type:"string" enum:"ReplicateTo"`
  8810  }
  8811  
  8812  // String returns the string representation.
  8813  //
  8814  // API parameter values that are decorated as "sensitive" in the API will not
  8815  // be included in the string output. The member name will be present, but the
  8816  // value will be replaced with "sensitive".
  8817  func (s UpdateDeploymentStrategyOutput) String() string {
  8818  	return awsutil.Prettify(s)
  8819  }
  8820  
  8821  // GoString returns the string representation.
  8822  //
  8823  // API parameter values that are decorated as "sensitive" in the API will not
  8824  // be included in the string output. The member name will be present, but the
  8825  // value will be replaced with "sensitive".
  8826  func (s UpdateDeploymentStrategyOutput) GoString() string {
  8827  	return s.String()
  8828  }
  8829  
  8830  // SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
  8831  func (s *UpdateDeploymentStrategyOutput) SetDeploymentDurationInMinutes(v int64) *UpdateDeploymentStrategyOutput {
  8832  	s.DeploymentDurationInMinutes = &v
  8833  	return s
  8834  }
  8835  
  8836  // SetDescription sets the Description field's value.
  8837  func (s *UpdateDeploymentStrategyOutput) SetDescription(v string) *UpdateDeploymentStrategyOutput {
  8838  	s.Description = &v
  8839  	return s
  8840  }
  8841  
  8842  // SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
  8843  func (s *UpdateDeploymentStrategyOutput) SetFinalBakeTimeInMinutes(v int64) *UpdateDeploymentStrategyOutput {
  8844  	s.FinalBakeTimeInMinutes = &v
  8845  	return s
  8846  }
  8847  
  8848  // SetGrowthFactor sets the GrowthFactor field's value.
  8849  func (s *UpdateDeploymentStrategyOutput) SetGrowthFactor(v float64) *UpdateDeploymentStrategyOutput {
  8850  	s.GrowthFactor = &v
  8851  	return s
  8852  }
  8853  
  8854  // SetGrowthType sets the GrowthType field's value.
  8855  func (s *UpdateDeploymentStrategyOutput) SetGrowthType(v string) *UpdateDeploymentStrategyOutput {
  8856  	s.GrowthType = &v
  8857  	return s
  8858  }
  8859  
  8860  // SetId sets the Id field's value.
  8861  func (s *UpdateDeploymentStrategyOutput) SetId(v string) *UpdateDeploymentStrategyOutput {
  8862  	s.Id = &v
  8863  	return s
  8864  }
  8865  
  8866  // SetName sets the Name field's value.
  8867  func (s *UpdateDeploymentStrategyOutput) SetName(v string) *UpdateDeploymentStrategyOutput {
  8868  	s.Name = &v
  8869  	return s
  8870  }
  8871  
  8872  // SetReplicateTo sets the ReplicateTo field's value.
  8873  func (s *UpdateDeploymentStrategyOutput) SetReplicateTo(v string) *UpdateDeploymentStrategyOutput {
  8874  	s.ReplicateTo = &v
  8875  	return s
  8876  }
  8877  
  8878  type UpdateEnvironmentInput struct {
  8879  	_ struct{} `type:"structure"`
  8880  
  8881  	// The application ID.
  8882  	//
  8883  	// ApplicationId is a required field
  8884  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  8885  
  8886  	// A description of the environment.
  8887  	Description *string `type:"string"`
  8888  
  8889  	// The environment ID.
  8890  	//
  8891  	// EnvironmentId is a required field
  8892  	EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"`
  8893  
  8894  	// Amazon CloudWatch alarms to monitor during the deployment process.
  8895  	Monitors []*Monitor `type:"list"`
  8896  
  8897  	// The name of the environment.
  8898  	Name *string `min:"1" type:"string"`
  8899  }
  8900  
  8901  // String returns the string representation.
  8902  //
  8903  // API parameter values that are decorated as "sensitive" in the API will not
  8904  // be included in the string output. The member name will be present, but the
  8905  // value will be replaced with "sensitive".
  8906  func (s UpdateEnvironmentInput) String() string {
  8907  	return awsutil.Prettify(s)
  8908  }
  8909  
  8910  // GoString returns the string representation.
  8911  //
  8912  // API parameter values that are decorated as "sensitive" in the API will not
  8913  // be included in the string output. The member name will be present, but the
  8914  // value will be replaced with "sensitive".
  8915  func (s UpdateEnvironmentInput) GoString() string {
  8916  	return s.String()
  8917  }
  8918  
  8919  // Validate inspects the fields of the type to determine if they are valid.
  8920  func (s *UpdateEnvironmentInput) Validate() error {
  8921  	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentInput"}
  8922  	if s.ApplicationId == nil {
  8923  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  8924  	}
  8925  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  8926  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  8927  	}
  8928  	if s.EnvironmentId == nil {
  8929  		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
  8930  	}
  8931  	if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 {
  8932  		invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1))
  8933  	}
  8934  	if s.Name != nil && len(*s.Name) < 1 {
  8935  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  8936  	}
  8937  	if s.Monitors != nil {
  8938  		for i, v := range s.Monitors {
  8939  			if v == nil {
  8940  				continue
  8941  			}
  8942  			if err := v.Validate(); err != nil {
  8943  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Monitors", i), err.(request.ErrInvalidParams))
  8944  			}
  8945  		}
  8946  	}
  8947  
  8948  	if invalidParams.Len() > 0 {
  8949  		return invalidParams
  8950  	}
  8951  	return nil
  8952  }
  8953  
  8954  // SetApplicationId sets the ApplicationId field's value.
  8955  func (s *UpdateEnvironmentInput) SetApplicationId(v string) *UpdateEnvironmentInput {
  8956  	s.ApplicationId = &v
  8957  	return s
  8958  }
  8959  
  8960  // SetDescription sets the Description field's value.
  8961  func (s *UpdateEnvironmentInput) SetDescription(v string) *UpdateEnvironmentInput {
  8962  	s.Description = &v
  8963  	return s
  8964  }
  8965  
  8966  // SetEnvironmentId sets the EnvironmentId field's value.
  8967  func (s *UpdateEnvironmentInput) SetEnvironmentId(v string) *UpdateEnvironmentInput {
  8968  	s.EnvironmentId = &v
  8969  	return s
  8970  }
  8971  
  8972  // SetMonitors sets the Monitors field's value.
  8973  func (s *UpdateEnvironmentInput) SetMonitors(v []*Monitor) *UpdateEnvironmentInput {
  8974  	s.Monitors = v
  8975  	return s
  8976  }
  8977  
  8978  // SetName sets the Name field's value.
  8979  func (s *UpdateEnvironmentInput) SetName(v string) *UpdateEnvironmentInput {
  8980  	s.Name = &v
  8981  	return s
  8982  }
  8983  
  8984  type UpdateEnvironmentOutput struct {
  8985  	_ struct{} `type:"structure"`
  8986  
  8987  	// The application ID.
  8988  	ApplicationId *string `type:"string"`
  8989  
  8990  	// The description of the environment.
  8991  	Description *string `type:"string"`
  8992  
  8993  	// The environment ID.
  8994  	Id *string `type:"string"`
  8995  
  8996  	// Amazon CloudWatch alarms monitored during the deployment.
  8997  	Monitors []*Monitor `type:"list"`
  8998  
  8999  	// The name of the environment.
  9000  	Name *string `min:"1" type:"string"`
  9001  
  9002  	// The state of the environment. An environment can be in one of the following
  9003  	// states: READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK, or ROLLED_BACK
  9004  	State *string `type:"string" enum:"EnvironmentState"`
  9005  }
  9006  
  9007  // String returns the string representation.
  9008  //
  9009  // API parameter values that are decorated as "sensitive" in the API will not
  9010  // be included in the string output. The member name will be present, but the
  9011  // value will be replaced with "sensitive".
  9012  func (s UpdateEnvironmentOutput) String() string {
  9013  	return awsutil.Prettify(s)
  9014  }
  9015  
  9016  // GoString returns the string representation.
  9017  //
  9018  // API parameter values that are decorated as "sensitive" in the API will not
  9019  // be included in the string output. The member name will be present, but the
  9020  // value will be replaced with "sensitive".
  9021  func (s UpdateEnvironmentOutput) GoString() string {
  9022  	return s.String()
  9023  }
  9024  
  9025  // SetApplicationId sets the ApplicationId field's value.
  9026  func (s *UpdateEnvironmentOutput) SetApplicationId(v string) *UpdateEnvironmentOutput {
  9027  	s.ApplicationId = &v
  9028  	return s
  9029  }
  9030  
  9031  // SetDescription sets the Description field's value.
  9032  func (s *UpdateEnvironmentOutput) SetDescription(v string) *UpdateEnvironmentOutput {
  9033  	s.Description = &v
  9034  	return s
  9035  }
  9036  
  9037  // SetId sets the Id field's value.
  9038  func (s *UpdateEnvironmentOutput) SetId(v string) *UpdateEnvironmentOutput {
  9039  	s.Id = &v
  9040  	return s
  9041  }
  9042  
  9043  // SetMonitors sets the Monitors field's value.
  9044  func (s *UpdateEnvironmentOutput) SetMonitors(v []*Monitor) *UpdateEnvironmentOutput {
  9045  	s.Monitors = v
  9046  	return s
  9047  }
  9048  
  9049  // SetName sets the Name field's value.
  9050  func (s *UpdateEnvironmentOutput) SetName(v string) *UpdateEnvironmentOutput {
  9051  	s.Name = &v
  9052  	return s
  9053  }
  9054  
  9055  // SetState sets the State field's value.
  9056  func (s *UpdateEnvironmentOutput) SetState(v string) *UpdateEnvironmentOutput {
  9057  	s.State = &v
  9058  	return s
  9059  }
  9060  
  9061  type ValidateConfigurationInput struct {
  9062  	_ struct{} `type:"structure" nopayload:"true"`
  9063  
  9064  	// The application ID.
  9065  	//
  9066  	// ApplicationId is a required field
  9067  	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
  9068  
  9069  	// The configuration profile ID.
  9070  	//
  9071  	// ConfigurationProfileId is a required field
  9072  	ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"`
  9073  
  9074  	// The version of the configuration to validate.
  9075  	//
  9076  	// ConfigurationVersion is a required field
  9077  	ConfigurationVersion *string `location:"querystring" locationName:"configuration_version" min:"1" type:"string" required:"true"`
  9078  }
  9079  
  9080  // String returns the string representation.
  9081  //
  9082  // API parameter values that are decorated as "sensitive" in the API will not
  9083  // be included in the string output. The member name will be present, but the
  9084  // value will be replaced with "sensitive".
  9085  func (s ValidateConfigurationInput) String() string {
  9086  	return awsutil.Prettify(s)
  9087  }
  9088  
  9089  // GoString returns the string representation.
  9090  //
  9091  // API parameter values that are decorated as "sensitive" in the API will not
  9092  // be included in the string output. The member name will be present, but the
  9093  // value will be replaced with "sensitive".
  9094  func (s ValidateConfigurationInput) GoString() string {
  9095  	return s.String()
  9096  }
  9097  
  9098  // Validate inspects the fields of the type to determine if they are valid.
  9099  func (s *ValidateConfigurationInput) Validate() error {
  9100  	invalidParams := request.ErrInvalidParams{Context: "ValidateConfigurationInput"}
  9101  	if s.ApplicationId == nil {
  9102  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  9103  	}
  9104  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  9105  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  9106  	}
  9107  	if s.ConfigurationProfileId == nil {
  9108  		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
  9109  	}
  9110  	if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 {
  9111  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1))
  9112  	}
  9113  	if s.ConfigurationVersion == nil {
  9114  		invalidParams.Add(request.NewErrParamRequired("ConfigurationVersion"))
  9115  	}
  9116  	if s.ConfigurationVersion != nil && len(*s.ConfigurationVersion) < 1 {
  9117  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationVersion", 1))
  9118  	}
  9119  
  9120  	if invalidParams.Len() > 0 {
  9121  		return invalidParams
  9122  	}
  9123  	return nil
  9124  }
  9125  
  9126  // SetApplicationId sets the ApplicationId field's value.
  9127  func (s *ValidateConfigurationInput) SetApplicationId(v string) *ValidateConfigurationInput {
  9128  	s.ApplicationId = &v
  9129  	return s
  9130  }
  9131  
  9132  // SetConfigurationProfileId sets the ConfigurationProfileId field's value.
  9133  func (s *ValidateConfigurationInput) SetConfigurationProfileId(v string) *ValidateConfigurationInput {
  9134  	s.ConfigurationProfileId = &v
  9135  	return s
  9136  }
  9137  
  9138  // SetConfigurationVersion sets the ConfigurationVersion field's value.
  9139  func (s *ValidateConfigurationInput) SetConfigurationVersion(v string) *ValidateConfigurationInput {
  9140  	s.ConfigurationVersion = &v
  9141  	return s
  9142  }
  9143  
  9144  type ValidateConfigurationOutput struct {
  9145  	_ struct{} `type:"structure" nopayload:"true"`
  9146  }
  9147  
  9148  // String returns the string representation.
  9149  //
  9150  // API parameter values that are decorated as "sensitive" in the API will not
  9151  // be included in the string output. The member name will be present, but the
  9152  // value will be replaced with "sensitive".
  9153  func (s ValidateConfigurationOutput) String() string {
  9154  	return awsutil.Prettify(s)
  9155  }
  9156  
  9157  // GoString returns the string representation.
  9158  //
  9159  // API parameter values that are decorated as "sensitive" in the API will not
  9160  // be included in the string output. The member name will be present, but the
  9161  // value will be replaced with "sensitive".
  9162  func (s ValidateConfigurationOutput) GoString() string {
  9163  	return s.String()
  9164  }
  9165  
  9166  // A validator provides a syntactic or semantic check to ensure the configuration
  9167  // you want to deploy functions as intended. To validate your application configuration
  9168  // data, you provide a schema or a Lambda function that runs against the configuration.
  9169  // The configuration deployment or update can only proceed when the configuration
  9170  // data is valid.
  9171  type Validator struct {
  9172  	_ struct{} `type:"structure"`
  9173  
  9174  	// Either the JSON Schema content or the Amazon Resource Name (ARN) of an AWS
  9175  	// Lambda function.
  9176  	//
  9177  	// Content is a sensitive parameter and its value will be
  9178  	// replaced with "sensitive" in string returned by Validator's
  9179  	// String and GoString methods.
  9180  	//
  9181  	// Content is a required field
  9182  	Content *string `type:"string" required:"true" sensitive:"true"`
  9183  
  9184  	// AppConfig supports validators of type JSON_SCHEMA and LAMBDA
  9185  	//
  9186  	// Type is a required field
  9187  	Type *string `type:"string" required:"true" enum:"ValidatorType"`
  9188  }
  9189  
  9190  // String returns the string representation.
  9191  //
  9192  // API parameter values that are decorated as "sensitive" in the API will not
  9193  // be included in the string output. The member name will be present, but the
  9194  // value will be replaced with "sensitive".
  9195  func (s Validator) String() string {
  9196  	return awsutil.Prettify(s)
  9197  }
  9198  
  9199  // GoString returns the string representation.
  9200  //
  9201  // API parameter values that are decorated as "sensitive" in the API will not
  9202  // be included in the string output. The member name will be present, but the
  9203  // value will be replaced with "sensitive".
  9204  func (s Validator) GoString() string {
  9205  	return s.String()
  9206  }
  9207  
  9208  // Validate inspects the fields of the type to determine if they are valid.
  9209  func (s *Validator) Validate() error {
  9210  	invalidParams := request.ErrInvalidParams{Context: "Validator"}
  9211  	if s.Content == nil {
  9212  		invalidParams.Add(request.NewErrParamRequired("Content"))
  9213  	}
  9214  	if s.Type == nil {
  9215  		invalidParams.Add(request.NewErrParamRequired("Type"))
  9216  	}
  9217  
  9218  	if invalidParams.Len() > 0 {
  9219  		return invalidParams
  9220  	}
  9221  	return nil
  9222  }
  9223  
  9224  // SetContent sets the Content field's value.
  9225  func (s *Validator) SetContent(v string) *Validator {
  9226  	s.Content = &v
  9227  	return s
  9228  }
  9229  
  9230  // SetType sets the Type field's value.
  9231  func (s *Validator) SetType(v string) *Validator {
  9232  	s.Type = &v
  9233  	return s
  9234  }
  9235  
  9236  const (
  9237  	// BytesMeasureKilobytes is a BytesMeasure enum value
  9238  	BytesMeasureKilobytes = "KILOBYTES"
  9239  )
  9240  
  9241  // BytesMeasure_Values returns all elements of the BytesMeasure enum
  9242  func BytesMeasure_Values() []string {
  9243  	return []string{
  9244  		BytesMeasureKilobytes,
  9245  	}
  9246  }
  9247  
  9248  const (
  9249  	// DeploymentEventTypePercentageUpdated is a DeploymentEventType enum value
  9250  	DeploymentEventTypePercentageUpdated = "PERCENTAGE_UPDATED"
  9251  
  9252  	// DeploymentEventTypeRollbackStarted is a DeploymentEventType enum value
  9253  	DeploymentEventTypeRollbackStarted = "ROLLBACK_STARTED"
  9254  
  9255  	// DeploymentEventTypeRollbackCompleted is a DeploymentEventType enum value
  9256  	DeploymentEventTypeRollbackCompleted = "ROLLBACK_COMPLETED"
  9257  
  9258  	// DeploymentEventTypeBakeTimeStarted is a DeploymentEventType enum value
  9259  	DeploymentEventTypeBakeTimeStarted = "BAKE_TIME_STARTED"
  9260  
  9261  	// DeploymentEventTypeDeploymentStarted is a DeploymentEventType enum value
  9262  	DeploymentEventTypeDeploymentStarted = "DEPLOYMENT_STARTED"
  9263  
  9264  	// DeploymentEventTypeDeploymentCompleted is a DeploymentEventType enum value
  9265  	DeploymentEventTypeDeploymentCompleted = "DEPLOYMENT_COMPLETED"
  9266  )
  9267  
  9268  // DeploymentEventType_Values returns all elements of the DeploymentEventType enum
  9269  func DeploymentEventType_Values() []string {
  9270  	return []string{
  9271  		DeploymentEventTypePercentageUpdated,
  9272  		DeploymentEventTypeRollbackStarted,
  9273  		DeploymentEventTypeRollbackCompleted,
  9274  		DeploymentEventTypeBakeTimeStarted,
  9275  		DeploymentEventTypeDeploymentStarted,
  9276  		DeploymentEventTypeDeploymentCompleted,
  9277  	}
  9278  }
  9279  
  9280  const (
  9281  	// DeploymentStateBaking is a DeploymentState enum value
  9282  	DeploymentStateBaking = "BAKING"
  9283  
  9284  	// DeploymentStateValidating is a DeploymentState enum value
  9285  	DeploymentStateValidating = "VALIDATING"
  9286  
  9287  	// DeploymentStateDeploying is a DeploymentState enum value
  9288  	DeploymentStateDeploying = "DEPLOYING"
  9289  
  9290  	// DeploymentStateComplete is a DeploymentState enum value
  9291  	DeploymentStateComplete = "COMPLETE"
  9292  
  9293  	// DeploymentStateRollingBack is a DeploymentState enum value
  9294  	DeploymentStateRollingBack = "ROLLING_BACK"
  9295  
  9296  	// DeploymentStateRolledBack is a DeploymentState enum value
  9297  	DeploymentStateRolledBack = "ROLLED_BACK"
  9298  )
  9299  
  9300  // DeploymentState_Values returns all elements of the DeploymentState enum
  9301  func DeploymentState_Values() []string {
  9302  	return []string{
  9303  		DeploymentStateBaking,
  9304  		DeploymentStateValidating,
  9305  		DeploymentStateDeploying,
  9306  		DeploymentStateComplete,
  9307  		DeploymentStateRollingBack,
  9308  		DeploymentStateRolledBack,
  9309  	}
  9310  }
  9311  
  9312  const (
  9313  	// EnvironmentStateReadyForDeployment is a EnvironmentState enum value
  9314  	EnvironmentStateReadyForDeployment = "READY_FOR_DEPLOYMENT"
  9315  
  9316  	// EnvironmentStateDeploying is a EnvironmentState enum value
  9317  	EnvironmentStateDeploying = "DEPLOYING"
  9318  
  9319  	// EnvironmentStateRollingBack is a EnvironmentState enum value
  9320  	EnvironmentStateRollingBack = "ROLLING_BACK"
  9321  
  9322  	// EnvironmentStateRolledBack is a EnvironmentState enum value
  9323  	EnvironmentStateRolledBack = "ROLLED_BACK"
  9324  )
  9325  
  9326  // EnvironmentState_Values returns all elements of the EnvironmentState enum
  9327  func EnvironmentState_Values() []string {
  9328  	return []string{
  9329  		EnvironmentStateReadyForDeployment,
  9330  		EnvironmentStateDeploying,
  9331  		EnvironmentStateRollingBack,
  9332  		EnvironmentStateRolledBack,
  9333  	}
  9334  }
  9335  
  9336  const (
  9337  	// GrowthTypeLinear is a GrowthType enum value
  9338  	GrowthTypeLinear = "LINEAR"
  9339  
  9340  	// GrowthTypeExponential is a GrowthType enum value
  9341  	GrowthTypeExponential = "EXPONENTIAL"
  9342  )
  9343  
  9344  // GrowthType_Values returns all elements of the GrowthType enum
  9345  func GrowthType_Values() []string {
  9346  	return []string{
  9347  		GrowthTypeLinear,
  9348  		GrowthTypeExponential,
  9349  	}
  9350  }
  9351  
  9352  const (
  9353  	// ReplicateToNone is a ReplicateTo enum value
  9354  	ReplicateToNone = "NONE"
  9355  
  9356  	// ReplicateToSsmDocument is a ReplicateTo enum value
  9357  	ReplicateToSsmDocument = "SSM_DOCUMENT"
  9358  )
  9359  
  9360  // ReplicateTo_Values returns all elements of the ReplicateTo enum
  9361  func ReplicateTo_Values() []string {
  9362  	return []string{
  9363  		ReplicateToNone,
  9364  		ReplicateToSsmDocument,
  9365  	}
  9366  }
  9367  
  9368  const (
  9369  	// TriggeredByUser is a TriggeredBy enum value
  9370  	TriggeredByUser = "USER"
  9371  
  9372  	// TriggeredByAppconfig is a TriggeredBy enum value
  9373  	TriggeredByAppconfig = "APPCONFIG"
  9374  
  9375  	// TriggeredByCloudwatchAlarm is a TriggeredBy enum value
  9376  	TriggeredByCloudwatchAlarm = "CLOUDWATCH_ALARM"
  9377  
  9378  	// TriggeredByInternalError is a TriggeredBy enum value
  9379  	TriggeredByInternalError = "INTERNAL_ERROR"
  9380  )
  9381  
  9382  // TriggeredBy_Values returns all elements of the TriggeredBy enum
  9383  func TriggeredBy_Values() []string {
  9384  	return []string{
  9385  		TriggeredByUser,
  9386  		TriggeredByAppconfig,
  9387  		TriggeredByCloudwatchAlarm,
  9388  		TriggeredByInternalError,
  9389  	}
  9390  }
  9391  
  9392  const (
  9393  	// ValidatorTypeJsonSchema is a ValidatorType enum value
  9394  	ValidatorTypeJsonSchema = "JSON_SCHEMA"
  9395  
  9396  	// ValidatorTypeLambda is a ValidatorType enum value
  9397  	ValidatorTypeLambda = "LAMBDA"
  9398  )
  9399  
  9400  // ValidatorType_Values returns all elements of the ValidatorType enum
  9401  func ValidatorType_Values() []string {
  9402  	return []string{
  9403  		ValidatorTypeJsonSchema,
  9404  		ValidatorTypeLambda,
  9405  	}
  9406  }