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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package mediapackagevod
     4  
     5  import (
     6  	"fmt"
     7  
     8  	"github.com/aavshr/aws-sdk-go/aws"
     9  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    10  	"github.com/aavshr/aws-sdk-go/aws/request"
    11  	"github.com/aavshr/aws-sdk-go/private/protocol"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    13  )
    14  
    15  const opConfigureLogs = "ConfigureLogs"
    16  
    17  // ConfigureLogsRequest generates a "aws/request.Request" representing the
    18  // client's request for the ConfigureLogs operation. The "output" return
    19  // value will be populated with the request's response once the request completes
    20  // successfully.
    21  //
    22  // Use "Send" method on the returned Request to send the API call to the service.
    23  // the "output" return value is not valid until after Send returns without error.
    24  //
    25  // See ConfigureLogs for more information on using the ConfigureLogs
    26  // API call, and error handling.
    27  //
    28  // This method is useful when you want to inject custom logic or configuration
    29  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    30  //
    31  //
    32  //    // Example sending a request using the ConfigureLogsRequest method.
    33  //    req, resp := client.ConfigureLogsRequest(params)
    34  //
    35  //    err := req.Send()
    36  //    if err == nil { // resp is now filled
    37  //        fmt.Println(resp)
    38  //    }
    39  //
    40  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ConfigureLogs
    41  func (c *MediaPackageVod) ConfigureLogsRequest(input *ConfigureLogsInput) (req *request.Request, output *ConfigureLogsOutput) {
    42  	op := &request.Operation{
    43  		Name:       opConfigureLogs,
    44  		HTTPMethod: "PUT",
    45  		HTTPPath:   "/packaging_groups/{id}/configure_logs",
    46  	}
    47  
    48  	if input == nil {
    49  		input = &ConfigureLogsInput{}
    50  	}
    51  
    52  	output = &ConfigureLogsOutput{}
    53  	req = c.newRequest(op, input, output)
    54  	return
    55  }
    56  
    57  // ConfigureLogs API operation for AWS Elemental MediaPackage VOD.
    58  //
    59  // Changes the packaging group's properities to configure log subscription
    60  //
    61  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    62  // with awserr.Error's Code and Message methods to get detailed information about
    63  // the error.
    64  //
    65  // See the AWS API reference guide for AWS Elemental MediaPackage VOD's
    66  // API operation ConfigureLogs for usage and error information.
    67  //
    68  // Returned Error Types:
    69  //   * UnprocessableEntityException
    70  //
    71  //   * InternalServerErrorException
    72  //
    73  //   * ForbiddenException
    74  //
    75  //   * NotFoundException
    76  //
    77  //   * ServiceUnavailableException
    78  //
    79  //   * TooManyRequestsException
    80  //
    81  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ConfigureLogs
    82  func (c *MediaPackageVod) ConfigureLogs(input *ConfigureLogsInput) (*ConfigureLogsOutput, error) {
    83  	req, out := c.ConfigureLogsRequest(input)
    84  	return out, req.Send()
    85  }
    86  
    87  // ConfigureLogsWithContext is the same as ConfigureLogs with the addition of
    88  // the ability to pass a context and additional request options.
    89  //
    90  // See ConfigureLogs for details on how to use this API operation.
    91  //
    92  // The context must be non-nil and will be used for request cancellation. If
    93  // the context is nil a panic will occur. In the future the SDK may create
    94  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    95  // for more information on using Contexts.
    96  func (c *MediaPackageVod) ConfigureLogsWithContext(ctx aws.Context, input *ConfigureLogsInput, opts ...request.Option) (*ConfigureLogsOutput, error) {
    97  	req, out := c.ConfigureLogsRequest(input)
    98  	req.SetContext(ctx)
    99  	req.ApplyOptions(opts...)
   100  	return out, req.Send()
   101  }
   102  
   103  const opCreateAsset = "CreateAsset"
   104  
   105  // CreateAssetRequest generates a "aws/request.Request" representing the
   106  // client's request for the CreateAsset operation. The "output" return
   107  // value will be populated with the request's response once the request completes
   108  // successfully.
   109  //
   110  // Use "Send" method on the returned Request to send the API call to the service.
   111  // the "output" return value is not valid until after Send returns without error.
   112  //
   113  // See CreateAsset for more information on using the CreateAsset
   114  // API call, and error handling.
   115  //
   116  // This method is useful when you want to inject custom logic or configuration
   117  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   118  //
   119  //
   120  //    // Example sending a request using the CreateAssetRequest method.
   121  //    req, resp := client.CreateAssetRequest(params)
   122  //
   123  //    err := req.Send()
   124  //    if err == nil { // resp is now filled
   125  //        fmt.Println(resp)
   126  //    }
   127  //
   128  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreateAsset
   129  func (c *MediaPackageVod) CreateAssetRequest(input *CreateAssetInput) (req *request.Request, output *CreateAssetOutput) {
   130  	op := &request.Operation{
   131  		Name:       opCreateAsset,
   132  		HTTPMethod: "POST",
   133  		HTTPPath:   "/assets",
   134  	}
   135  
   136  	if input == nil {
   137  		input = &CreateAssetInput{}
   138  	}
   139  
   140  	output = &CreateAssetOutput{}
   141  	req = c.newRequest(op, input, output)
   142  	return
   143  }
   144  
   145  // CreateAsset API operation for AWS Elemental MediaPackage VOD.
   146  //
   147  // Creates a new MediaPackage VOD Asset resource.
   148  //
   149  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   150  // with awserr.Error's Code and Message methods to get detailed information about
   151  // the error.
   152  //
   153  // See the AWS API reference guide for AWS Elemental MediaPackage VOD's
   154  // API operation CreateAsset for usage and error information.
   155  //
   156  // Returned Error Types:
   157  //   * UnprocessableEntityException
   158  //
   159  //   * InternalServerErrorException
   160  //
   161  //   * ForbiddenException
   162  //
   163  //   * NotFoundException
   164  //
   165  //   * ServiceUnavailableException
   166  //
   167  //   * TooManyRequestsException
   168  //
   169  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreateAsset
   170  func (c *MediaPackageVod) CreateAsset(input *CreateAssetInput) (*CreateAssetOutput, error) {
   171  	req, out := c.CreateAssetRequest(input)
   172  	return out, req.Send()
   173  }
   174  
   175  // CreateAssetWithContext is the same as CreateAsset with the addition of
   176  // the ability to pass a context and additional request options.
   177  //
   178  // See CreateAsset for details on how to use this API operation.
   179  //
   180  // The context must be non-nil and will be used for request cancellation. If
   181  // the context is nil a panic will occur. In the future the SDK may create
   182  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   183  // for more information on using Contexts.
   184  func (c *MediaPackageVod) CreateAssetWithContext(ctx aws.Context, input *CreateAssetInput, opts ...request.Option) (*CreateAssetOutput, error) {
   185  	req, out := c.CreateAssetRequest(input)
   186  	req.SetContext(ctx)
   187  	req.ApplyOptions(opts...)
   188  	return out, req.Send()
   189  }
   190  
   191  const opCreatePackagingConfiguration = "CreatePackagingConfiguration"
   192  
   193  // CreatePackagingConfigurationRequest generates a "aws/request.Request" representing the
   194  // client's request for the CreatePackagingConfiguration operation. The "output" return
   195  // value will be populated with the request's response once the request completes
   196  // successfully.
   197  //
   198  // Use "Send" method on the returned Request to send the API call to the service.
   199  // the "output" return value is not valid until after Send returns without error.
   200  //
   201  // See CreatePackagingConfiguration for more information on using the CreatePackagingConfiguration
   202  // API call, and error handling.
   203  //
   204  // This method is useful when you want to inject custom logic or configuration
   205  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   206  //
   207  //
   208  //    // Example sending a request using the CreatePackagingConfigurationRequest method.
   209  //    req, resp := client.CreatePackagingConfigurationRequest(params)
   210  //
   211  //    err := req.Send()
   212  //    if err == nil { // resp is now filled
   213  //        fmt.Println(resp)
   214  //    }
   215  //
   216  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreatePackagingConfiguration
   217  func (c *MediaPackageVod) CreatePackagingConfigurationRequest(input *CreatePackagingConfigurationInput) (req *request.Request, output *CreatePackagingConfigurationOutput) {
   218  	op := &request.Operation{
   219  		Name:       opCreatePackagingConfiguration,
   220  		HTTPMethod: "POST",
   221  		HTTPPath:   "/packaging_configurations",
   222  	}
   223  
   224  	if input == nil {
   225  		input = &CreatePackagingConfigurationInput{}
   226  	}
   227  
   228  	output = &CreatePackagingConfigurationOutput{}
   229  	req = c.newRequest(op, input, output)
   230  	return
   231  }
   232  
   233  // CreatePackagingConfiguration API operation for AWS Elemental MediaPackage VOD.
   234  //
   235  // Creates a new MediaPackage VOD PackagingConfiguration resource.
   236  //
   237  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   238  // with awserr.Error's Code and Message methods to get detailed information about
   239  // the error.
   240  //
   241  // See the AWS API reference guide for AWS Elemental MediaPackage VOD's
   242  // API operation CreatePackagingConfiguration for usage and error information.
   243  //
   244  // Returned Error Types:
   245  //   * UnprocessableEntityException
   246  //
   247  //   * InternalServerErrorException
   248  //
   249  //   * ForbiddenException
   250  //
   251  //   * NotFoundException
   252  //
   253  //   * ServiceUnavailableException
   254  //
   255  //   * TooManyRequestsException
   256  //
   257  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreatePackagingConfiguration
   258  func (c *MediaPackageVod) CreatePackagingConfiguration(input *CreatePackagingConfigurationInput) (*CreatePackagingConfigurationOutput, error) {
   259  	req, out := c.CreatePackagingConfigurationRequest(input)
   260  	return out, req.Send()
   261  }
   262  
   263  // CreatePackagingConfigurationWithContext is the same as CreatePackagingConfiguration with the addition of
   264  // the ability to pass a context and additional request options.
   265  //
   266  // See CreatePackagingConfiguration for details on how to use this API operation.
   267  //
   268  // The context must be non-nil and will be used for request cancellation. If
   269  // the context is nil a panic will occur. In the future the SDK may create
   270  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   271  // for more information on using Contexts.
   272  func (c *MediaPackageVod) CreatePackagingConfigurationWithContext(ctx aws.Context, input *CreatePackagingConfigurationInput, opts ...request.Option) (*CreatePackagingConfigurationOutput, error) {
   273  	req, out := c.CreatePackagingConfigurationRequest(input)
   274  	req.SetContext(ctx)
   275  	req.ApplyOptions(opts...)
   276  	return out, req.Send()
   277  }
   278  
   279  const opCreatePackagingGroup = "CreatePackagingGroup"
   280  
   281  // CreatePackagingGroupRequest generates a "aws/request.Request" representing the
   282  // client's request for the CreatePackagingGroup operation. The "output" return
   283  // value will be populated with the request's response once the request completes
   284  // successfully.
   285  //
   286  // Use "Send" method on the returned Request to send the API call to the service.
   287  // the "output" return value is not valid until after Send returns without error.
   288  //
   289  // See CreatePackagingGroup for more information on using the CreatePackagingGroup
   290  // API call, and error handling.
   291  //
   292  // This method is useful when you want to inject custom logic or configuration
   293  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   294  //
   295  //
   296  //    // Example sending a request using the CreatePackagingGroupRequest method.
   297  //    req, resp := client.CreatePackagingGroupRequest(params)
   298  //
   299  //    err := req.Send()
   300  //    if err == nil { // resp is now filled
   301  //        fmt.Println(resp)
   302  //    }
   303  //
   304  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreatePackagingGroup
   305  func (c *MediaPackageVod) CreatePackagingGroupRequest(input *CreatePackagingGroupInput) (req *request.Request, output *CreatePackagingGroupOutput) {
   306  	op := &request.Operation{
   307  		Name:       opCreatePackagingGroup,
   308  		HTTPMethod: "POST",
   309  		HTTPPath:   "/packaging_groups",
   310  	}
   311  
   312  	if input == nil {
   313  		input = &CreatePackagingGroupInput{}
   314  	}
   315  
   316  	output = &CreatePackagingGroupOutput{}
   317  	req = c.newRequest(op, input, output)
   318  	return
   319  }
   320  
   321  // CreatePackagingGroup API operation for AWS Elemental MediaPackage VOD.
   322  //
   323  // Creates a new MediaPackage VOD PackagingGroup resource.
   324  //
   325  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   326  // with awserr.Error's Code and Message methods to get detailed information about
   327  // the error.
   328  //
   329  // See the AWS API reference guide for AWS Elemental MediaPackage VOD's
   330  // API operation CreatePackagingGroup for usage and error information.
   331  //
   332  // Returned Error Types:
   333  //   * UnprocessableEntityException
   334  //
   335  //   * InternalServerErrorException
   336  //
   337  //   * ForbiddenException
   338  //
   339  //   * NotFoundException
   340  //
   341  //   * ServiceUnavailableException
   342  //
   343  //   * TooManyRequestsException
   344  //
   345  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/CreatePackagingGroup
   346  func (c *MediaPackageVod) CreatePackagingGroup(input *CreatePackagingGroupInput) (*CreatePackagingGroupOutput, error) {
   347  	req, out := c.CreatePackagingGroupRequest(input)
   348  	return out, req.Send()
   349  }
   350  
   351  // CreatePackagingGroupWithContext is the same as CreatePackagingGroup with the addition of
   352  // the ability to pass a context and additional request options.
   353  //
   354  // See CreatePackagingGroup for details on how to use this API operation.
   355  //
   356  // The context must be non-nil and will be used for request cancellation. If
   357  // the context is nil a panic will occur. In the future the SDK may create
   358  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   359  // for more information on using Contexts.
   360  func (c *MediaPackageVod) CreatePackagingGroupWithContext(ctx aws.Context, input *CreatePackagingGroupInput, opts ...request.Option) (*CreatePackagingGroupOutput, error) {
   361  	req, out := c.CreatePackagingGroupRequest(input)
   362  	req.SetContext(ctx)
   363  	req.ApplyOptions(opts...)
   364  	return out, req.Send()
   365  }
   366  
   367  const opDeleteAsset = "DeleteAsset"
   368  
   369  // DeleteAssetRequest generates a "aws/request.Request" representing the
   370  // client's request for the DeleteAsset operation. The "output" return
   371  // value will be populated with the request's response once the request completes
   372  // successfully.
   373  //
   374  // Use "Send" method on the returned Request to send the API call to the service.
   375  // the "output" return value is not valid until after Send returns without error.
   376  //
   377  // See DeleteAsset for more information on using the DeleteAsset
   378  // API call, and error handling.
   379  //
   380  // This method is useful when you want to inject custom logic or configuration
   381  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   382  //
   383  //
   384  //    // Example sending a request using the DeleteAssetRequest method.
   385  //    req, resp := client.DeleteAssetRequest(params)
   386  //
   387  //    err := req.Send()
   388  //    if err == nil { // resp is now filled
   389  //        fmt.Println(resp)
   390  //    }
   391  //
   392  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeleteAsset
   393  func (c *MediaPackageVod) DeleteAssetRequest(input *DeleteAssetInput) (req *request.Request, output *DeleteAssetOutput) {
   394  	op := &request.Operation{
   395  		Name:       opDeleteAsset,
   396  		HTTPMethod: "DELETE",
   397  		HTTPPath:   "/assets/{id}",
   398  	}
   399  
   400  	if input == nil {
   401  		input = &DeleteAssetInput{}
   402  	}
   403  
   404  	output = &DeleteAssetOutput{}
   405  	req = c.newRequest(op, input, output)
   406  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   407  	return
   408  }
   409  
   410  // DeleteAsset API operation for AWS Elemental MediaPackage VOD.
   411  //
   412  // Deletes an existing MediaPackage VOD Asset resource.
   413  //
   414  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   415  // with awserr.Error's Code and Message methods to get detailed information about
   416  // the error.
   417  //
   418  // See the AWS API reference guide for AWS Elemental MediaPackage VOD's
   419  // API operation DeleteAsset for usage and error information.
   420  //
   421  // Returned Error Types:
   422  //   * UnprocessableEntityException
   423  //
   424  //   * InternalServerErrorException
   425  //
   426  //   * ForbiddenException
   427  //
   428  //   * NotFoundException
   429  //
   430  //   * ServiceUnavailableException
   431  //
   432  //   * TooManyRequestsException
   433  //
   434  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeleteAsset
   435  func (c *MediaPackageVod) DeleteAsset(input *DeleteAssetInput) (*DeleteAssetOutput, error) {
   436  	req, out := c.DeleteAssetRequest(input)
   437  	return out, req.Send()
   438  }
   439  
   440  // DeleteAssetWithContext is the same as DeleteAsset with the addition of
   441  // the ability to pass a context and additional request options.
   442  //
   443  // See DeleteAsset for details on how to use this API operation.
   444  //
   445  // The context must be non-nil and will be used for request cancellation. If
   446  // the context is nil a panic will occur. In the future the SDK may create
   447  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   448  // for more information on using Contexts.
   449  func (c *MediaPackageVod) DeleteAssetWithContext(ctx aws.Context, input *DeleteAssetInput, opts ...request.Option) (*DeleteAssetOutput, error) {
   450  	req, out := c.DeleteAssetRequest(input)
   451  	req.SetContext(ctx)
   452  	req.ApplyOptions(opts...)
   453  	return out, req.Send()
   454  }
   455  
   456  const opDeletePackagingConfiguration = "DeletePackagingConfiguration"
   457  
   458  // DeletePackagingConfigurationRequest generates a "aws/request.Request" representing the
   459  // client's request for the DeletePackagingConfiguration operation. The "output" return
   460  // value will be populated with the request's response once the request completes
   461  // successfully.
   462  //
   463  // Use "Send" method on the returned Request to send the API call to the service.
   464  // the "output" return value is not valid until after Send returns without error.
   465  //
   466  // See DeletePackagingConfiguration for more information on using the DeletePackagingConfiguration
   467  // API call, and error handling.
   468  //
   469  // This method is useful when you want to inject custom logic or configuration
   470  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   471  //
   472  //
   473  //    // Example sending a request using the DeletePackagingConfigurationRequest method.
   474  //    req, resp := client.DeletePackagingConfigurationRequest(params)
   475  //
   476  //    err := req.Send()
   477  //    if err == nil { // resp is now filled
   478  //        fmt.Println(resp)
   479  //    }
   480  //
   481  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeletePackagingConfiguration
   482  func (c *MediaPackageVod) DeletePackagingConfigurationRequest(input *DeletePackagingConfigurationInput) (req *request.Request, output *DeletePackagingConfigurationOutput) {
   483  	op := &request.Operation{
   484  		Name:       opDeletePackagingConfiguration,
   485  		HTTPMethod: "DELETE",
   486  		HTTPPath:   "/packaging_configurations/{id}",
   487  	}
   488  
   489  	if input == nil {
   490  		input = &DeletePackagingConfigurationInput{}
   491  	}
   492  
   493  	output = &DeletePackagingConfigurationOutput{}
   494  	req = c.newRequest(op, input, output)
   495  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   496  	return
   497  }
   498  
   499  // DeletePackagingConfiguration API operation for AWS Elemental MediaPackage VOD.
   500  //
   501  // Deletes a MediaPackage VOD PackagingConfiguration resource.
   502  //
   503  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   504  // with awserr.Error's Code and Message methods to get detailed information about
   505  // the error.
   506  //
   507  // See the AWS API reference guide for AWS Elemental MediaPackage VOD's
   508  // API operation DeletePackagingConfiguration for usage and error information.
   509  //
   510  // Returned Error Types:
   511  //   * UnprocessableEntityException
   512  //
   513  //   * InternalServerErrorException
   514  //
   515  //   * ForbiddenException
   516  //
   517  //   * NotFoundException
   518  //
   519  //   * ServiceUnavailableException
   520  //
   521  //   * TooManyRequestsException
   522  //
   523  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeletePackagingConfiguration
   524  func (c *MediaPackageVod) DeletePackagingConfiguration(input *DeletePackagingConfigurationInput) (*DeletePackagingConfigurationOutput, error) {
   525  	req, out := c.DeletePackagingConfigurationRequest(input)
   526  	return out, req.Send()
   527  }
   528  
   529  // DeletePackagingConfigurationWithContext is the same as DeletePackagingConfiguration with the addition of
   530  // the ability to pass a context and additional request options.
   531  //
   532  // See DeletePackagingConfiguration for details on how to use this API operation.
   533  //
   534  // The context must be non-nil and will be used for request cancellation. If
   535  // the context is nil a panic will occur. In the future the SDK may create
   536  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   537  // for more information on using Contexts.
   538  func (c *MediaPackageVod) DeletePackagingConfigurationWithContext(ctx aws.Context, input *DeletePackagingConfigurationInput, opts ...request.Option) (*DeletePackagingConfigurationOutput, error) {
   539  	req, out := c.DeletePackagingConfigurationRequest(input)
   540  	req.SetContext(ctx)
   541  	req.ApplyOptions(opts...)
   542  	return out, req.Send()
   543  }
   544  
   545  const opDeletePackagingGroup = "DeletePackagingGroup"
   546  
   547  // DeletePackagingGroupRequest generates a "aws/request.Request" representing the
   548  // client's request for the DeletePackagingGroup operation. The "output" return
   549  // value will be populated with the request's response once the request completes
   550  // successfully.
   551  //
   552  // Use "Send" method on the returned Request to send the API call to the service.
   553  // the "output" return value is not valid until after Send returns without error.
   554  //
   555  // See DeletePackagingGroup for more information on using the DeletePackagingGroup
   556  // API call, and error handling.
   557  //
   558  // This method is useful when you want to inject custom logic or configuration
   559  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   560  //
   561  //
   562  //    // Example sending a request using the DeletePackagingGroupRequest method.
   563  //    req, resp := client.DeletePackagingGroupRequest(params)
   564  //
   565  //    err := req.Send()
   566  //    if err == nil { // resp is now filled
   567  //        fmt.Println(resp)
   568  //    }
   569  //
   570  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeletePackagingGroup
   571  func (c *MediaPackageVod) DeletePackagingGroupRequest(input *DeletePackagingGroupInput) (req *request.Request, output *DeletePackagingGroupOutput) {
   572  	op := &request.Operation{
   573  		Name:       opDeletePackagingGroup,
   574  		HTTPMethod: "DELETE",
   575  		HTTPPath:   "/packaging_groups/{id}",
   576  	}
   577  
   578  	if input == nil {
   579  		input = &DeletePackagingGroupInput{}
   580  	}
   581  
   582  	output = &DeletePackagingGroupOutput{}
   583  	req = c.newRequest(op, input, output)
   584  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   585  	return
   586  }
   587  
   588  // DeletePackagingGroup API operation for AWS Elemental MediaPackage VOD.
   589  //
   590  // Deletes a MediaPackage VOD PackagingGroup resource.
   591  //
   592  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   593  // with awserr.Error's Code and Message methods to get detailed information about
   594  // the error.
   595  //
   596  // See the AWS API reference guide for AWS Elemental MediaPackage VOD's
   597  // API operation DeletePackagingGroup for usage and error information.
   598  //
   599  // Returned Error Types:
   600  //   * UnprocessableEntityException
   601  //
   602  //   * InternalServerErrorException
   603  //
   604  //   * ForbiddenException
   605  //
   606  //   * NotFoundException
   607  //
   608  //   * ServiceUnavailableException
   609  //
   610  //   * TooManyRequestsException
   611  //
   612  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DeletePackagingGroup
   613  func (c *MediaPackageVod) DeletePackagingGroup(input *DeletePackagingGroupInput) (*DeletePackagingGroupOutput, error) {
   614  	req, out := c.DeletePackagingGroupRequest(input)
   615  	return out, req.Send()
   616  }
   617  
   618  // DeletePackagingGroupWithContext is the same as DeletePackagingGroup with the addition of
   619  // the ability to pass a context and additional request options.
   620  //
   621  // See DeletePackagingGroup for details on how to use this API operation.
   622  //
   623  // The context must be non-nil and will be used for request cancellation. If
   624  // the context is nil a panic will occur. In the future the SDK may create
   625  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   626  // for more information on using Contexts.
   627  func (c *MediaPackageVod) DeletePackagingGroupWithContext(ctx aws.Context, input *DeletePackagingGroupInput, opts ...request.Option) (*DeletePackagingGroupOutput, error) {
   628  	req, out := c.DeletePackagingGroupRequest(input)
   629  	req.SetContext(ctx)
   630  	req.ApplyOptions(opts...)
   631  	return out, req.Send()
   632  }
   633  
   634  const opDescribeAsset = "DescribeAsset"
   635  
   636  // DescribeAssetRequest generates a "aws/request.Request" representing the
   637  // client's request for the DescribeAsset operation. The "output" return
   638  // value will be populated with the request's response once the request completes
   639  // successfully.
   640  //
   641  // Use "Send" method on the returned Request to send the API call to the service.
   642  // the "output" return value is not valid until after Send returns without error.
   643  //
   644  // See DescribeAsset for more information on using the DescribeAsset
   645  // API call, and error handling.
   646  //
   647  // This method is useful when you want to inject custom logic or configuration
   648  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   649  //
   650  //
   651  //    // Example sending a request using the DescribeAssetRequest method.
   652  //    req, resp := client.DescribeAssetRequest(params)
   653  //
   654  //    err := req.Send()
   655  //    if err == nil { // resp is now filled
   656  //        fmt.Println(resp)
   657  //    }
   658  //
   659  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribeAsset
   660  func (c *MediaPackageVod) DescribeAssetRequest(input *DescribeAssetInput) (req *request.Request, output *DescribeAssetOutput) {
   661  	op := &request.Operation{
   662  		Name:       opDescribeAsset,
   663  		HTTPMethod: "GET",
   664  		HTTPPath:   "/assets/{id}",
   665  	}
   666  
   667  	if input == nil {
   668  		input = &DescribeAssetInput{}
   669  	}
   670  
   671  	output = &DescribeAssetOutput{}
   672  	req = c.newRequest(op, input, output)
   673  	return
   674  }
   675  
   676  // DescribeAsset API operation for AWS Elemental MediaPackage VOD.
   677  //
   678  // Returns a description of a MediaPackage VOD Asset resource.
   679  //
   680  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   681  // with awserr.Error's Code and Message methods to get detailed information about
   682  // the error.
   683  //
   684  // See the AWS API reference guide for AWS Elemental MediaPackage VOD's
   685  // API operation DescribeAsset for usage and error information.
   686  //
   687  // Returned Error Types:
   688  //   * UnprocessableEntityException
   689  //
   690  //   * InternalServerErrorException
   691  //
   692  //   * ForbiddenException
   693  //
   694  //   * NotFoundException
   695  //
   696  //   * ServiceUnavailableException
   697  //
   698  //   * TooManyRequestsException
   699  //
   700  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribeAsset
   701  func (c *MediaPackageVod) DescribeAsset(input *DescribeAssetInput) (*DescribeAssetOutput, error) {
   702  	req, out := c.DescribeAssetRequest(input)
   703  	return out, req.Send()
   704  }
   705  
   706  // DescribeAssetWithContext is the same as DescribeAsset with the addition of
   707  // the ability to pass a context and additional request options.
   708  //
   709  // See DescribeAsset for details on how to use this API operation.
   710  //
   711  // The context must be non-nil and will be used for request cancellation. If
   712  // the context is nil a panic will occur. In the future the SDK may create
   713  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   714  // for more information on using Contexts.
   715  func (c *MediaPackageVod) DescribeAssetWithContext(ctx aws.Context, input *DescribeAssetInput, opts ...request.Option) (*DescribeAssetOutput, error) {
   716  	req, out := c.DescribeAssetRequest(input)
   717  	req.SetContext(ctx)
   718  	req.ApplyOptions(opts...)
   719  	return out, req.Send()
   720  }
   721  
   722  const opDescribePackagingConfiguration = "DescribePackagingConfiguration"
   723  
   724  // DescribePackagingConfigurationRequest generates a "aws/request.Request" representing the
   725  // client's request for the DescribePackagingConfiguration operation. The "output" return
   726  // value will be populated with the request's response once the request completes
   727  // successfully.
   728  //
   729  // Use "Send" method on the returned Request to send the API call to the service.
   730  // the "output" return value is not valid until after Send returns without error.
   731  //
   732  // See DescribePackagingConfiguration for more information on using the DescribePackagingConfiguration
   733  // API call, and error handling.
   734  //
   735  // This method is useful when you want to inject custom logic or configuration
   736  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   737  //
   738  //
   739  //    // Example sending a request using the DescribePackagingConfigurationRequest method.
   740  //    req, resp := client.DescribePackagingConfigurationRequest(params)
   741  //
   742  //    err := req.Send()
   743  //    if err == nil { // resp is now filled
   744  //        fmt.Println(resp)
   745  //    }
   746  //
   747  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribePackagingConfiguration
   748  func (c *MediaPackageVod) DescribePackagingConfigurationRequest(input *DescribePackagingConfigurationInput) (req *request.Request, output *DescribePackagingConfigurationOutput) {
   749  	op := &request.Operation{
   750  		Name:       opDescribePackagingConfiguration,
   751  		HTTPMethod: "GET",
   752  		HTTPPath:   "/packaging_configurations/{id}",
   753  	}
   754  
   755  	if input == nil {
   756  		input = &DescribePackagingConfigurationInput{}
   757  	}
   758  
   759  	output = &DescribePackagingConfigurationOutput{}
   760  	req = c.newRequest(op, input, output)
   761  	return
   762  }
   763  
   764  // DescribePackagingConfiguration API operation for AWS Elemental MediaPackage VOD.
   765  //
   766  // Returns a description of a MediaPackage VOD PackagingConfiguration resource.
   767  //
   768  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   769  // with awserr.Error's Code and Message methods to get detailed information about
   770  // the error.
   771  //
   772  // See the AWS API reference guide for AWS Elemental MediaPackage VOD's
   773  // API operation DescribePackagingConfiguration for usage and error information.
   774  //
   775  // Returned Error Types:
   776  //   * UnprocessableEntityException
   777  //
   778  //   * InternalServerErrorException
   779  //
   780  //   * ForbiddenException
   781  //
   782  //   * NotFoundException
   783  //
   784  //   * ServiceUnavailableException
   785  //
   786  //   * TooManyRequestsException
   787  //
   788  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribePackagingConfiguration
   789  func (c *MediaPackageVod) DescribePackagingConfiguration(input *DescribePackagingConfigurationInput) (*DescribePackagingConfigurationOutput, error) {
   790  	req, out := c.DescribePackagingConfigurationRequest(input)
   791  	return out, req.Send()
   792  }
   793  
   794  // DescribePackagingConfigurationWithContext is the same as DescribePackagingConfiguration with the addition of
   795  // the ability to pass a context and additional request options.
   796  //
   797  // See DescribePackagingConfiguration for details on how to use this API operation.
   798  //
   799  // The context must be non-nil and will be used for request cancellation. If
   800  // the context is nil a panic will occur. In the future the SDK may create
   801  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   802  // for more information on using Contexts.
   803  func (c *MediaPackageVod) DescribePackagingConfigurationWithContext(ctx aws.Context, input *DescribePackagingConfigurationInput, opts ...request.Option) (*DescribePackagingConfigurationOutput, error) {
   804  	req, out := c.DescribePackagingConfigurationRequest(input)
   805  	req.SetContext(ctx)
   806  	req.ApplyOptions(opts...)
   807  	return out, req.Send()
   808  }
   809  
   810  const opDescribePackagingGroup = "DescribePackagingGroup"
   811  
   812  // DescribePackagingGroupRequest generates a "aws/request.Request" representing the
   813  // client's request for the DescribePackagingGroup operation. The "output" return
   814  // value will be populated with the request's response once the request completes
   815  // successfully.
   816  //
   817  // Use "Send" method on the returned Request to send the API call to the service.
   818  // the "output" return value is not valid until after Send returns without error.
   819  //
   820  // See DescribePackagingGroup for more information on using the DescribePackagingGroup
   821  // API call, and error handling.
   822  //
   823  // This method is useful when you want to inject custom logic or configuration
   824  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   825  //
   826  //
   827  //    // Example sending a request using the DescribePackagingGroupRequest method.
   828  //    req, resp := client.DescribePackagingGroupRequest(params)
   829  //
   830  //    err := req.Send()
   831  //    if err == nil { // resp is now filled
   832  //        fmt.Println(resp)
   833  //    }
   834  //
   835  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribePackagingGroup
   836  func (c *MediaPackageVod) DescribePackagingGroupRequest(input *DescribePackagingGroupInput) (req *request.Request, output *DescribePackagingGroupOutput) {
   837  	op := &request.Operation{
   838  		Name:       opDescribePackagingGroup,
   839  		HTTPMethod: "GET",
   840  		HTTPPath:   "/packaging_groups/{id}",
   841  	}
   842  
   843  	if input == nil {
   844  		input = &DescribePackagingGroupInput{}
   845  	}
   846  
   847  	output = &DescribePackagingGroupOutput{}
   848  	req = c.newRequest(op, input, output)
   849  	return
   850  }
   851  
   852  // DescribePackagingGroup API operation for AWS Elemental MediaPackage VOD.
   853  //
   854  // Returns a description of a MediaPackage VOD PackagingGroup resource.
   855  //
   856  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   857  // with awserr.Error's Code and Message methods to get detailed information about
   858  // the error.
   859  //
   860  // See the AWS API reference guide for AWS Elemental MediaPackage VOD's
   861  // API operation DescribePackagingGroup for usage and error information.
   862  //
   863  // Returned Error Types:
   864  //   * UnprocessableEntityException
   865  //
   866  //   * InternalServerErrorException
   867  //
   868  //   * ForbiddenException
   869  //
   870  //   * NotFoundException
   871  //
   872  //   * ServiceUnavailableException
   873  //
   874  //   * TooManyRequestsException
   875  //
   876  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/DescribePackagingGroup
   877  func (c *MediaPackageVod) DescribePackagingGroup(input *DescribePackagingGroupInput) (*DescribePackagingGroupOutput, error) {
   878  	req, out := c.DescribePackagingGroupRequest(input)
   879  	return out, req.Send()
   880  }
   881  
   882  // DescribePackagingGroupWithContext is the same as DescribePackagingGroup with the addition of
   883  // the ability to pass a context and additional request options.
   884  //
   885  // See DescribePackagingGroup for details on how to use this API operation.
   886  //
   887  // The context must be non-nil and will be used for request cancellation. If
   888  // the context is nil a panic will occur. In the future the SDK may create
   889  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   890  // for more information on using Contexts.
   891  func (c *MediaPackageVod) DescribePackagingGroupWithContext(ctx aws.Context, input *DescribePackagingGroupInput, opts ...request.Option) (*DescribePackagingGroupOutput, error) {
   892  	req, out := c.DescribePackagingGroupRequest(input)
   893  	req.SetContext(ctx)
   894  	req.ApplyOptions(opts...)
   895  	return out, req.Send()
   896  }
   897  
   898  const opListAssets = "ListAssets"
   899  
   900  // ListAssetsRequest generates a "aws/request.Request" representing the
   901  // client's request for the ListAssets operation. The "output" return
   902  // value will be populated with the request's response once the request completes
   903  // successfully.
   904  //
   905  // Use "Send" method on the returned Request to send the API call to the service.
   906  // the "output" return value is not valid until after Send returns without error.
   907  //
   908  // See ListAssets for more information on using the ListAssets
   909  // API call, and error handling.
   910  //
   911  // This method is useful when you want to inject custom logic or configuration
   912  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   913  //
   914  //
   915  //    // Example sending a request using the ListAssetsRequest method.
   916  //    req, resp := client.ListAssetsRequest(params)
   917  //
   918  //    err := req.Send()
   919  //    if err == nil { // resp is now filled
   920  //        fmt.Println(resp)
   921  //    }
   922  //
   923  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListAssets
   924  func (c *MediaPackageVod) ListAssetsRequest(input *ListAssetsInput) (req *request.Request, output *ListAssetsOutput) {
   925  	op := &request.Operation{
   926  		Name:       opListAssets,
   927  		HTTPMethod: "GET",
   928  		HTTPPath:   "/assets",
   929  		Paginator: &request.Paginator{
   930  			InputTokens:     []string{"NextToken"},
   931  			OutputTokens:    []string{"NextToken"},
   932  			LimitToken:      "MaxResults",
   933  			TruncationToken: "",
   934  		},
   935  	}
   936  
   937  	if input == nil {
   938  		input = &ListAssetsInput{}
   939  	}
   940  
   941  	output = &ListAssetsOutput{}
   942  	req = c.newRequest(op, input, output)
   943  	return
   944  }
   945  
   946  // ListAssets API operation for AWS Elemental MediaPackage VOD.
   947  //
   948  // Returns a collection of MediaPackage VOD Asset resources.
   949  //
   950  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   951  // with awserr.Error's Code and Message methods to get detailed information about
   952  // the error.
   953  //
   954  // See the AWS API reference guide for AWS Elemental MediaPackage VOD's
   955  // API operation ListAssets for usage and error information.
   956  //
   957  // Returned Error Types:
   958  //   * UnprocessableEntityException
   959  //
   960  //   * InternalServerErrorException
   961  //
   962  //   * ForbiddenException
   963  //
   964  //   * NotFoundException
   965  //
   966  //   * ServiceUnavailableException
   967  //
   968  //   * TooManyRequestsException
   969  //
   970  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListAssets
   971  func (c *MediaPackageVod) ListAssets(input *ListAssetsInput) (*ListAssetsOutput, error) {
   972  	req, out := c.ListAssetsRequest(input)
   973  	return out, req.Send()
   974  }
   975  
   976  // ListAssetsWithContext is the same as ListAssets with the addition of
   977  // the ability to pass a context and additional request options.
   978  //
   979  // See ListAssets for details on how to use this API operation.
   980  //
   981  // The context must be non-nil and will be used for request cancellation. If
   982  // the context is nil a panic will occur. In the future the SDK may create
   983  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   984  // for more information on using Contexts.
   985  func (c *MediaPackageVod) ListAssetsWithContext(ctx aws.Context, input *ListAssetsInput, opts ...request.Option) (*ListAssetsOutput, error) {
   986  	req, out := c.ListAssetsRequest(input)
   987  	req.SetContext(ctx)
   988  	req.ApplyOptions(opts...)
   989  	return out, req.Send()
   990  }
   991  
   992  // ListAssetsPages iterates over the pages of a ListAssets operation,
   993  // calling the "fn" function with the response data for each page. To stop
   994  // iterating, return false from the fn function.
   995  //
   996  // See ListAssets method for more information on how to use this operation.
   997  //
   998  // Note: This operation can generate multiple requests to a service.
   999  //
  1000  //    // Example iterating over at most 3 pages of a ListAssets operation.
  1001  //    pageNum := 0
  1002  //    err := client.ListAssetsPages(params,
  1003  //        func(page *mediapackagevod.ListAssetsOutput, lastPage bool) bool {
  1004  //            pageNum++
  1005  //            fmt.Println(page)
  1006  //            return pageNum <= 3
  1007  //        })
  1008  //
  1009  func (c *MediaPackageVod) ListAssetsPages(input *ListAssetsInput, fn func(*ListAssetsOutput, bool) bool) error {
  1010  	return c.ListAssetsPagesWithContext(aws.BackgroundContext(), input, fn)
  1011  }
  1012  
  1013  // ListAssetsPagesWithContext same as ListAssetsPages except
  1014  // it takes a Context and allows setting request options on the pages.
  1015  //
  1016  // The context must be non-nil and will be used for request cancellation. If
  1017  // the context is nil a panic will occur. In the future the SDK may create
  1018  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1019  // for more information on using Contexts.
  1020  func (c *MediaPackageVod) ListAssetsPagesWithContext(ctx aws.Context, input *ListAssetsInput, fn func(*ListAssetsOutput, bool) bool, opts ...request.Option) error {
  1021  	p := request.Pagination{
  1022  		NewRequest: func() (*request.Request, error) {
  1023  			var inCpy *ListAssetsInput
  1024  			if input != nil {
  1025  				tmp := *input
  1026  				inCpy = &tmp
  1027  			}
  1028  			req, _ := c.ListAssetsRequest(inCpy)
  1029  			req.SetContext(ctx)
  1030  			req.ApplyOptions(opts...)
  1031  			return req, nil
  1032  		},
  1033  	}
  1034  
  1035  	for p.Next() {
  1036  		if !fn(p.Page().(*ListAssetsOutput), !p.HasNextPage()) {
  1037  			break
  1038  		}
  1039  	}
  1040  
  1041  	return p.Err()
  1042  }
  1043  
  1044  const opListPackagingConfigurations = "ListPackagingConfigurations"
  1045  
  1046  // ListPackagingConfigurationsRequest generates a "aws/request.Request" representing the
  1047  // client's request for the ListPackagingConfigurations operation. The "output" return
  1048  // value will be populated with the request's response once the request completes
  1049  // successfully.
  1050  //
  1051  // Use "Send" method on the returned Request to send the API call to the service.
  1052  // the "output" return value is not valid until after Send returns without error.
  1053  //
  1054  // See ListPackagingConfigurations for more information on using the ListPackagingConfigurations
  1055  // API call, and error handling.
  1056  //
  1057  // This method is useful when you want to inject custom logic or configuration
  1058  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1059  //
  1060  //
  1061  //    // Example sending a request using the ListPackagingConfigurationsRequest method.
  1062  //    req, resp := client.ListPackagingConfigurationsRequest(params)
  1063  //
  1064  //    err := req.Send()
  1065  //    if err == nil { // resp is now filled
  1066  //        fmt.Println(resp)
  1067  //    }
  1068  //
  1069  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListPackagingConfigurations
  1070  func (c *MediaPackageVod) ListPackagingConfigurationsRequest(input *ListPackagingConfigurationsInput) (req *request.Request, output *ListPackagingConfigurationsOutput) {
  1071  	op := &request.Operation{
  1072  		Name:       opListPackagingConfigurations,
  1073  		HTTPMethod: "GET",
  1074  		HTTPPath:   "/packaging_configurations",
  1075  		Paginator: &request.Paginator{
  1076  			InputTokens:     []string{"NextToken"},
  1077  			OutputTokens:    []string{"NextToken"},
  1078  			LimitToken:      "MaxResults",
  1079  			TruncationToken: "",
  1080  		},
  1081  	}
  1082  
  1083  	if input == nil {
  1084  		input = &ListPackagingConfigurationsInput{}
  1085  	}
  1086  
  1087  	output = &ListPackagingConfigurationsOutput{}
  1088  	req = c.newRequest(op, input, output)
  1089  	return
  1090  }
  1091  
  1092  // ListPackagingConfigurations API operation for AWS Elemental MediaPackage VOD.
  1093  //
  1094  // Returns a collection of MediaPackage VOD PackagingConfiguration resources.
  1095  //
  1096  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1097  // with awserr.Error's Code and Message methods to get detailed information about
  1098  // the error.
  1099  //
  1100  // See the AWS API reference guide for AWS Elemental MediaPackage VOD's
  1101  // API operation ListPackagingConfigurations for usage and error information.
  1102  //
  1103  // Returned Error Types:
  1104  //   * UnprocessableEntityException
  1105  //
  1106  //   * InternalServerErrorException
  1107  //
  1108  //   * ForbiddenException
  1109  //
  1110  //   * NotFoundException
  1111  //
  1112  //   * ServiceUnavailableException
  1113  //
  1114  //   * TooManyRequestsException
  1115  //
  1116  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListPackagingConfigurations
  1117  func (c *MediaPackageVod) ListPackagingConfigurations(input *ListPackagingConfigurationsInput) (*ListPackagingConfigurationsOutput, error) {
  1118  	req, out := c.ListPackagingConfigurationsRequest(input)
  1119  	return out, req.Send()
  1120  }
  1121  
  1122  // ListPackagingConfigurationsWithContext is the same as ListPackagingConfigurations with the addition of
  1123  // the ability to pass a context and additional request options.
  1124  //
  1125  // See ListPackagingConfigurations for details on how to use this API operation.
  1126  //
  1127  // The context must be non-nil and will be used for request cancellation. If
  1128  // the context is nil a panic will occur. In the future the SDK may create
  1129  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1130  // for more information on using Contexts.
  1131  func (c *MediaPackageVod) ListPackagingConfigurationsWithContext(ctx aws.Context, input *ListPackagingConfigurationsInput, opts ...request.Option) (*ListPackagingConfigurationsOutput, error) {
  1132  	req, out := c.ListPackagingConfigurationsRequest(input)
  1133  	req.SetContext(ctx)
  1134  	req.ApplyOptions(opts...)
  1135  	return out, req.Send()
  1136  }
  1137  
  1138  // ListPackagingConfigurationsPages iterates over the pages of a ListPackagingConfigurations operation,
  1139  // calling the "fn" function with the response data for each page. To stop
  1140  // iterating, return false from the fn function.
  1141  //
  1142  // See ListPackagingConfigurations method for more information on how to use this operation.
  1143  //
  1144  // Note: This operation can generate multiple requests to a service.
  1145  //
  1146  //    // Example iterating over at most 3 pages of a ListPackagingConfigurations operation.
  1147  //    pageNum := 0
  1148  //    err := client.ListPackagingConfigurationsPages(params,
  1149  //        func(page *mediapackagevod.ListPackagingConfigurationsOutput, lastPage bool) bool {
  1150  //            pageNum++
  1151  //            fmt.Println(page)
  1152  //            return pageNum <= 3
  1153  //        })
  1154  //
  1155  func (c *MediaPackageVod) ListPackagingConfigurationsPages(input *ListPackagingConfigurationsInput, fn func(*ListPackagingConfigurationsOutput, bool) bool) error {
  1156  	return c.ListPackagingConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn)
  1157  }
  1158  
  1159  // ListPackagingConfigurationsPagesWithContext same as ListPackagingConfigurationsPages except
  1160  // it takes a Context and allows setting request options on the pages.
  1161  //
  1162  // The context must be non-nil and will be used for request cancellation. If
  1163  // the context is nil a panic will occur. In the future the SDK may create
  1164  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1165  // for more information on using Contexts.
  1166  func (c *MediaPackageVod) ListPackagingConfigurationsPagesWithContext(ctx aws.Context, input *ListPackagingConfigurationsInput, fn func(*ListPackagingConfigurationsOutput, bool) bool, opts ...request.Option) error {
  1167  	p := request.Pagination{
  1168  		NewRequest: func() (*request.Request, error) {
  1169  			var inCpy *ListPackagingConfigurationsInput
  1170  			if input != nil {
  1171  				tmp := *input
  1172  				inCpy = &tmp
  1173  			}
  1174  			req, _ := c.ListPackagingConfigurationsRequest(inCpy)
  1175  			req.SetContext(ctx)
  1176  			req.ApplyOptions(opts...)
  1177  			return req, nil
  1178  		},
  1179  	}
  1180  
  1181  	for p.Next() {
  1182  		if !fn(p.Page().(*ListPackagingConfigurationsOutput), !p.HasNextPage()) {
  1183  			break
  1184  		}
  1185  	}
  1186  
  1187  	return p.Err()
  1188  }
  1189  
  1190  const opListPackagingGroups = "ListPackagingGroups"
  1191  
  1192  // ListPackagingGroupsRequest generates a "aws/request.Request" representing the
  1193  // client's request for the ListPackagingGroups operation. The "output" return
  1194  // value will be populated with the request's response once the request completes
  1195  // successfully.
  1196  //
  1197  // Use "Send" method on the returned Request to send the API call to the service.
  1198  // the "output" return value is not valid until after Send returns without error.
  1199  //
  1200  // See ListPackagingGroups for more information on using the ListPackagingGroups
  1201  // API call, and error handling.
  1202  //
  1203  // This method is useful when you want to inject custom logic or configuration
  1204  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1205  //
  1206  //
  1207  //    // Example sending a request using the ListPackagingGroupsRequest method.
  1208  //    req, resp := client.ListPackagingGroupsRequest(params)
  1209  //
  1210  //    err := req.Send()
  1211  //    if err == nil { // resp is now filled
  1212  //        fmt.Println(resp)
  1213  //    }
  1214  //
  1215  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListPackagingGroups
  1216  func (c *MediaPackageVod) ListPackagingGroupsRequest(input *ListPackagingGroupsInput) (req *request.Request, output *ListPackagingGroupsOutput) {
  1217  	op := &request.Operation{
  1218  		Name:       opListPackagingGroups,
  1219  		HTTPMethod: "GET",
  1220  		HTTPPath:   "/packaging_groups",
  1221  		Paginator: &request.Paginator{
  1222  			InputTokens:     []string{"NextToken"},
  1223  			OutputTokens:    []string{"NextToken"},
  1224  			LimitToken:      "MaxResults",
  1225  			TruncationToken: "",
  1226  		},
  1227  	}
  1228  
  1229  	if input == nil {
  1230  		input = &ListPackagingGroupsInput{}
  1231  	}
  1232  
  1233  	output = &ListPackagingGroupsOutput{}
  1234  	req = c.newRequest(op, input, output)
  1235  	return
  1236  }
  1237  
  1238  // ListPackagingGroups API operation for AWS Elemental MediaPackage VOD.
  1239  //
  1240  // Returns a collection of MediaPackage VOD PackagingGroup resources.
  1241  //
  1242  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1243  // with awserr.Error's Code and Message methods to get detailed information about
  1244  // the error.
  1245  //
  1246  // See the AWS API reference guide for AWS Elemental MediaPackage VOD's
  1247  // API operation ListPackagingGroups for usage and error information.
  1248  //
  1249  // Returned Error Types:
  1250  //   * UnprocessableEntityException
  1251  //
  1252  //   * InternalServerErrorException
  1253  //
  1254  //   * ForbiddenException
  1255  //
  1256  //   * NotFoundException
  1257  //
  1258  //   * ServiceUnavailableException
  1259  //
  1260  //   * TooManyRequestsException
  1261  //
  1262  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListPackagingGroups
  1263  func (c *MediaPackageVod) ListPackagingGroups(input *ListPackagingGroupsInput) (*ListPackagingGroupsOutput, error) {
  1264  	req, out := c.ListPackagingGroupsRequest(input)
  1265  	return out, req.Send()
  1266  }
  1267  
  1268  // ListPackagingGroupsWithContext is the same as ListPackagingGroups with the addition of
  1269  // the ability to pass a context and additional request options.
  1270  //
  1271  // See ListPackagingGroups for details on how to use this API operation.
  1272  //
  1273  // The context must be non-nil and will be used for request cancellation. If
  1274  // the context is nil a panic will occur. In the future the SDK may create
  1275  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1276  // for more information on using Contexts.
  1277  func (c *MediaPackageVod) ListPackagingGroupsWithContext(ctx aws.Context, input *ListPackagingGroupsInput, opts ...request.Option) (*ListPackagingGroupsOutput, error) {
  1278  	req, out := c.ListPackagingGroupsRequest(input)
  1279  	req.SetContext(ctx)
  1280  	req.ApplyOptions(opts...)
  1281  	return out, req.Send()
  1282  }
  1283  
  1284  // ListPackagingGroupsPages iterates over the pages of a ListPackagingGroups operation,
  1285  // calling the "fn" function with the response data for each page. To stop
  1286  // iterating, return false from the fn function.
  1287  //
  1288  // See ListPackagingGroups method for more information on how to use this operation.
  1289  //
  1290  // Note: This operation can generate multiple requests to a service.
  1291  //
  1292  //    // Example iterating over at most 3 pages of a ListPackagingGroups operation.
  1293  //    pageNum := 0
  1294  //    err := client.ListPackagingGroupsPages(params,
  1295  //        func(page *mediapackagevod.ListPackagingGroupsOutput, lastPage bool) bool {
  1296  //            pageNum++
  1297  //            fmt.Println(page)
  1298  //            return pageNum <= 3
  1299  //        })
  1300  //
  1301  func (c *MediaPackageVod) ListPackagingGroupsPages(input *ListPackagingGroupsInput, fn func(*ListPackagingGroupsOutput, bool) bool) error {
  1302  	return c.ListPackagingGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  1303  }
  1304  
  1305  // ListPackagingGroupsPagesWithContext same as ListPackagingGroupsPages except
  1306  // it takes a Context and allows setting request options on the pages.
  1307  //
  1308  // The context must be non-nil and will be used for request cancellation. If
  1309  // the context is nil a panic will occur. In the future the SDK may create
  1310  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1311  // for more information on using Contexts.
  1312  func (c *MediaPackageVod) ListPackagingGroupsPagesWithContext(ctx aws.Context, input *ListPackagingGroupsInput, fn func(*ListPackagingGroupsOutput, bool) bool, opts ...request.Option) error {
  1313  	p := request.Pagination{
  1314  		NewRequest: func() (*request.Request, error) {
  1315  			var inCpy *ListPackagingGroupsInput
  1316  			if input != nil {
  1317  				tmp := *input
  1318  				inCpy = &tmp
  1319  			}
  1320  			req, _ := c.ListPackagingGroupsRequest(inCpy)
  1321  			req.SetContext(ctx)
  1322  			req.ApplyOptions(opts...)
  1323  			return req, nil
  1324  		},
  1325  	}
  1326  
  1327  	for p.Next() {
  1328  		if !fn(p.Page().(*ListPackagingGroupsOutput), !p.HasNextPage()) {
  1329  			break
  1330  		}
  1331  	}
  1332  
  1333  	return p.Err()
  1334  }
  1335  
  1336  const opListTagsForResource = "ListTagsForResource"
  1337  
  1338  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  1339  // client's request for the ListTagsForResource operation. The "output" return
  1340  // value will be populated with the request's response once the request completes
  1341  // successfully.
  1342  //
  1343  // Use "Send" method on the returned Request to send the API call to the service.
  1344  // the "output" return value is not valid until after Send returns without error.
  1345  //
  1346  // See ListTagsForResource for more information on using the ListTagsForResource
  1347  // API call, and error handling.
  1348  //
  1349  // This method is useful when you want to inject custom logic or configuration
  1350  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1351  //
  1352  //
  1353  //    // Example sending a request using the ListTagsForResourceRequest method.
  1354  //    req, resp := client.ListTagsForResourceRequest(params)
  1355  //
  1356  //    err := req.Send()
  1357  //    if err == nil { // resp is now filled
  1358  //        fmt.Println(resp)
  1359  //    }
  1360  //
  1361  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListTagsForResource
  1362  func (c *MediaPackageVod) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  1363  	op := &request.Operation{
  1364  		Name:       opListTagsForResource,
  1365  		HTTPMethod: "GET",
  1366  		HTTPPath:   "/tags/{resource-arn}",
  1367  	}
  1368  
  1369  	if input == nil {
  1370  		input = &ListTagsForResourceInput{}
  1371  	}
  1372  
  1373  	output = &ListTagsForResourceOutput{}
  1374  	req = c.newRequest(op, input, output)
  1375  	return
  1376  }
  1377  
  1378  // ListTagsForResource API operation for AWS Elemental MediaPackage VOD.
  1379  //
  1380  // Returns a list of the tags assigned to the specified resource.
  1381  //
  1382  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1383  // with awserr.Error's Code and Message methods to get detailed information about
  1384  // the error.
  1385  //
  1386  // See the AWS API reference guide for AWS Elemental MediaPackage VOD's
  1387  // API operation ListTagsForResource for usage and error information.
  1388  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/ListTagsForResource
  1389  func (c *MediaPackageVod) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  1390  	req, out := c.ListTagsForResourceRequest(input)
  1391  	return out, req.Send()
  1392  }
  1393  
  1394  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  1395  // the ability to pass a context and additional request options.
  1396  //
  1397  // See ListTagsForResource for details on how to use this API operation.
  1398  //
  1399  // The context must be non-nil and will be used for request cancellation. If
  1400  // the context is nil a panic will occur. In the future the SDK may create
  1401  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1402  // for more information on using Contexts.
  1403  func (c *MediaPackageVod) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  1404  	req, out := c.ListTagsForResourceRequest(input)
  1405  	req.SetContext(ctx)
  1406  	req.ApplyOptions(opts...)
  1407  	return out, req.Send()
  1408  }
  1409  
  1410  const opTagResource = "TagResource"
  1411  
  1412  // TagResourceRequest generates a "aws/request.Request" representing the
  1413  // client's request for the TagResource operation. The "output" return
  1414  // value will be populated with the request's response once the request completes
  1415  // successfully.
  1416  //
  1417  // Use "Send" method on the returned Request to send the API call to the service.
  1418  // the "output" return value is not valid until after Send returns without error.
  1419  //
  1420  // See TagResource for more information on using the TagResource
  1421  // API call, and error handling.
  1422  //
  1423  // This method is useful when you want to inject custom logic or configuration
  1424  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1425  //
  1426  //
  1427  //    // Example sending a request using the TagResourceRequest method.
  1428  //    req, resp := client.TagResourceRequest(params)
  1429  //
  1430  //    err := req.Send()
  1431  //    if err == nil { // resp is now filled
  1432  //        fmt.Println(resp)
  1433  //    }
  1434  //
  1435  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/TagResource
  1436  func (c *MediaPackageVod) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  1437  	op := &request.Operation{
  1438  		Name:       opTagResource,
  1439  		HTTPMethod: "POST",
  1440  		HTTPPath:   "/tags/{resource-arn}",
  1441  	}
  1442  
  1443  	if input == nil {
  1444  		input = &TagResourceInput{}
  1445  	}
  1446  
  1447  	output = &TagResourceOutput{}
  1448  	req = c.newRequest(op, input, output)
  1449  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1450  	return
  1451  }
  1452  
  1453  // TagResource API operation for AWS Elemental MediaPackage VOD.
  1454  //
  1455  // Adds tags to the specified resource. You can specify one or more tags to
  1456  // add.
  1457  //
  1458  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1459  // with awserr.Error's Code and Message methods to get detailed information about
  1460  // the error.
  1461  //
  1462  // See the AWS API reference guide for AWS Elemental MediaPackage VOD's
  1463  // API operation TagResource for usage and error information.
  1464  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/TagResource
  1465  func (c *MediaPackageVod) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  1466  	req, out := c.TagResourceRequest(input)
  1467  	return out, req.Send()
  1468  }
  1469  
  1470  // TagResourceWithContext is the same as TagResource with the addition of
  1471  // the ability to pass a context and additional request options.
  1472  //
  1473  // See TagResource for details on how to use this API operation.
  1474  //
  1475  // The context must be non-nil and will be used for request cancellation. If
  1476  // the context is nil a panic will occur. In the future the SDK may create
  1477  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1478  // for more information on using Contexts.
  1479  func (c *MediaPackageVod) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  1480  	req, out := c.TagResourceRequest(input)
  1481  	req.SetContext(ctx)
  1482  	req.ApplyOptions(opts...)
  1483  	return out, req.Send()
  1484  }
  1485  
  1486  const opUntagResource = "UntagResource"
  1487  
  1488  // UntagResourceRequest generates a "aws/request.Request" representing the
  1489  // client's request for the UntagResource operation. The "output" return
  1490  // value will be populated with the request's response once the request completes
  1491  // successfully.
  1492  //
  1493  // Use "Send" method on the returned Request to send the API call to the service.
  1494  // the "output" return value is not valid until after Send returns without error.
  1495  //
  1496  // See UntagResource for more information on using the UntagResource
  1497  // API call, and error handling.
  1498  //
  1499  // This method is useful when you want to inject custom logic or configuration
  1500  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1501  //
  1502  //
  1503  //    // Example sending a request using the UntagResourceRequest method.
  1504  //    req, resp := client.UntagResourceRequest(params)
  1505  //
  1506  //    err := req.Send()
  1507  //    if err == nil { // resp is now filled
  1508  //        fmt.Println(resp)
  1509  //    }
  1510  //
  1511  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/UntagResource
  1512  func (c *MediaPackageVod) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  1513  	op := &request.Operation{
  1514  		Name:       opUntagResource,
  1515  		HTTPMethod: "DELETE",
  1516  		HTTPPath:   "/tags/{resource-arn}",
  1517  	}
  1518  
  1519  	if input == nil {
  1520  		input = &UntagResourceInput{}
  1521  	}
  1522  
  1523  	output = &UntagResourceOutput{}
  1524  	req = c.newRequest(op, input, output)
  1525  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1526  	return
  1527  }
  1528  
  1529  // UntagResource API operation for AWS Elemental MediaPackage VOD.
  1530  //
  1531  // Removes tags from the specified resource. You can specify one or more tags
  1532  // to remove.
  1533  //
  1534  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1535  // with awserr.Error's Code and Message methods to get detailed information about
  1536  // the error.
  1537  //
  1538  // See the AWS API reference guide for AWS Elemental MediaPackage VOD's
  1539  // API operation UntagResource for usage and error information.
  1540  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/UntagResource
  1541  func (c *MediaPackageVod) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  1542  	req, out := c.UntagResourceRequest(input)
  1543  	return out, req.Send()
  1544  }
  1545  
  1546  // UntagResourceWithContext is the same as UntagResource with the addition of
  1547  // the ability to pass a context and additional request options.
  1548  //
  1549  // See UntagResource for details on how to use this API operation.
  1550  //
  1551  // The context must be non-nil and will be used for request cancellation. If
  1552  // the context is nil a panic will occur. In the future the SDK may create
  1553  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1554  // for more information on using Contexts.
  1555  func (c *MediaPackageVod) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  1556  	req, out := c.UntagResourceRequest(input)
  1557  	req.SetContext(ctx)
  1558  	req.ApplyOptions(opts...)
  1559  	return out, req.Send()
  1560  }
  1561  
  1562  const opUpdatePackagingGroup = "UpdatePackagingGroup"
  1563  
  1564  // UpdatePackagingGroupRequest generates a "aws/request.Request" representing the
  1565  // client's request for the UpdatePackagingGroup operation. The "output" return
  1566  // value will be populated with the request's response once the request completes
  1567  // successfully.
  1568  //
  1569  // Use "Send" method on the returned Request to send the API call to the service.
  1570  // the "output" return value is not valid until after Send returns without error.
  1571  //
  1572  // See UpdatePackagingGroup for more information on using the UpdatePackagingGroup
  1573  // API call, and error handling.
  1574  //
  1575  // This method is useful when you want to inject custom logic or configuration
  1576  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1577  //
  1578  //
  1579  //    // Example sending a request using the UpdatePackagingGroupRequest method.
  1580  //    req, resp := client.UpdatePackagingGroupRequest(params)
  1581  //
  1582  //    err := req.Send()
  1583  //    if err == nil { // resp is now filled
  1584  //        fmt.Println(resp)
  1585  //    }
  1586  //
  1587  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/UpdatePackagingGroup
  1588  func (c *MediaPackageVod) UpdatePackagingGroupRequest(input *UpdatePackagingGroupInput) (req *request.Request, output *UpdatePackagingGroupOutput) {
  1589  	op := &request.Operation{
  1590  		Name:       opUpdatePackagingGroup,
  1591  		HTTPMethod: "PUT",
  1592  		HTTPPath:   "/packaging_groups/{id}",
  1593  	}
  1594  
  1595  	if input == nil {
  1596  		input = &UpdatePackagingGroupInput{}
  1597  	}
  1598  
  1599  	output = &UpdatePackagingGroupOutput{}
  1600  	req = c.newRequest(op, input, output)
  1601  	return
  1602  }
  1603  
  1604  // UpdatePackagingGroup API operation for AWS Elemental MediaPackage VOD.
  1605  //
  1606  // Updates a specific packaging group. You can't change the id attribute or
  1607  // any other system-generated attributes.
  1608  //
  1609  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1610  // with awserr.Error's Code and Message methods to get detailed information about
  1611  // the error.
  1612  //
  1613  // See the AWS API reference guide for AWS Elemental MediaPackage VOD's
  1614  // API operation UpdatePackagingGroup for usage and error information.
  1615  //
  1616  // Returned Error Types:
  1617  //   * UnprocessableEntityException
  1618  //
  1619  //   * InternalServerErrorException
  1620  //
  1621  //   * ForbiddenException
  1622  //
  1623  //   * NotFoundException
  1624  //
  1625  //   * ServiceUnavailableException
  1626  //
  1627  //   * TooManyRequestsException
  1628  //
  1629  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-vod-2018-11-07/UpdatePackagingGroup
  1630  func (c *MediaPackageVod) UpdatePackagingGroup(input *UpdatePackagingGroupInput) (*UpdatePackagingGroupOutput, error) {
  1631  	req, out := c.UpdatePackagingGroupRequest(input)
  1632  	return out, req.Send()
  1633  }
  1634  
  1635  // UpdatePackagingGroupWithContext is the same as UpdatePackagingGroup with the addition of
  1636  // the ability to pass a context and additional request options.
  1637  //
  1638  // See UpdatePackagingGroup for details on how to use this API operation.
  1639  //
  1640  // The context must be non-nil and will be used for request cancellation. If
  1641  // the context is nil a panic will occur. In the future the SDK may create
  1642  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1643  // for more information on using Contexts.
  1644  func (c *MediaPackageVod) UpdatePackagingGroupWithContext(ctx aws.Context, input *UpdatePackagingGroupInput, opts ...request.Option) (*UpdatePackagingGroupOutput, error) {
  1645  	req, out := c.UpdatePackagingGroupRequest(input)
  1646  	req.SetContext(ctx)
  1647  	req.ApplyOptions(opts...)
  1648  	return out, req.Send()
  1649  }
  1650  
  1651  // A MediaPackage VOD Asset resource.
  1652  type AssetShallow struct {
  1653  	_ struct{} `type:"structure"`
  1654  
  1655  	// The ARN of the Asset.
  1656  	Arn *string `locationName:"arn" type:"string"`
  1657  
  1658  	// The time the Asset was initially submitted for Ingest.
  1659  	CreatedAt *string `locationName:"createdAt" type:"string"`
  1660  
  1661  	// The unique identifier for the Asset.
  1662  	Id *string `locationName:"id" type:"string"`
  1663  
  1664  	// The ID of the PackagingGroup for the Asset.
  1665  	PackagingGroupId *string `locationName:"packagingGroupId" type:"string"`
  1666  
  1667  	// The resource ID to include in SPEKE key requests.
  1668  	ResourceId *string `locationName:"resourceId" type:"string"`
  1669  
  1670  	// ARN of the source object in S3.
  1671  	SourceArn *string `locationName:"sourceArn" type:"string"`
  1672  
  1673  	// The IAM role ARN used to access the source S3 bucket.
  1674  	SourceRoleArn *string `locationName:"sourceRoleArn" type:"string"`
  1675  
  1676  	// A collection of tags associated with a resource
  1677  	Tags map[string]*string `locationName:"tags" type:"map"`
  1678  }
  1679  
  1680  // String returns the string representation.
  1681  //
  1682  // API parameter values that are decorated as "sensitive" in the API will not
  1683  // be included in the string output. The member name will be present, but the
  1684  // value will be replaced with "sensitive".
  1685  func (s AssetShallow) String() string {
  1686  	return awsutil.Prettify(s)
  1687  }
  1688  
  1689  // GoString returns the string representation.
  1690  //
  1691  // API parameter values that are decorated as "sensitive" in the API will not
  1692  // be included in the string output. The member name will be present, but the
  1693  // value will be replaced with "sensitive".
  1694  func (s AssetShallow) GoString() string {
  1695  	return s.String()
  1696  }
  1697  
  1698  // SetArn sets the Arn field's value.
  1699  func (s *AssetShallow) SetArn(v string) *AssetShallow {
  1700  	s.Arn = &v
  1701  	return s
  1702  }
  1703  
  1704  // SetCreatedAt sets the CreatedAt field's value.
  1705  func (s *AssetShallow) SetCreatedAt(v string) *AssetShallow {
  1706  	s.CreatedAt = &v
  1707  	return s
  1708  }
  1709  
  1710  // SetId sets the Id field's value.
  1711  func (s *AssetShallow) SetId(v string) *AssetShallow {
  1712  	s.Id = &v
  1713  	return s
  1714  }
  1715  
  1716  // SetPackagingGroupId sets the PackagingGroupId field's value.
  1717  func (s *AssetShallow) SetPackagingGroupId(v string) *AssetShallow {
  1718  	s.PackagingGroupId = &v
  1719  	return s
  1720  }
  1721  
  1722  // SetResourceId sets the ResourceId field's value.
  1723  func (s *AssetShallow) SetResourceId(v string) *AssetShallow {
  1724  	s.ResourceId = &v
  1725  	return s
  1726  }
  1727  
  1728  // SetSourceArn sets the SourceArn field's value.
  1729  func (s *AssetShallow) SetSourceArn(v string) *AssetShallow {
  1730  	s.SourceArn = &v
  1731  	return s
  1732  }
  1733  
  1734  // SetSourceRoleArn sets the SourceRoleArn field's value.
  1735  func (s *AssetShallow) SetSourceRoleArn(v string) *AssetShallow {
  1736  	s.SourceRoleArn = &v
  1737  	return s
  1738  }
  1739  
  1740  // SetTags sets the Tags field's value.
  1741  func (s *AssetShallow) SetTags(v map[string]*string) *AssetShallow {
  1742  	s.Tags = v
  1743  	return s
  1744  }
  1745  
  1746  // CDN Authorization credentials
  1747  type Authorization struct {
  1748  	_ struct{} `type:"structure"`
  1749  
  1750  	// The Amazon Resource Name (ARN) for the secret in AWS Secrets Manager that
  1751  	// is used for CDN authorization.
  1752  	//
  1753  	// CdnIdentifierSecret is a required field
  1754  	CdnIdentifierSecret *string `locationName:"cdnIdentifierSecret" type:"string" required:"true"`
  1755  
  1756  	// The Amazon Resource Name (ARN) for the IAM role that allows MediaPackage
  1757  	// to communicate with AWS Secrets Manager.
  1758  	//
  1759  	// SecretsRoleArn is a required field
  1760  	SecretsRoleArn *string `locationName:"secretsRoleArn" type:"string" required:"true"`
  1761  }
  1762  
  1763  // String returns the string representation.
  1764  //
  1765  // API parameter values that are decorated as "sensitive" in the API will not
  1766  // be included in the string output. The member name will be present, but the
  1767  // value will be replaced with "sensitive".
  1768  func (s Authorization) String() string {
  1769  	return awsutil.Prettify(s)
  1770  }
  1771  
  1772  // GoString returns the string representation.
  1773  //
  1774  // API parameter values that are decorated as "sensitive" in the API will not
  1775  // be included in the string output. The member name will be present, but the
  1776  // value will be replaced with "sensitive".
  1777  func (s Authorization) GoString() string {
  1778  	return s.String()
  1779  }
  1780  
  1781  // Validate inspects the fields of the type to determine if they are valid.
  1782  func (s *Authorization) Validate() error {
  1783  	invalidParams := request.ErrInvalidParams{Context: "Authorization"}
  1784  	if s.CdnIdentifierSecret == nil {
  1785  		invalidParams.Add(request.NewErrParamRequired("CdnIdentifierSecret"))
  1786  	}
  1787  	if s.SecretsRoleArn == nil {
  1788  		invalidParams.Add(request.NewErrParamRequired("SecretsRoleArn"))
  1789  	}
  1790  
  1791  	if invalidParams.Len() > 0 {
  1792  		return invalidParams
  1793  	}
  1794  	return nil
  1795  }
  1796  
  1797  // SetCdnIdentifierSecret sets the CdnIdentifierSecret field's value.
  1798  func (s *Authorization) SetCdnIdentifierSecret(v string) *Authorization {
  1799  	s.CdnIdentifierSecret = &v
  1800  	return s
  1801  }
  1802  
  1803  // SetSecretsRoleArn sets the SecretsRoleArn field's value.
  1804  func (s *Authorization) SetSecretsRoleArn(v string) *Authorization {
  1805  	s.SecretsRoleArn = &v
  1806  	return s
  1807  }
  1808  
  1809  // A CMAF encryption configuration.
  1810  type CmafEncryption struct {
  1811  	_ struct{} `type:"structure"`
  1812  
  1813  	// An optional 128-bit, 16-byte hex value represented by a 32-character string,
  1814  	// used in conjunction with the key for encrypting blocks. If you don't specify
  1815  	// a value, then MediaPackage creates the constant initialization vector (IV).
  1816  	ConstantInitializationVector *string `locationName:"constantInitializationVector" type:"string"`
  1817  
  1818  	// A configuration for accessing an external Secure Packager and Encoder Key
  1819  	// Exchange (SPEKE) service that will provide encryption keys.
  1820  	//
  1821  	// SpekeKeyProvider is a required field
  1822  	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
  1823  }
  1824  
  1825  // String returns the string representation.
  1826  //
  1827  // API parameter values that are decorated as "sensitive" in the API will not
  1828  // be included in the string output. The member name will be present, but the
  1829  // value will be replaced with "sensitive".
  1830  func (s CmafEncryption) String() string {
  1831  	return awsutil.Prettify(s)
  1832  }
  1833  
  1834  // GoString returns the string representation.
  1835  //
  1836  // API parameter values that are decorated as "sensitive" in the API will not
  1837  // be included in the string output. The member name will be present, but the
  1838  // value will be replaced with "sensitive".
  1839  func (s CmafEncryption) GoString() string {
  1840  	return s.String()
  1841  }
  1842  
  1843  // Validate inspects the fields of the type to determine if they are valid.
  1844  func (s *CmafEncryption) Validate() error {
  1845  	invalidParams := request.ErrInvalidParams{Context: "CmafEncryption"}
  1846  	if s.SpekeKeyProvider == nil {
  1847  		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
  1848  	}
  1849  	if s.SpekeKeyProvider != nil {
  1850  		if err := s.SpekeKeyProvider.Validate(); err != nil {
  1851  			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
  1852  		}
  1853  	}
  1854  
  1855  	if invalidParams.Len() > 0 {
  1856  		return invalidParams
  1857  	}
  1858  	return nil
  1859  }
  1860  
  1861  // SetConstantInitializationVector sets the ConstantInitializationVector field's value.
  1862  func (s *CmafEncryption) SetConstantInitializationVector(v string) *CmafEncryption {
  1863  	s.ConstantInitializationVector = &v
  1864  	return s
  1865  }
  1866  
  1867  // SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
  1868  func (s *CmafEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *CmafEncryption {
  1869  	s.SpekeKeyProvider = v
  1870  	return s
  1871  }
  1872  
  1873  // A CMAF packaging configuration.
  1874  type CmafPackage struct {
  1875  	_ struct{} `type:"structure"`
  1876  
  1877  	// A CMAF encryption configuration.
  1878  	Encryption *CmafEncryption `locationName:"encryption" type:"structure"`
  1879  
  1880  	// A list of HLS manifest configurations.
  1881  	//
  1882  	// HlsManifests is a required field
  1883  	HlsManifests []*HlsManifest `locationName:"hlsManifests" type:"list" required:"true"`
  1884  
  1885  	// When includeEncoderConfigurationInSegments is set to true, MediaPackage places
  1886  	// your encoder's Sequence Parameter Set (SPS), Picture Parameter Set (PPS),
  1887  	// and Video Parameter Set (VPS) metadata in every video segment instead of
  1888  	// in the init fragment. This lets you use different SPS/PPS/VPS settings for
  1889  	// your assets during content playback.
  1890  	IncludeEncoderConfigurationInSegments *bool `locationName:"includeEncoderConfigurationInSegments" type:"boolean"`
  1891  
  1892  	// Duration (in seconds) of each fragment. Actual fragments will berounded to
  1893  	// the nearest multiple of the source fragment duration.
  1894  	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
  1895  }
  1896  
  1897  // String returns the string representation.
  1898  //
  1899  // API parameter values that are decorated as "sensitive" in the API will not
  1900  // be included in the string output. The member name will be present, but the
  1901  // value will be replaced with "sensitive".
  1902  func (s CmafPackage) String() string {
  1903  	return awsutil.Prettify(s)
  1904  }
  1905  
  1906  // GoString returns the string representation.
  1907  //
  1908  // API parameter values that are decorated as "sensitive" in the API will not
  1909  // be included in the string output. The member name will be present, but the
  1910  // value will be replaced with "sensitive".
  1911  func (s CmafPackage) GoString() string {
  1912  	return s.String()
  1913  }
  1914  
  1915  // Validate inspects the fields of the type to determine if they are valid.
  1916  func (s *CmafPackage) Validate() error {
  1917  	invalidParams := request.ErrInvalidParams{Context: "CmafPackage"}
  1918  	if s.HlsManifests == nil {
  1919  		invalidParams.Add(request.NewErrParamRequired("HlsManifests"))
  1920  	}
  1921  	if s.Encryption != nil {
  1922  		if err := s.Encryption.Validate(); err != nil {
  1923  			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
  1924  		}
  1925  	}
  1926  
  1927  	if invalidParams.Len() > 0 {
  1928  		return invalidParams
  1929  	}
  1930  	return nil
  1931  }
  1932  
  1933  // SetEncryption sets the Encryption field's value.
  1934  func (s *CmafPackage) SetEncryption(v *CmafEncryption) *CmafPackage {
  1935  	s.Encryption = v
  1936  	return s
  1937  }
  1938  
  1939  // SetHlsManifests sets the HlsManifests field's value.
  1940  func (s *CmafPackage) SetHlsManifests(v []*HlsManifest) *CmafPackage {
  1941  	s.HlsManifests = v
  1942  	return s
  1943  }
  1944  
  1945  // SetIncludeEncoderConfigurationInSegments sets the IncludeEncoderConfigurationInSegments field's value.
  1946  func (s *CmafPackage) SetIncludeEncoderConfigurationInSegments(v bool) *CmafPackage {
  1947  	s.IncludeEncoderConfigurationInSegments = &v
  1948  	return s
  1949  }
  1950  
  1951  // SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
  1952  func (s *CmafPackage) SetSegmentDurationSeconds(v int64) *CmafPackage {
  1953  	s.SegmentDurationSeconds = &v
  1954  	return s
  1955  }
  1956  
  1957  type ConfigureLogsInput struct {
  1958  	_ struct{} `type:"structure"`
  1959  
  1960  	// Configure egress access logging.
  1961  	EgressAccessLogs *EgressAccessLogs `locationName:"egressAccessLogs" type:"structure"`
  1962  
  1963  	// Id is a required field
  1964  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  1965  }
  1966  
  1967  // String returns the string representation.
  1968  //
  1969  // API parameter values that are decorated as "sensitive" in the API will not
  1970  // be included in the string output. The member name will be present, but the
  1971  // value will be replaced with "sensitive".
  1972  func (s ConfigureLogsInput) String() string {
  1973  	return awsutil.Prettify(s)
  1974  }
  1975  
  1976  // GoString returns the string representation.
  1977  //
  1978  // API parameter values that are decorated as "sensitive" in the API will not
  1979  // be included in the string output. The member name will be present, but the
  1980  // value will be replaced with "sensitive".
  1981  func (s ConfigureLogsInput) GoString() string {
  1982  	return s.String()
  1983  }
  1984  
  1985  // Validate inspects the fields of the type to determine if they are valid.
  1986  func (s *ConfigureLogsInput) Validate() error {
  1987  	invalidParams := request.ErrInvalidParams{Context: "ConfigureLogsInput"}
  1988  	if s.Id == nil {
  1989  		invalidParams.Add(request.NewErrParamRequired("Id"))
  1990  	}
  1991  	if s.Id != nil && len(*s.Id) < 1 {
  1992  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  1993  	}
  1994  
  1995  	if invalidParams.Len() > 0 {
  1996  		return invalidParams
  1997  	}
  1998  	return nil
  1999  }
  2000  
  2001  // SetEgressAccessLogs sets the EgressAccessLogs field's value.
  2002  func (s *ConfigureLogsInput) SetEgressAccessLogs(v *EgressAccessLogs) *ConfigureLogsInput {
  2003  	s.EgressAccessLogs = v
  2004  	return s
  2005  }
  2006  
  2007  // SetId sets the Id field's value.
  2008  func (s *ConfigureLogsInput) SetId(v string) *ConfigureLogsInput {
  2009  	s.Id = &v
  2010  	return s
  2011  }
  2012  
  2013  type ConfigureLogsOutput struct {
  2014  	_ struct{} `type:"structure"`
  2015  
  2016  	Arn *string `locationName:"arn" type:"string"`
  2017  
  2018  	// CDN Authorization credentials
  2019  	Authorization *Authorization `locationName:"authorization" type:"structure"`
  2020  
  2021  	DomainName *string `locationName:"domainName" type:"string"`
  2022  
  2023  	// Configure egress access logging.
  2024  	EgressAccessLogs *EgressAccessLogs `locationName:"egressAccessLogs" type:"structure"`
  2025  
  2026  	Id *string `locationName:"id" type:"string"`
  2027  
  2028  	// A collection of tags associated with a resource
  2029  	Tags map[string]*string `locationName:"tags" type:"map"`
  2030  }
  2031  
  2032  // String returns the string representation.
  2033  //
  2034  // API parameter values that are decorated as "sensitive" in the API will not
  2035  // be included in the string output. The member name will be present, but the
  2036  // value will be replaced with "sensitive".
  2037  func (s ConfigureLogsOutput) String() string {
  2038  	return awsutil.Prettify(s)
  2039  }
  2040  
  2041  // GoString returns the string representation.
  2042  //
  2043  // API parameter values that are decorated as "sensitive" in the API will not
  2044  // be included in the string output. The member name will be present, but the
  2045  // value will be replaced with "sensitive".
  2046  func (s ConfigureLogsOutput) GoString() string {
  2047  	return s.String()
  2048  }
  2049  
  2050  // SetArn sets the Arn field's value.
  2051  func (s *ConfigureLogsOutput) SetArn(v string) *ConfigureLogsOutput {
  2052  	s.Arn = &v
  2053  	return s
  2054  }
  2055  
  2056  // SetAuthorization sets the Authorization field's value.
  2057  func (s *ConfigureLogsOutput) SetAuthorization(v *Authorization) *ConfigureLogsOutput {
  2058  	s.Authorization = v
  2059  	return s
  2060  }
  2061  
  2062  // SetDomainName sets the DomainName field's value.
  2063  func (s *ConfigureLogsOutput) SetDomainName(v string) *ConfigureLogsOutput {
  2064  	s.DomainName = &v
  2065  	return s
  2066  }
  2067  
  2068  // SetEgressAccessLogs sets the EgressAccessLogs field's value.
  2069  func (s *ConfigureLogsOutput) SetEgressAccessLogs(v *EgressAccessLogs) *ConfigureLogsOutput {
  2070  	s.EgressAccessLogs = v
  2071  	return s
  2072  }
  2073  
  2074  // SetId sets the Id field's value.
  2075  func (s *ConfigureLogsOutput) SetId(v string) *ConfigureLogsOutput {
  2076  	s.Id = &v
  2077  	return s
  2078  }
  2079  
  2080  // SetTags sets the Tags field's value.
  2081  func (s *ConfigureLogsOutput) SetTags(v map[string]*string) *ConfigureLogsOutput {
  2082  	s.Tags = v
  2083  	return s
  2084  }
  2085  
  2086  type CreateAssetInput struct {
  2087  	_ struct{} `type:"structure"`
  2088  
  2089  	// Id is a required field
  2090  	Id *string `locationName:"id" type:"string" required:"true"`
  2091  
  2092  	// PackagingGroupId is a required field
  2093  	PackagingGroupId *string `locationName:"packagingGroupId" type:"string" required:"true"`
  2094  
  2095  	ResourceId *string `locationName:"resourceId" type:"string"`
  2096  
  2097  	// SourceArn is a required field
  2098  	SourceArn *string `locationName:"sourceArn" type:"string" required:"true"`
  2099  
  2100  	// SourceRoleArn is a required field
  2101  	SourceRoleArn *string `locationName:"sourceRoleArn" type:"string" required:"true"`
  2102  
  2103  	// A collection of tags associated with a resource
  2104  	Tags map[string]*string `locationName:"tags" type:"map"`
  2105  }
  2106  
  2107  // String returns the string representation.
  2108  //
  2109  // API parameter values that are decorated as "sensitive" in the API will not
  2110  // be included in the string output. The member name will be present, but the
  2111  // value will be replaced with "sensitive".
  2112  func (s CreateAssetInput) String() string {
  2113  	return awsutil.Prettify(s)
  2114  }
  2115  
  2116  // GoString returns the string representation.
  2117  //
  2118  // API parameter values that are decorated as "sensitive" in the API will not
  2119  // be included in the string output. The member name will be present, but the
  2120  // value will be replaced with "sensitive".
  2121  func (s CreateAssetInput) GoString() string {
  2122  	return s.String()
  2123  }
  2124  
  2125  // Validate inspects the fields of the type to determine if they are valid.
  2126  func (s *CreateAssetInput) Validate() error {
  2127  	invalidParams := request.ErrInvalidParams{Context: "CreateAssetInput"}
  2128  	if s.Id == nil {
  2129  		invalidParams.Add(request.NewErrParamRequired("Id"))
  2130  	}
  2131  	if s.PackagingGroupId == nil {
  2132  		invalidParams.Add(request.NewErrParamRequired("PackagingGroupId"))
  2133  	}
  2134  	if s.SourceArn == nil {
  2135  		invalidParams.Add(request.NewErrParamRequired("SourceArn"))
  2136  	}
  2137  	if s.SourceRoleArn == nil {
  2138  		invalidParams.Add(request.NewErrParamRequired("SourceRoleArn"))
  2139  	}
  2140  
  2141  	if invalidParams.Len() > 0 {
  2142  		return invalidParams
  2143  	}
  2144  	return nil
  2145  }
  2146  
  2147  // SetId sets the Id field's value.
  2148  func (s *CreateAssetInput) SetId(v string) *CreateAssetInput {
  2149  	s.Id = &v
  2150  	return s
  2151  }
  2152  
  2153  // SetPackagingGroupId sets the PackagingGroupId field's value.
  2154  func (s *CreateAssetInput) SetPackagingGroupId(v string) *CreateAssetInput {
  2155  	s.PackagingGroupId = &v
  2156  	return s
  2157  }
  2158  
  2159  // SetResourceId sets the ResourceId field's value.
  2160  func (s *CreateAssetInput) SetResourceId(v string) *CreateAssetInput {
  2161  	s.ResourceId = &v
  2162  	return s
  2163  }
  2164  
  2165  // SetSourceArn sets the SourceArn field's value.
  2166  func (s *CreateAssetInput) SetSourceArn(v string) *CreateAssetInput {
  2167  	s.SourceArn = &v
  2168  	return s
  2169  }
  2170  
  2171  // SetSourceRoleArn sets the SourceRoleArn field's value.
  2172  func (s *CreateAssetInput) SetSourceRoleArn(v string) *CreateAssetInput {
  2173  	s.SourceRoleArn = &v
  2174  	return s
  2175  }
  2176  
  2177  // SetTags sets the Tags field's value.
  2178  func (s *CreateAssetInput) SetTags(v map[string]*string) *CreateAssetInput {
  2179  	s.Tags = v
  2180  	return s
  2181  }
  2182  
  2183  type CreateAssetOutput struct {
  2184  	_ struct{} `type:"structure"`
  2185  
  2186  	Arn *string `locationName:"arn" type:"string"`
  2187  
  2188  	CreatedAt *string `locationName:"createdAt" type:"string"`
  2189  
  2190  	EgressEndpoints []*EgressEndpoint `locationName:"egressEndpoints" type:"list"`
  2191  
  2192  	Id *string `locationName:"id" type:"string"`
  2193  
  2194  	PackagingGroupId *string `locationName:"packagingGroupId" type:"string"`
  2195  
  2196  	ResourceId *string `locationName:"resourceId" type:"string"`
  2197  
  2198  	SourceArn *string `locationName:"sourceArn" type:"string"`
  2199  
  2200  	SourceRoleArn *string `locationName:"sourceRoleArn" type:"string"`
  2201  
  2202  	// A collection of tags associated with a resource
  2203  	Tags map[string]*string `locationName:"tags" type:"map"`
  2204  }
  2205  
  2206  // String returns the string representation.
  2207  //
  2208  // API parameter values that are decorated as "sensitive" in the API will not
  2209  // be included in the string output. The member name will be present, but the
  2210  // value will be replaced with "sensitive".
  2211  func (s CreateAssetOutput) String() string {
  2212  	return awsutil.Prettify(s)
  2213  }
  2214  
  2215  // GoString returns the string representation.
  2216  //
  2217  // API parameter values that are decorated as "sensitive" in the API will not
  2218  // be included in the string output. The member name will be present, but the
  2219  // value will be replaced with "sensitive".
  2220  func (s CreateAssetOutput) GoString() string {
  2221  	return s.String()
  2222  }
  2223  
  2224  // SetArn sets the Arn field's value.
  2225  func (s *CreateAssetOutput) SetArn(v string) *CreateAssetOutput {
  2226  	s.Arn = &v
  2227  	return s
  2228  }
  2229  
  2230  // SetCreatedAt sets the CreatedAt field's value.
  2231  func (s *CreateAssetOutput) SetCreatedAt(v string) *CreateAssetOutput {
  2232  	s.CreatedAt = &v
  2233  	return s
  2234  }
  2235  
  2236  // SetEgressEndpoints sets the EgressEndpoints field's value.
  2237  func (s *CreateAssetOutput) SetEgressEndpoints(v []*EgressEndpoint) *CreateAssetOutput {
  2238  	s.EgressEndpoints = v
  2239  	return s
  2240  }
  2241  
  2242  // SetId sets the Id field's value.
  2243  func (s *CreateAssetOutput) SetId(v string) *CreateAssetOutput {
  2244  	s.Id = &v
  2245  	return s
  2246  }
  2247  
  2248  // SetPackagingGroupId sets the PackagingGroupId field's value.
  2249  func (s *CreateAssetOutput) SetPackagingGroupId(v string) *CreateAssetOutput {
  2250  	s.PackagingGroupId = &v
  2251  	return s
  2252  }
  2253  
  2254  // SetResourceId sets the ResourceId field's value.
  2255  func (s *CreateAssetOutput) SetResourceId(v string) *CreateAssetOutput {
  2256  	s.ResourceId = &v
  2257  	return s
  2258  }
  2259  
  2260  // SetSourceArn sets the SourceArn field's value.
  2261  func (s *CreateAssetOutput) SetSourceArn(v string) *CreateAssetOutput {
  2262  	s.SourceArn = &v
  2263  	return s
  2264  }
  2265  
  2266  // SetSourceRoleArn sets the SourceRoleArn field's value.
  2267  func (s *CreateAssetOutput) SetSourceRoleArn(v string) *CreateAssetOutput {
  2268  	s.SourceRoleArn = &v
  2269  	return s
  2270  }
  2271  
  2272  // SetTags sets the Tags field's value.
  2273  func (s *CreateAssetOutput) SetTags(v map[string]*string) *CreateAssetOutput {
  2274  	s.Tags = v
  2275  	return s
  2276  }
  2277  
  2278  type CreatePackagingConfigurationInput struct {
  2279  	_ struct{} `type:"structure"`
  2280  
  2281  	// A CMAF packaging configuration.
  2282  	CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"`
  2283  
  2284  	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
  2285  	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
  2286  
  2287  	// An HTTP Live Streaming (HLS) packaging configuration.
  2288  	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
  2289  
  2290  	// Id is a required field
  2291  	Id *string `locationName:"id" type:"string" required:"true"`
  2292  
  2293  	// A Microsoft Smooth Streaming (MSS) PackagingConfiguration.
  2294  	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
  2295  
  2296  	// PackagingGroupId is a required field
  2297  	PackagingGroupId *string `locationName:"packagingGroupId" type:"string" required:"true"`
  2298  
  2299  	// A collection of tags associated with a resource
  2300  	Tags map[string]*string `locationName:"tags" type:"map"`
  2301  }
  2302  
  2303  // String returns the string representation.
  2304  //
  2305  // API parameter values that are decorated as "sensitive" in the API will not
  2306  // be included in the string output. The member name will be present, but the
  2307  // value will be replaced with "sensitive".
  2308  func (s CreatePackagingConfigurationInput) String() string {
  2309  	return awsutil.Prettify(s)
  2310  }
  2311  
  2312  // GoString returns the string representation.
  2313  //
  2314  // API parameter values that are decorated as "sensitive" in the API will not
  2315  // be included in the string output. The member name will be present, but the
  2316  // value will be replaced with "sensitive".
  2317  func (s CreatePackagingConfigurationInput) GoString() string {
  2318  	return s.String()
  2319  }
  2320  
  2321  // Validate inspects the fields of the type to determine if they are valid.
  2322  func (s *CreatePackagingConfigurationInput) Validate() error {
  2323  	invalidParams := request.ErrInvalidParams{Context: "CreatePackagingConfigurationInput"}
  2324  	if s.Id == nil {
  2325  		invalidParams.Add(request.NewErrParamRequired("Id"))
  2326  	}
  2327  	if s.PackagingGroupId == nil {
  2328  		invalidParams.Add(request.NewErrParamRequired("PackagingGroupId"))
  2329  	}
  2330  	if s.CmafPackage != nil {
  2331  		if err := s.CmafPackage.Validate(); err != nil {
  2332  			invalidParams.AddNested("CmafPackage", err.(request.ErrInvalidParams))
  2333  		}
  2334  	}
  2335  	if s.DashPackage != nil {
  2336  		if err := s.DashPackage.Validate(); err != nil {
  2337  			invalidParams.AddNested("DashPackage", err.(request.ErrInvalidParams))
  2338  		}
  2339  	}
  2340  	if s.HlsPackage != nil {
  2341  		if err := s.HlsPackage.Validate(); err != nil {
  2342  			invalidParams.AddNested("HlsPackage", err.(request.ErrInvalidParams))
  2343  		}
  2344  	}
  2345  	if s.MssPackage != nil {
  2346  		if err := s.MssPackage.Validate(); err != nil {
  2347  			invalidParams.AddNested("MssPackage", err.(request.ErrInvalidParams))
  2348  		}
  2349  	}
  2350  
  2351  	if invalidParams.Len() > 0 {
  2352  		return invalidParams
  2353  	}
  2354  	return nil
  2355  }
  2356  
  2357  // SetCmafPackage sets the CmafPackage field's value.
  2358  func (s *CreatePackagingConfigurationInput) SetCmafPackage(v *CmafPackage) *CreatePackagingConfigurationInput {
  2359  	s.CmafPackage = v
  2360  	return s
  2361  }
  2362  
  2363  // SetDashPackage sets the DashPackage field's value.
  2364  func (s *CreatePackagingConfigurationInput) SetDashPackage(v *DashPackage) *CreatePackagingConfigurationInput {
  2365  	s.DashPackage = v
  2366  	return s
  2367  }
  2368  
  2369  // SetHlsPackage sets the HlsPackage field's value.
  2370  func (s *CreatePackagingConfigurationInput) SetHlsPackage(v *HlsPackage) *CreatePackagingConfigurationInput {
  2371  	s.HlsPackage = v
  2372  	return s
  2373  }
  2374  
  2375  // SetId sets the Id field's value.
  2376  func (s *CreatePackagingConfigurationInput) SetId(v string) *CreatePackagingConfigurationInput {
  2377  	s.Id = &v
  2378  	return s
  2379  }
  2380  
  2381  // SetMssPackage sets the MssPackage field's value.
  2382  func (s *CreatePackagingConfigurationInput) SetMssPackage(v *MssPackage) *CreatePackagingConfigurationInput {
  2383  	s.MssPackage = v
  2384  	return s
  2385  }
  2386  
  2387  // SetPackagingGroupId sets the PackagingGroupId field's value.
  2388  func (s *CreatePackagingConfigurationInput) SetPackagingGroupId(v string) *CreatePackagingConfigurationInput {
  2389  	s.PackagingGroupId = &v
  2390  	return s
  2391  }
  2392  
  2393  // SetTags sets the Tags field's value.
  2394  func (s *CreatePackagingConfigurationInput) SetTags(v map[string]*string) *CreatePackagingConfigurationInput {
  2395  	s.Tags = v
  2396  	return s
  2397  }
  2398  
  2399  type CreatePackagingConfigurationOutput struct {
  2400  	_ struct{} `type:"structure"`
  2401  
  2402  	Arn *string `locationName:"arn" type:"string"`
  2403  
  2404  	// A CMAF packaging configuration.
  2405  	CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"`
  2406  
  2407  	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
  2408  	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
  2409  
  2410  	// An HTTP Live Streaming (HLS) packaging configuration.
  2411  	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
  2412  
  2413  	Id *string `locationName:"id" type:"string"`
  2414  
  2415  	// A Microsoft Smooth Streaming (MSS) PackagingConfiguration.
  2416  	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
  2417  
  2418  	PackagingGroupId *string `locationName:"packagingGroupId" type:"string"`
  2419  
  2420  	// A collection of tags associated with a resource
  2421  	Tags map[string]*string `locationName:"tags" type:"map"`
  2422  }
  2423  
  2424  // String returns the string representation.
  2425  //
  2426  // API parameter values that are decorated as "sensitive" in the API will not
  2427  // be included in the string output. The member name will be present, but the
  2428  // value will be replaced with "sensitive".
  2429  func (s CreatePackagingConfigurationOutput) String() string {
  2430  	return awsutil.Prettify(s)
  2431  }
  2432  
  2433  // GoString returns the string representation.
  2434  //
  2435  // API parameter values that are decorated as "sensitive" in the API will not
  2436  // be included in the string output. The member name will be present, but the
  2437  // value will be replaced with "sensitive".
  2438  func (s CreatePackagingConfigurationOutput) GoString() string {
  2439  	return s.String()
  2440  }
  2441  
  2442  // SetArn sets the Arn field's value.
  2443  func (s *CreatePackagingConfigurationOutput) SetArn(v string) *CreatePackagingConfigurationOutput {
  2444  	s.Arn = &v
  2445  	return s
  2446  }
  2447  
  2448  // SetCmafPackage sets the CmafPackage field's value.
  2449  func (s *CreatePackagingConfigurationOutput) SetCmafPackage(v *CmafPackage) *CreatePackagingConfigurationOutput {
  2450  	s.CmafPackage = v
  2451  	return s
  2452  }
  2453  
  2454  // SetDashPackage sets the DashPackage field's value.
  2455  func (s *CreatePackagingConfigurationOutput) SetDashPackage(v *DashPackage) *CreatePackagingConfigurationOutput {
  2456  	s.DashPackage = v
  2457  	return s
  2458  }
  2459  
  2460  // SetHlsPackage sets the HlsPackage field's value.
  2461  func (s *CreatePackagingConfigurationOutput) SetHlsPackage(v *HlsPackage) *CreatePackagingConfigurationOutput {
  2462  	s.HlsPackage = v
  2463  	return s
  2464  }
  2465  
  2466  // SetId sets the Id field's value.
  2467  func (s *CreatePackagingConfigurationOutput) SetId(v string) *CreatePackagingConfigurationOutput {
  2468  	s.Id = &v
  2469  	return s
  2470  }
  2471  
  2472  // SetMssPackage sets the MssPackage field's value.
  2473  func (s *CreatePackagingConfigurationOutput) SetMssPackage(v *MssPackage) *CreatePackagingConfigurationOutput {
  2474  	s.MssPackage = v
  2475  	return s
  2476  }
  2477  
  2478  // SetPackagingGroupId sets the PackagingGroupId field's value.
  2479  func (s *CreatePackagingConfigurationOutput) SetPackagingGroupId(v string) *CreatePackagingConfigurationOutput {
  2480  	s.PackagingGroupId = &v
  2481  	return s
  2482  }
  2483  
  2484  // SetTags sets the Tags field's value.
  2485  func (s *CreatePackagingConfigurationOutput) SetTags(v map[string]*string) *CreatePackagingConfigurationOutput {
  2486  	s.Tags = v
  2487  	return s
  2488  }
  2489  
  2490  type CreatePackagingGroupInput struct {
  2491  	_ struct{} `type:"structure"`
  2492  
  2493  	// CDN Authorization credentials
  2494  	Authorization *Authorization `locationName:"authorization" type:"structure"`
  2495  
  2496  	// Configure egress access logging.
  2497  	EgressAccessLogs *EgressAccessLogs `locationName:"egressAccessLogs" type:"structure"`
  2498  
  2499  	// Id is a required field
  2500  	Id *string `locationName:"id" type:"string" required:"true"`
  2501  
  2502  	// A collection of tags associated with a resource
  2503  	Tags map[string]*string `locationName:"tags" type:"map"`
  2504  }
  2505  
  2506  // String returns the string representation.
  2507  //
  2508  // API parameter values that are decorated as "sensitive" in the API will not
  2509  // be included in the string output. The member name will be present, but the
  2510  // value will be replaced with "sensitive".
  2511  func (s CreatePackagingGroupInput) String() string {
  2512  	return awsutil.Prettify(s)
  2513  }
  2514  
  2515  // GoString returns the string representation.
  2516  //
  2517  // API parameter values that are decorated as "sensitive" in the API will not
  2518  // be included in the string output. The member name will be present, but the
  2519  // value will be replaced with "sensitive".
  2520  func (s CreatePackagingGroupInput) GoString() string {
  2521  	return s.String()
  2522  }
  2523  
  2524  // Validate inspects the fields of the type to determine if they are valid.
  2525  func (s *CreatePackagingGroupInput) Validate() error {
  2526  	invalidParams := request.ErrInvalidParams{Context: "CreatePackagingGroupInput"}
  2527  	if s.Id == nil {
  2528  		invalidParams.Add(request.NewErrParamRequired("Id"))
  2529  	}
  2530  	if s.Authorization != nil {
  2531  		if err := s.Authorization.Validate(); err != nil {
  2532  			invalidParams.AddNested("Authorization", err.(request.ErrInvalidParams))
  2533  		}
  2534  	}
  2535  
  2536  	if invalidParams.Len() > 0 {
  2537  		return invalidParams
  2538  	}
  2539  	return nil
  2540  }
  2541  
  2542  // SetAuthorization sets the Authorization field's value.
  2543  func (s *CreatePackagingGroupInput) SetAuthorization(v *Authorization) *CreatePackagingGroupInput {
  2544  	s.Authorization = v
  2545  	return s
  2546  }
  2547  
  2548  // SetEgressAccessLogs sets the EgressAccessLogs field's value.
  2549  func (s *CreatePackagingGroupInput) SetEgressAccessLogs(v *EgressAccessLogs) *CreatePackagingGroupInput {
  2550  	s.EgressAccessLogs = v
  2551  	return s
  2552  }
  2553  
  2554  // SetId sets the Id field's value.
  2555  func (s *CreatePackagingGroupInput) SetId(v string) *CreatePackagingGroupInput {
  2556  	s.Id = &v
  2557  	return s
  2558  }
  2559  
  2560  // SetTags sets the Tags field's value.
  2561  func (s *CreatePackagingGroupInput) SetTags(v map[string]*string) *CreatePackagingGroupInput {
  2562  	s.Tags = v
  2563  	return s
  2564  }
  2565  
  2566  type CreatePackagingGroupOutput struct {
  2567  	_ struct{} `type:"structure"`
  2568  
  2569  	Arn *string `locationName:"arn" type:"string"`
  2570  
  2571  	// CDN Authorization credentials
  2572  	Authorization *Authorization `locationName:"authorization" type:"structure"`
  2573  
  2574  	DomainName *string `locationName:"domainName" type:"string"`
  2575  
  2576  	// Configure egress access logging.
  2577  	EgressAccessLogs *EgressAccessLogs `locationName:"egressAccessLogs" type:"structure"`
  2578  
  2579  	Id *string `locationName:"id" type:"string"`
  2580  
  2581  	// A collection of tags associated with a resource
  2582  	Tags map[string]*string `locationName:"tags" type:"map"`
  2583  }
  2584  
  2585  // String returns the string representation.
  2586  //
  2587  // API parameter values that are decorated as "sensitive" in the API will not
  2588  // be included in the string output. The member name will be present, but the
  2589  // value will be replaced with "sensitive".
  2590  func (s CreatePackagingGroupOutput) String() string {
  2591  	return awsutil.Prettify(s)
  2592  }
  2593  
  2594  // GoString returns the string representation.
  2595  //
  2596  // API parameter values that are decorated as "sensitive" in the API will not
  2597  // be included in the string output. The member name will be present, but the
  2598  // value will be replaced with "sensitive".
  2599  func (s CreatePackagingGroupOutput) GoString() string {
  2600  	return s.String()
  2601  }
  2602  
  2603  // SetArn sets the Arn field's value.
  2604  func (s *CreatePackagingGroupOutput) SetArn(v string) *CreatePackagingGroupOutput {
  2605  	s.Arn = &v
  2606  	return s
  2607  }
  2608  
  2609  // SetAuthorization sets the Authorization field's value.
  2610  func (s *CreatePackagingGroupOutput) SetAuthorization(v *Authorization) *CreatePackagingGroupOutput {
  2611  	s.Authorization = v
  2612  	return s
  2613  }
  2614  
  2615  // SetDomainName sets the DomainName field's value.
  2616  func (s *CreatePackagingGroupOutput) SetDomainName(v string) *CreatePackagingGroupOutput {
  2617  	s.DomainName = &v
  2618  	return s
  2619  }
  2620  
  2621  // SetEgressAccessLogs sets the EgressAccessLogs field's value.
  2622  func (s *CreatePackagingGroupOutput) SetEgressAccessLogs(v *EgressAccessLogs) *CreatePackagingGroupOutput {
  2623  	s.EgressAccessLogs = v
  2624  	return s
  2625  }
  2626  
  2627  // SetId sets the Id field's value.
  2628  func (s *CreatePackagingGroupOutput) SetId(v string) *CreatePackagingGroupOutput {
  2629  	s.Id = &v
  2630  	return s
  2631  }
  2632  
  2633  // SetTags sets the Tags field's value.
  2634  func (s *CreatePackagingGroupOutput) SetTags(v map[string]*string) *CreatePackagingGroupOutput {
  2635  	s.Tags = v
  2636  	return s
  2637  }
  2638  
  2639  // A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.
  2640  type DashEncryption struct {
  2641  	_ struct{} `type:"structure"`
  2642  
  2643  	// A configuration for accessing an external Secure Packager and Encoder Key
  2644  	// Exchange (SPEKE) service that will provide encryption keys.
  2645  	//
  2646  	// SpekeKeyProvider is a required field
  2647  	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
  2648  }
  2649  
  2650  // String returns the string representation.
  2651  //
  2652  // API parameter values that are decorated as "sensitive" in the API will not
  2653  // be included in the string output. The member name will be present, but the
  2654  // value will be replaced with "sensitive".
  2655  func (s DashEncryption) String() string {
  2656  	return awsutil.Prettify(s)
  2657  }
  2658  
  2659  // GoString returns the string representation.
  2660  //
  2661  // API parameter values that are decorated as "sensitive" in the API will not
  2662  // be included in the string output. The member name will be present, but the
  2663  // value will be replaced with "sensitive".
  2664  func (s DashEncryption) GoString() string {
  2665  	return s.String()
  2666  }
  2667  
  2668  // Validate inspects the fields of the type to determine if they are valid.
  2669  func (s *DashEncryption) Validate() error {
  2670  	invalidParams := request.ErrInvalidParams{Context: "DashEncryption"}
  2671  	if s.SpekeKeyProvider == nil {
  2672  		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
  2673  	}
  2674  	if s.SpekeKeyProvider != nil {
  2675  		if err := s.SpekeKeyProvider.Validate(); err != nil {
  2676  			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
  2677  		}
  2678  	}
  2679  
  2680  	if invalidParams.Len() > 0 {
  2681  		return invalidParams
  2682  	}
  2683  	return nil
  2684  }
  2685  
  2686  // SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
  2687  func (s *DashEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *DashEncryption {
  2688  	s.SpekeKeyProvider = v
  2689  	return s
  2690  }
  2691  
  2692  // A DASH manifest configuration.
  2693  type DashManifest struct {
  2694  	_ struct{} `type:"structure"`
  2695  
  2696  	// Determines the position of some tags in the Media Presentation Description
  2697  	// (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection
  2698  	// are included in each Representation. When set to COMPACT, duplicate elements
  2699  	// are combined and presented at the AdaptationSet level.
  2700  	ManifestLayout *string `locationName:"manifestLayout" type:"string" enum:"ManifestLayout"`
  2701  
  2702  	// An optional string to include in the name of the manifest.
  2703  	ManifestName *string `locationName:"manifestName" type:"string"`
  2704  
  2705  	// Minimum duration (in seconds) that a player will buffer media before starting
  2706  	// the presentation.
  2707  	MinBufferTimeSeconds *int64 `locationName:"minBufferTimeSeconds" type:"integer"`
  2708  
  2709  	// The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to
  2710  	// "HBBTV_1_5", HbbTV 1.5 compliant output is enabled.
  2711  	Profile *string `locationName:"profile" type:"string" enum:"Profile"`
  2712  
  2713  	// A StreamSelection configuration.
  2714  	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
  2715  }
  2716  
  2717  // String returns the string representation.
  2718  //
  2719  // API parameter values that are decorated as "sensitive" in the API will not
  2720  // be included in the string output. The member name will be present, but the
  2721  // value will be replaced with "sensitive".
  2722  func (s DashManifest) String() string {
  2723  	return awsutil.Prettify(s)
  2724  }
  2725  
  2726  // GoString returns the string representation.
  2727  //
  2728  // API parameter values that are decorated as "sensitive" in the API will not
  2729  // be included in the string output. The member name will be present, but the
  2730  // value will be replaced with "sensitive".
  2731  func (s DashManifest) GoString() string {
  2732  	return s.String()
  2733  }
  2734  
  2735  // SetManifestLayout sets the ManifestLayout field's value.
  2736  func (s *DashManifest) SetManifestLayout(v string) *DashManifest {
  2737  	s.ManifestLayout = &v
  2738  	return s
  2739  }
  2740  
  2741  // SetManifestName sets the ManifestName field's value.
  2742  func (s *DashManifest) SetManifestName(v string) *DashManifest {
  2743  	s.ManifestName = &v
  2744  	return s
  2745  }
  2746  
  2747  // SetMinBufferTimeSeconds sets the MinBufferTimeSeconds field's value.
  2748  func (s *DashManifest) SetMinBufferTimeSeconds(v int64) *DashManifest {
  2749  	s.MinBufferTimeSeconds = &v
  2750  	return s
  2751  }
  2752  
  2753  // SetProfile sets the Profile field's value.
  2754  func (s *DashManifest) SetProfile(v string) *DashManifest {
  2755  	s.Profile = &v
  2756  	return s
  2757  }
  2758  
  2759  // SetStreamSelection sets the StreamSelection field's value.
  2760  func (s *DashManifest) SetStreamSelection(v *StreamSelection) *DashManifest {
  2761  	s.StreamSelection = v
  2762  	return s
  2763  }
  2764  
  2765  // A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
  2766  type DashPackage struct {
  2767  	_ struct{} `type:"structure"`
  2768  
  2769  	// A list of DASH manifest configurations.
  2770  	//
  2771  	// DashManifests is a required field
  2772  	DashManifests []*DashManifest `locationName:"dashManifests" type:"list" required:"true"`
  2773  
  2774  	// A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.
  2775  	Encryption *DashEncryption `locationName:"encryption" type:"structure"`
  2776  
  2777  	// When includeEncoderConfigurationInSegments is set to true, MediaPackage places
  2778  	// your encoder's Sequence Parameter Set (SPS), Picture Parameter Set (PPS),
  2779  	// and Video Parameter Set (VPS) metadata in every video segment instead of
  2780  	// in the init fragment. This lets you use different SPS/PPS/VPS settings for
  2781  	// your assets during content playback.
  2782  	IncludeEncoderConfigurationInSegments *bool `locationName:"includeEncoderConfigurationInSegments" type:"boolean"`
  2783  
  2784  	// A list of triggers that controls when the outgoing Dynamic Adaptive Streaming
  2785  	// over HTTP (DASH)Media Presentation Description (MPD) will be partitioned
  2786  	// into multiple periods. If empty, the content will notbe partitioned into
  2787  	// more than one period. If the list contains "ADS", new periods will be created
  2788  	// wherethe Asset contains SCTE-35 ad markers.
  2789  	PeriodTriggers []*string `locationName:"periodTriggers" type:"list"`
  2790  
  2791  	// Duration (in seconds) of each segment. Actual segments will berounded to
  2792  	// the nearest multiple of the source segment duration.
  2793  	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
  2794  
  2795  	// Determines the type of SegmentTemplate included in the Media Presentation
  2796  	// Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented
  2797  	// in each SegmentTemplate, with $Number$ media URLs. When set to TIME_WITH_TIMELINE,
  2798  	// a full timeline is presented in each SegmentTemplate, with $Time$ media URLs.
  2799  	// When set to NUMBER_WITH_DURATION, only a duration is included in each SegmentTemplate,
  2800  	// with $Number$ media URLs.
  2801  	SegmentTemplateFormat *string `locationName:"segmentTemplateFormat" type:"string" enum:"SegmentTemplateFormat"`
  2802  }
  2803  
  2804  // String returns the string representation.
  2805  //
  2806  // API parameter values that are decorated as "sensitive" in the API will not
  2807  // be included in the string output. The member name will be present, but the
  2808  // value will be replaced with "sensitive".
  2809  func (s DashPackage) String() string {
  2810  	return awsutil.Prettify(s)
  2811  }
  2812  
  2813  // GoString returns the string representation.
  2814  //
  2815  // API parameter values that are decorated as "sensitive" in the API will not
  2816  // be included in the string output. The member name will be present, but the
  2817  // value will be replaced with "sensitive".
  2818  func (s DashPackage) GoString() string {
  2819  	return s.String()
  2820  }
  2821  
  2822  // Validate inspects the fields of the type to determine if they are valid.
  2823  func (s *DashPackage) Validate() error {
  2824  	invalidParams := request.ErrInvalidParams{Context: "DashPackage"}
  2825  	if s.DashManifests == nil {
  2826  		invalidParams.Add(request.NewErrParamRequired("DashManifests"))
  2827  	}
  2828  	if s.Encryption != nil {
  2829  		if err := s.Encryption.Validate(); err != nil {
  2830  			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
  2831  		}
  2832  	}
  2833  
  2834  	if invalidParams.Len() > 0 {
  2835  		return invalidParams
  2836  	}
  2837  	return nil
  2838  }
  2839  
  2840  // SetDashManifests sets the DashManifests field's value.
  2841  func (s *DashPackage) SetDashManifests(v []*DashManifest) *DashPackage {
  2842  	s.DashManifests = v
  2843  	return s
  2844  }
  2845  
  2846  // SetEncryption sets the Encryption field's value.
  2847  func (s *DashPackage) SetEncryption(v *DashEncryption) *DashPackage {
  2848  	s.Encryption = v
  2849  	return s
  2850  }
  2851  
  2852  // SetIncludeEncoderConfigurationInSegments sets the IncludeEncoderConfigurationInSegments field's value.
  2853  func (s *DashPackage) SetIncludeEncoderConfigurationInSegments(v bool) *DashPackage {
  2854  	s.IncludeEncoderConfigurationInSegments = &v
  2855  	return s
  2856  }
  2857  
  2858  // SetPeriodTriggers sets the PeriodTriggers field's value.
  2859  func (s *DashPackage) SetPeriodTriggers(v []*string) *DashPackage {
  2860  	s.PeriodTriggers = v
  2861  	return s
  2862  }
  2863  
  2864  // SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
  2865  func (s *DashPackage) SetSegmentDurationSeconds(v int64) *DashPackage {
  2866  	s.SegmentDurationSeconds = &v
  2867  	return s
  2868  }
  2869  
  2870  // SetSegmentTemplateFormat sets the SegmentTemplateFormat field's value.
  2871  func (s *DashPackage) SetSegmentTemplateFormat(v string) *DashPackage {
  2872  	s.SegmentTemplateFormat = &v
  2873  	return s
  2874  }
  2875  
  2876  type DeleteAssetInput struct {
  2877  	_ struct{} `type:"structure" nopayload:"true"`
  2878  
  2879  	// Id is a required field
  2880  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  2881  }
  2882  
  2883  // String returns the string representation.
  2884  //
  2885  // API parameter values that are decorated as "sensitive" in the API will not
  2886  // be included in the string output. The member name will be present, but the
  2887  // value will be replaced with "sensitive".
  2888  func (s DeleteAssetInput) String() string {
  2889  	return awsutil.Prettify(s)
  2890  }
  2891  
  2892  // GoString returns the string representation.
  2893  //
  2894  // API parameter values that are decorated as "sensitive" in the API will not
  2895  // be included in the string output. The member name will be present, but the
  2896  // value will be replaced with "sensitive".
  2897  func (s DeleteAssetInput) GoString() string {
  2898  	return s.String()
  2899  }
  2900  
  2901  // Validate inspects the fields of the type to determine if they are valid.
  2902  func (s *DeleteAssetInput) Validate() error {
  2903  	invalidParams := request.ErrInvalidParams{Context: "DeleteAssetInput"}
  2904  	if s.Id == nil {
  2905  		invalidParams.Add(request.NewErrParamRequired("Id"))
  2906  	}
  2907  	if s.Id != nil && len(*s.Id) < 1 {
  2908  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  2909  	}
  2910  
  2911  	if invalidParams.Len() > 0 {
  2912  		return invalidParams
  2913  	}
  2914  	return nil
  2915  }
  2916  
  2917  // SetId sets the Id field's value.
  2918  func (s *DeleteAssetInput) SetId(v string) *DeleteAssetInput {
  2919  	s.Id = &v
  2920  	return s
  2921  }
  2922  
  2923  type DeleteAssetOutput struct {
  2924  	_ struct{} `type:"structure" nopayload:"true"`
  2925  }
  2926  
  2927  // String returns the string representation.
  2928  //
  2929  // API parameter values that are decorated as "sensitive" in the API will not
  2930  // be included in the string output. The member name will be present, but the
  2931  // value will be replaced with "sensitive".
  2932  func (s DeleteAssetOutput) String() string {
  2933  	return awsutil.Prettify(s)
  2934  }
  2935  
  2936  // GoString returns the string representation.
  2937  //
  2938  // API parameter values that are decorated as "sensitive" in the API will not
  2939  // be included in the string output. The member name will be present, but the
  2940  // value will be replaced with "sensitive".
  2941  func (s DeleteAssetOutput) GoString() string {
  2942  	return s.String()
  2943  }
  2944  
  2945  type DeletePackagingConfigurationInput struct {
  2946  	_ struct{} `type:"structure" nopayload:"true"`
  2947  
  2948  	// Id is a required field
  2949  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  2950  }
  2951  
  2952  // String returns the string representation.
  2953  //
  2954  // API parameter values that are decorated as "sensitive" in the API will not
  2955  // be included in the string output. The member name will be present, but the
  2956  // value will be replaced with "sensitive".
  2957  func (s DeletePackagingConfigurationInput) String() string {
  2958  	return awsutil.Prettify(s)
  2959  }
  2960  
  2961  // GoString returns the string representation.
  2962  //
  2963  // API parameter values that are decorated as "sensitive" in the API will not
  2964  // be included in the string output. The member name will be present, but the
  2965  // value will be replaced with "sensitive".
  2966  func (s DeletePackagingConfigurationInput) GoString() string {
  2967  	return s.String()
  2968  }
  2969  
  2970  // Validate inspects the fields of the type to determine if they are valid.
  2971  func (s *DeletePackagingConfigurationInput) Validate() error {
  2972  	invalidParams := request.ErrInvalidParams{Context: "DeletePackagingConfigurationInput"}
  2973  	if s.Id == nil {
  2974  		invalidParams.Add(request.NewErrParamRequired("Id"))
  2975  	}
  2976  	if s.Id != nil && len(*s.Id) < 1 {
  2977  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  2978  	}
  2979  
  2980  	if invalidParams.Len() > 0 {
  2981  		return invalidParams
  2982  	}
  2983  	return nil
  2984  }
  2985  
  2986  // SetId sets the Id field's value.
  2987  func (s *DeletePackagingConfigurationInput) SetId(v string) *DeletePackagingConfigurationInput {
  2988  	s.Id = &v
  2989  	return s
  2990  }
  2991  
  2992  type DeletePackagingConfigurationOutput struct {
  2993  	_ struct{} `type:"structure" nopayload:"true"`
  2994  }
  2995  
  2996  // String returns the string representation.
  2997  //
  2998  // API parameter values that are decorated as "sensitive" in the API will not
  2999  // be included in the string output. The member name will be present, but the
  3000  // value will be replaced with "sensitive".
  3001  func (s DeletePackagingConfigurationOutput) String() string {
  3002  	return awsutil.Prettify(s)
  3003  }
  3004  
  3005  // GoString returns the string representation.
  3006  //
  3007  // API parameter values that are decorated as "sensitive" in the API will not
  3008  // be included in the string output. The member name will be present, but the
  3009  // value will be replaced with "sensitive".
  3010  func (s DeletePackagingConfigurationOutput) GoString() string {
  3011  	return s.String()
  3012  }
  3013  
  3014  type DeletePackagingGroupInput struct {
  3015  	_ struct{} `type:"structure" nopayload:"true"`
  3016  
  3017  	// Id is a required field
  3018  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  3019  }
  3020  
  3021  // String returns the string representation.
  3022  //
  3023  // API parameter values that are decorated as "sensitive" in the API will not
  3024  // be included in the string output. The member name will be present, but the
  3025  // value will be replaced with "sensitive".
  3026  func (s DeletePackagingGroupInput) String() string {
  3027  	return awsutil.Prettify(s)
  3028  }
  3029  
  3030  // GoString returns the string representation.
  3031  //
  3032  // API parameter values that are decorated as "sensitive" in the API will not
  3033  // be included in the string output. The member name will be present, but the
  3034  // value will be replaced with "sensitive".
  3035  func (s DeletePackagingGroupInput) GoString() string {
  3036  	return s.String()
  3037  }
  3038  
  3039  // Validate inspects the fields of the type to determine if they are valid.
  3040  func (s *DeletePackagingGroupInput) Validate() error {
  3041  	invalidParams := request.ErrInvalidParams{Context: "DeletePackagingGroupInput"}
  3042  	if s.Id == nil {
  3043  		invalidParams.Add(request.NewErrParamRequired("Id"))
  3044  	}
  3045  	if s.Id != nil && len(*s.Id) < 1 {
  3046  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  3047  	}
  3048  
  3049  	if invalidParams.Len() > 0 {
  3050  		return invalidParams
  3051  	}
  3052  	return nil
  3053  }
  3054  
  3055  // SetId sets the Id field's value.
  3056  func (s *DeletePackagingGroupInput) SetId(v string) *DeletePackagingGroupInput {
  3057  	s.Id = &v
  3058  	return s
  3059  }
  3060  
  3061  type DeletePackagingGroupOutput struct {
  3062  	_ struct{} `type:"structure" nopayload:"true"`
  3063  }
  3064  
  3065  // String returns the string representation.
  3066  //
  3067  // API parameter values that are decorated as "sensitive" in the API will not
  3068  // be included in the string output. The member name will be present, but the
  3069  // value will be replaced with "sensitive".
  3070  func (s DeletePackagingGroupOutput) String() string {
  3071  	return awsutil.Prettify(s)
  3072  }
  3073  
  3074  // GoString returns the string representation.
  3075  //
  3076  // API parameter values that are decorated as "sensitive" in the API will not
  3077  // be included in the string output. The member name will be present, but the
  3078  // value will be replaced with "sensitive".
  3079  func (s DeletePackagingGroupOutput) GoString() string {
  3080  	return s.String()
  3081  }
  3082  
  3083  type DescribeAssetInput struct {
  3084  	_ struct{} `type:"structure" nopayload:"true"`
  3085  
  3086  	// Id is a required field
  3087  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  3088  }
  3089  
  3090  // String returns the string representation.
  3091  //
  3092  // API parameter values that are decorated as "sensitive" in the API will not
  3093  // be included in the string output. The member name will be present, but the
  3094  // value will be replaced with "sensitive".
  3095  func (s DescribeAssetInput) String() string {
  3096  	return awsutil.Prettify(s)
  3097  }
  3098  
  3099  // GoString returns the string representation.
  3100  //
  3101  // API parameter values that are decorated as "sensitive" in the API will not
  3102  // be included in the string output. The member name will be present, but the
  3103  // value will be replaced with "sensitive".
  3104  func (s DescribeAssetInput) GoString() string {
  3105  	return s.String()
  3106  }
  3107  
  3108  // Validate inspects the fields of the type to determine if they are valid.
  3109  func (s *DescribeAssetInput) Validate() error {
  3110  	invalidParams := request.ErrInvalidParams{Context: "DescribeAssetInput"}
  3111  	if s.Id == nil {
  3112  		invalidParams.Add(request.NewErrParamRequired("Id"))
  3113  	}
  3114  	if s.Id != nil && len(*s.Id) < 1 {
  3115  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  3116  	}
  3117  
  3118  	if invalidParams.Len() > 0 {
  3119  		return invalidParams
  3120  	}
  3121  	return nil
  3122  }
  3123  
  3124  // SetId sets the Id field's value.
  3125  func (s *DescribeAssetInput) SetId(v string) *DescribeAssetInput {
  3126  	s.Id = &v
  3127  	return s
  3128  }
  3129  
  3130  type DescribeAssetOutput struct {
  3131  	_ struct{} `type:"structure"`
  3132  
  3133  	Arn *string `locationName:"arn" type:"string"`
  3134  
  3135  	CreatedAt *string `locationName:"createdAt" type:"string"`
  3136  
  3137  	EgressEndpoints []*EgressEndpoint `locationName:"egressEndpoints" type:"list"`
  3138  
  3139  	Id *string `locationName:"id" type:"string"`
  3140  
  3141  	PackagingGroupId *string `locationName:"packagingGroupId" type:"string"`
  3142  
  3143  	ResourceId *string `locationName:"resourceId" type:"string"`
  3144  
  3145  	SourceArn *string `locationName:"sourceArn" type:"string"`
  3146  
  3147  	SourceRoleArn *string `locationName:"sourceRoleArn" type:"string"`
  3148  
  3149  	// A collection of tags associated with a resource
  3150  	Tags map[string]*string `locationName:"tags" type:"map"`
  3151  }
  3152  
  3153  // String returns the string representation.
  3154  //
  3155  // API parameter values that are decorated as "sensitive" in the API will not
  3156  // be included in the string output. The member name will be present, but the
  3157  // value will be replaced with "sensitive".
  3158  func (s DescribeAssetOutput) String() string {
  3159  	return awsutil.Prettify(s)
  3160  }
  3161  
  3162  // GoString returns the string representation.
  3163  //
  3164  // API parameter values that are decorated as "sensitive" in the API will not
  3165  // be included in the string output. The member name will be present, but the
  3166  // value will be replaced with "sensitive".
  3167  func (s DescribeAssetOutput) GoString() string {
  3168  	return s.String()
  3169  }
  3170  
  3171  // SetArn sets the Arn field's value.
  3172  func (s *DescribeAssetOutput) SetArn(v string) *DescribeAssetOutput {
  3173  	s.Arn = &v
  3174  	return s
  3175  }
  3176  
  3177  // SetCreatedAt sets the CreatedAt field's value.
  3178  func (s *DescribeAssetOutput) SetCreatedAt(v string) *DescribeAssetOutput {
  3179  	s.CreatedAt = &v
  3180  	return s
  3181  }
  3182  
  3183  // SetEgressEndpoints sets the EgressEndpoints field's value.
  3184  func (s *DescribeAssetOutput) SetEgressEndpoints(v []*EgressEndpoint) *DescribeAssetOutput {
  3185  	s.EgressEndpoints = v
  3186  	return s
  3187  }
  3188  
  3189  // SetId sets the Id field's value.
  3190  func (s *DescribeAssetOutput) SetId(v string) *DescribeAssetOutput {
  3191  	s.Id = &v
  3192  	return s
  3193  }
  3194  
  3195  // SetPackagingGroupId sets the PackagingGroupId field's value.
  3196  func (s *DescribeAssetOutput) SetPackagingGroupId(v string) *DescribeAssetOutput {
  3197  	s.PackagingGroupId = &v
  3198  	return s
  3199  }
  3200  
  3201  // SetResourceId sets the ResourceId field's value.
  3202  func (s *DescribeAssetOutput) SetResourceId(v string) *DescribeAssetOutput {
  3203  	s.ResourceId = &v
  3204  	return s
  3205  }
  3206  
  3207  // SetSourceArn sets the SourceArn field's value.
  3208  func (s *DescribeAssetOutput) SetSourceArn(v string) *DescribeAssetOutput {
  3209  	s.SourceArn = &v
  3210  	return s
  3211  }
  3212  
  3213  // SetSourceRoleArn sets the SourceRoleArn field's value.
  3214  func (s *DescribeAssetOutput) SetSourceRoleArn(v string) *DescribeAssetOutput {
  3215  	s.SourceRoleArn = &v
  3216  	return s
  3217  }
  3218  
  3219  // SetTags sets the Tags field's value.
  3220  func (s *DescribeAssetOutput) SetTags(v map[string]*string) *DescribeAssetOutput {
  3221  	s.Tags = v
  3222  	return s
  3223  }
  3224  
  3225  type DescribePackagingConfigurationInput struct {
  3226  	_ struct{} `type:"structure" nopayload:"true"`
  3227  
  3228  	// Id is a required field
  3229  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  3230  }
  3231  
  3232  // String returns the string representation.
  3233  //
  3234  // API parameter values that are decorated as "sensitive" in the API will not
  3235  // be included in the string output. The member name will be present, but the
  3236  // value will be replaced with "sensitive".
  3237  func (s DescribePackagingConfigurationInput) String() string {
  3238  	return awsutil.Prettify(s)
  3239  }
  3240  
  3241  // GoString returns the string representation.
  3242  //
  3243  // API parameter values that are decorated as "sensitive" in the API will not
  3244  // be included in the string output. The member name will be present, but the
  3245  // value will be replaced with "sensitive".
  3246  func (s DescribePackagingConfigurationInput) GoString() string {
  3247  	return s.String()
  3248  }
  3249  
  3250  // Validate inspects the fields of the type to determine if they are valid.
  3251  func (s *DescribePackagingConfigurationInput) Validate() error {
  3252  	invalidParams := request.ErrInvalidParams{Context: "DescribePackagingConfigurationInput"}
  3253  	if s.Id == nil {
  3254  		invalidParams.Add(request.NewErrParamRequired("Id"))
  3255  	}
  3256  	if s.Id != nil && len(*s.Id) < 1 {
  3257  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  3258  	}
  3259  
  3260  	if invalidParams.Len() > 0 {
  3261  		return invalidParams
  3262  	}
  3263  	return nil
  3264  }
  3265  
  3266  // SetId sets the Id field's value.
  3267  func (s *DescribePackagingConfigurationInput) SetId(v string) *DescribePackagingConfigurationInput {
  3268  	s.Id = &v
  3269  	return s
  3270  }
  3271  
  3272  type DescribePackagingConfigurationOutput struct {
  3273  	_ struct{} `type:"structure"`
  3274  
  3275  	Arn *string `locationName:"arn" type:"string"`
  3276  
  3277  	// A CMAF packaging configuration.
  3278  	CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"`
  3279  
  3280  	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
  3281  	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
  3282  
  3283  	// An HTTP Live Streaming (HLS) packaging configuration.
  3284  	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
  3285  
  3286  	Id *string `locationName:"id" type:"string"`
  3287  
  3288  	// A Microsoft Smooth Streaming (MSS) PackagingConfiguration.
  3289  	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
  3290  
  3291  	PackagingGroupId *string `locationName:"packagingGroupId" type:"string"`
  3292  
  3293  	// A collection of tags associated with a resource
  3294  	Tags map[string]*string `locationName:"tags" type:"map"`
  3295  }
  3296  
  3297  // String returns the string representation.
  3298  //
  3299  // API parameter values that are decorated as "sensitive" in the API will not
  3300  // be included in the string output. The member name will be present, but the
  3301  // value will be replaced with "sensitive".
  3302  func (s DescribePackagingConfigurationOutput) String() string {
  3303  	return awsutil.Prettify(s)
  3304  }
  3305  
  3306  // GoString returns the string representation.
  3307  //
  3308  // API parameter values that are decorated as "sensitive" in the API will not
  3309  // be included in the string output. The member name will be present, but the
  3310  // value will be replaced with "sensitive".
  3311  func (s DescribePackagingConfigurationOutput) GoString() string {
  3312  	return s.String()
  3313  }
  3314  
  3315  // SetArn sets the Arn field's value.
  3316  func (s *DescribePackagingConfigurationOutput) SetArn(v string) *DescribePackagingConfigurationOutput {
  3317  	s.Arn = &v
  3318  	return s
  3319  }
  3320  
  3321  // SetCmafPackage sets the CmafPackage field's value.
  3322  func (s *DescribePackagingConfigurationOutput) SetCmafPackage(v *CmafPackage) *DescribePackagingConfigurationOutput {
  3323  	s.CmafPackage = v
  3324  	return s
  3325  }
  3326  
  3327  // SetDashPackage sets the DashPackage field's value.
  3328  func (s *DescribePackagingConfigurationOutput) SetDashPackage(v *DashPackage) *DescribePackagingConfigurationOutput {
  3329  	s.DashPackage = v
  3330  	return s
  3331  }
  3332  
  3333  // SetHlsPackage sets the HlsPackage field's value.
  3334  func (s *DescribePackagingConfigurationOutput) SetHlsPackage(v *HlsPackage) *DescribePackagingConfigurationOutput {
  3335  	s.HlsPackage = v
  3336  	return s
  3337  }
  3338  
  3339  // SetId sets the Id field's value.
  3340  func (s *DescribePackagingConfigurationOutput) SetId(v string) *DescribePackagingConfigurationOutput {
  3341  	s.Id = &v
  3342  	return s
  3343  }
  3344  
  3345  // SetMssPackage sets the MssPackage field's value.
  3346  func (s *DescribePackagingConfigurationOutput) SetMssPackage(v *MssPackage) *DescribePackagingConfigurationOutput {
  3347  	s.MssPackage = v
  3348  	return s
  3349  }
  3350  
  3351  // SetPackagingGroupId sets the PackagingGroupId field's value.
  3352  func (s *DescribePackagingConfigurationOutput) SetPackagingGroupId(v string) *DescribePackagingConfigurationOutput {
  3353  	s.PackagingGroupId = &v
  3354  	return s
  3355  }
  3356  
  3357  // SetTags sets the Tags field's value.
  3358  func (s *DescribePackagingConfigurationOutput) SetTags(v map[string]*string) *DescribePackagingConfigurationOutput {
  3359  	s.Tags = v
  3360  	return s
  3361  }
  3362  
  3363  type DescribePackagingGroupInput struct {
  3364  	_ struct{} `type:"structure" nopayload:"true"`
  3365  
  3366  	// Id is a required field
  3367  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  3368  }
  3369  
  3370  // String returns the string representation.
  3371  //
  3372  // API parameter values that are decorated as "sensitive" in the API will not
  3373  // be included in the string output. The member name will be present, but the
  3374  // value will be replaced with "sensitive".
  3375  func (s DescribePackagingGroupInput) String() string {
  3376  	return awsutil.Prettify(s)
  3377  }
  3378  
  3379  // GoString returns the string representation.
  3380  //
  3381  // API parameter values that are decorated as "sensitive" in the API will not
  3382  // be included in the string output. The member name will be present, but the
  3383  // value will be replaced with "sensitive".
  3384  func (s DescribePackagingGroupInput) GoString() string {
  3385  	return s.String()
  3386  }
  3387  
  3388  // Validate inspects the fields of the type to determine if they are valid.
  3389  func (s *DescribePackagingGroupInput) Validate() error {
  3390  	invalidParams := request.ErrInvalidParams{Context: "DescribePackagingGroupInput"}
  3391  	if s.Id == nil {
  3392  		invalidParams.Add(request.NewErrParamRequired("Id"))
  3393  	}
  3394  	if s.Id != nil && len(*s.Id) < 1 {
  3395  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  3396  	}
  3397  
  3398  	if invalidParams.Len() > 0 {
  3399  		return invalidParams
  3400  	}
  3401  	return nil
  3402  }
  3403  
  3404  // SetId sets the Id field's value.
  3405  func (s *DescribePackagingGroupInput) SetId(v string) *DescribePackagingGroupInput {
  3406  	s.Id = &v
  3407  	return s
  3408  }
  3409  
  3410  type DescribePackagingGroupOutput struct {
  3411  	_ struct{} `type:"structure"`
  3412  
  3413  	Arn *string `locationName:"arn" type:"string"`
  3414  
  3415  	// CDN Authorization credentials
  3416  	Authorization *Authorization `locationName:"authorization" type:"structure"`
  3417  
  3418  	DomainName *string `locationName:"domainName" type:"string"`
  3419  
  3420  	// Configure egress access logging.
  3421  	EgressAccessLogs *EgressAccessLogs `locationName:"egressAccessLogs" type:"structure"`
  3422  
  3423  	Id *string `locationName:"id" type:"string"`
  3424  
  3425  	// A collection of tags associated with a resource
  3426  	Tags map[string]*string `locationName:"tags" type:"map"`
  3427  }
  3428  
  3429  // String returns the string representation.
  3430  //
  3431  // API parameter values that are decorated as "sensitive" in the API will not
  3432  // be included in the string output. The member name will be present, but the
  3433  // value will be replaced with "sensitive".
  3434  func (s DescribePackagingGroupOutput) String() string {
  3435  	return awsutil.Prettify(s)
  3436  }
  3437  
  3438  // GoString returns the string representation.
  3439  //
  3440  // API parameter values that are decorated as "sensitive" in the API will not
  3441  // be included in the string output. The member name will be present, but the
  3442  // value will be replaced with "sensitive".
  3443  func (s DescribePackagingGroupOutput) GoString() string {
  3444  	return s.String()
  3445  }
  3446  
  3447  // SetArn sets the Arn field's value.
  3448  func (s *DescribePackagingGroupOutput) SetArn(v string) *DescribePackagingGroupOutput {
  3449  	s.Arn = &v
  3450  	return s
  3451  }
  3452  
  3453  // SetAuthorization sets the Authorization field's value.
  3454  func (s *DescribePackagingGroupOutput) SetAuthorization(v *Authorization) *DescribePackagingGroupOutput {
  3455  	s.Authorization = v
  3456  	return s
  3457  }
  3458  
  3459  // SetDomainName sets the DomainName field's value.
  3460  func (s *DescribePackagingGroupOutput) SetDomainName(v string) *DescribePackagingGroupOutput {
  3461  	s.DomainName = &v
  3462  	return s
  3463  }
  3464  
  3465  // SetEgressAccessLogs sets the EgressAccessLogs field's value.
  3466  func (s *DescribePackagingGroupOutput) SetEgressAccessLogs(v *EgressAccessLogs) *DescribePackagingGroupOutput {
  3467  	s.EgressAccessLogs = v
  3468  	return s
  3469  }
  3470  
  3471  // SetId sets the Id field's value.
  3472  func (s *DescribePackagingGroupOutput) SetId(v string) *DescribePackagingGroupOutput {
  3473  	s.Id = &v
  3474  	return s
  3475  }
  3476  
  3477  // SetTags sets the Tags field's value.
  3478  func (s *DescribePackagingGroupOutput) SetTags(v map[string]*string) *DescribePackagingGroupOutput {
  3479  	s.Tags = v
  3480  	return s
  3481  }
  3482  
  3483  // Configure egress access logging.
  3484  type EgressAccessLogs struct {
  3485  	_ struct{} `type:"structure"`
  3486  
  3487  	// Customize the log group name.
  3488  	LogGroupName *string `locationName:"logGroupName" type:"string"`
  3489  }
  3490  
  3491  // String returns the string representation.
  3492  //
  3493  // API parameter values that are decorated as "sensitive" in the API will not
  3494  // be included in the string output. The member name will be present, but the
  3495  // value will be replaced with "sensitive".
  3496  func (s EgressAccessLogs) String() string {
  3497  	return awsutil.Prettify(s)
  3498  }
  3499  
  3500  // GoString returns the string representation.
  3501  //
  3502  // API parameter values that are decorated as "sensitive" in the API will not
  3503  // be included in the string output. The member name will be present, but the
  3504  // value will be replaced with "sensitive".
  3505  func (s EgressAccessLogs) GoString() string {
  3506  	return s.String()
  3507  }
  3508  
  3509  // SetLogGroupName sets the LogGroupName field's value.
  3510  func (s *EgressAccessLogs) SetLogGroupName(v string) *EgressAccessLogs {
  3511  	s.LogGroupName = &v
  3512  	return s
  3513  }
  3514  
  3515  // The endpoint URL used to access an Asset using one PackagingConfiguration.
  3516  type EgressEndpoint struct {
  3517  	_ struct{} `type:"structure"`
  3518  
  3519  	// The ID of the PackagingConfiguration being applied to the Asset.
  3520  	PackagingConfigurationId *string `locationName:"packagingConfigurationId" type:"string"`
  3521  
  3522  	// The current processing status of the asset used for the packaging configuration.
  3523  	// The status can be either QUEUED, PROCESSING, PLAYABLE, or FAILED. Status
  3524  	// information won't be available for most assets ingested before 2021-09-30.
  3525  	Status *string `locationName:"status" type:"string"`
  3526  
  3527  	// The URL of the parent manifest for the repackaged Asset.
  3528  	Url *string `locationName:"url" type:"string"`
  3529  }
  3530  
  3531  // String returns the string representation.
  3532  //
  3533  // API parameter values that are decorated as "sensitive" in the API will not
  3534  // be included in the string output. The member name will be present, but the
  3535  // value will be replaced with "sensitive".
  3536  func (s EgressEndpoint) String() string {
  3537  	return awsutil.Prettify(s)
  3538  }
  3539  
  3540  // GoString returns the string representation.
  3541  //
  3542  // API parameter values that are decorated as "sensitive" in the API will not
  3543  // be included in the string output. The member name will be present, but the
  3544  // value will be replaced with "sensitive".
  3545  func (s EgressEndpoint) GoString() string {
  3546  	return s.String()
  3547  }
  3548  
  3549  // SetPackagingConfigurationId sets the PackagingConfigurationId field's value.
  3550  func (s *EgressEndpoint) SetPackagingConfigurationId(v string) *EgressEndpoint {
  3551  	s.PackagingConfigurationId = &v
  3552  	return s
  3553  }
  3554  
  3555  // SetStatus sets the Status field's value.
  3556  func (s *EgressEndpoint) SetStatus(v string) *EgressEndpoint {
  3557  	s.Status = &v
  3558  	return s
  3559  }
  3560  
  3561  // SetUrl sets the Url field's value.
  3562  func (s *EgressEndpoint) SetUrl(v string) *EgressEndpoint {
  3563  	s.Url = &v
  3564  	return s
  3565  }
  3566  
  3567  type ForbiddenException struct {
  3568  	_            struct{}                  `type:"structure"`
  3569  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3570  
  3571  	Message_ *string `locationName:"message" type:"string"`
  3572  }
  3573  
  3574  // String returns the string representation.
  3575  //
  3576  // API parameter values that are decorated as "sensitive" in the API will not
  3577  // be included in the string output. The member name will be present, but the
  3578  // value will be replaced with "sensitive".
  3579  func (s ForbiddenException) String() string {
  3580  	return awsutil.Prettify(s)
  3581  }
  3582  
  3583  // GoString returns the string representation.
  3584  //
  3585  // API parameter values that are decorated as "sensitive" in the API will not
  3586  // be included in the string output. The member name will be present, but the
  3587  // value will be replaced with "sensitive".
  3588  func (s ForbiddenException) GoString() string {
  3589  	return s.String()
  3590  }
  3591  
  3592  func newErrorForbiddenException(v protocol.ResponseMetadata) error {
  3593  	return &ForbiddenException{
  3594  		RespMetadata: v,
  3595  	}
  3596  }
  3597  
  3598  // Code returns the exception type name.
  3599  func (s *ForbiddenException) Code() string {
  3600  	return "ForbiddenException"
  3601  }
  3602  
  3603  // Message returns the exception's message.
  3604  func (s *ForbiddenException) Message() string {
  3605  	if s.Message_ != nil {
  3606  		return *s.Message_
  3607  	}
  3608  	return ""
  3609  }
  3610  
  3611  // OrigErr always returns nil, satisfies awserr.Error interface.
  3612  func (s *ForbiddenException) OrigErr() error {
  3613  	return nil
  3614  }
  3615  
  3616  func (s *ForbiddenException) Error() string {
  3617  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3618  }
  3619  
  3620  // Status code returns the HTTP status code for the request's response error.
  3621  func (s *ForbiddenException) StatusCode() int {
  3622  	return s.RespMetadata.StatusCode
  3623  }
  3624  
  3625  // RequestID returns the service's response RequestID for request.
  3626  func (s *ForbiddenException) RequestID() string {
  3627  	return s.RespMetadata.RequestID
  3628  }
  3629  
  3630  // An HTTP Live Streaming (HLS) encryption configuration.
  3631  type HlsEncryption struct {
  3632  	_ struct{} `type:"structure"`
  3633  
  3634  	// A constant initialization vector for encryption (optional).When not specified
  3635  	// the initialization vector will be periodically rotated.
  3636  	ConstantInitializationVector *string `locationName:"constantInitializationVector" type:"string"`
  3637  
  3638  	// The encryption method to use.
  3639  	EncryptionMethod *string `locationName:"encryptionMethod" type:"string" enum:"EncryptionMethod"`
  3640  
  3641  	// A configuration for accessing an external Secure Packager and Encoder Key
  3642  	// Exchange (SPEKE) service that will provide encryption keys.
  3643  	//
  3644  	// SpekeKeyProvider is a required field
  3645  	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
  3646  }
  3647  
  3648  // String returns the string representation.
  3649  //
  3650  // API parameter values that are decorated as "sensitive" in the API will not
  3651  // be included in the string output. The member name will be present, but the
  3652  // value will be replaced with "sensitive".
  3653  func (s HlsEncryption) String() string {
  3654  	return awsutil.Prettify(s)
  3655  }
  3656  
  3657  // GoString returns the string representation.
  3658  //
  3659  // API parameter values that are decorated as "sensitive" in the API will not
  3660  // be included in the string output. The member name will be present, but the
  3661  // value will be replaced with "sensitive".
  3662  func (s HlsEncryption) GoString() string {
  3663  	return s.String()
  3664  }
  3665  
  3666  // Validate inspects the fields of the type to determine if they are valid.
  3667  func (s *HlsEncryption) Validate() error {
  3668  	invalidParams := request.ErrInvalidParams{Context: "HlsEncryption"}
  3669  	if s.SpekeKeyProvider == nil {
  3670  		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
  3671  	}
  3672  	if s.SpekeKeyProvider != nil {
  3673  		if err := s.SpekeKeyProvider.Validate(); err != nil {
  3674  			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
  3675  		}
  3676  	}
  3677  
  3678  	if invalidParams.Len() > 0 {
  3679  		return invalidParams
  3680  	}
  3681  	return nil
  3682  }
  3683  
  3684  // SetConstantInitializationVector sets the ConstantInitializationVector field's value.
  3685  func (s *HlsEncryption) SetConstantInitializationVector(v string) *HlsEncryption {
  3686  	s.ConstantInitializationVector = &v
  3687  	return s
  3688  }
  3689  
  3690  // SetEncryptionMethod sets the EncryptionMethod field's value.
  3691  func (s *HlsEncryption) SetEncryptionMethod(v string) *HlsEncryption {
  3692  	s.EncryptionMethod = &v
  3693  	return s
  3694  }
  3695  
  3696  // SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
  3697  func (s *HlsEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *HlsEncryption {
  3698  	s.SpekeKeyProvider = v
  3699  	return s
  3700  }
  3701  
  3702  // An HTTP Live Streaming (HLS) manifest configuration.
  3703  type HlsManifest struct {
  3704  	_ struct{} `type:"structure"`
  3705  
  3706  	// This setting controls how ad markers are included in the packaged OriginEndpoint."NONE"
  3707  	// will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the
  3708  	// manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly
  3709  	// from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates
  3710  	// ad markers and blackout tags based on SCTE-35messages in the input source.
  3711  	AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"`
  3712  
  3713  	// When enabled, an I-Frame only stream will be included in the output.
  3714  	IncludeIframeOnlyStream *bool `locationName:"includeIframeOnlyStream" type:"boolean"`
  3715  
  3716  	// An optional string to include in the name of the manifest.
  3717  	ManifestName *string `locationName:"manifestName" type:"string"`
  3718  
  3719  	// The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME taginserted
  3720  	// into manifests. Additionally, when an interval is specifiedID3Timed Metadata
  3721  	// messages will be generated every 5 seconds using theingest time of the content.If
  3722  	// the interval is not specified, or set to 0, thenno EXT-X-PROGRAM-DATE-TIME
  3723  	// tags will be inserted into manifests and noID3Timed Metadata messages will
  3724  	// be generated. Note that irrespectiveof this parameter, if any ID3 Timed Metadata
  3725  	// is found in HTTP Live Streaming (HLS) input,it will be passed through to
  3726  	// HLS output.
  3727  	ProgramDateTimeIntervalSeconds *int64 `locationName:"programDateTimeIntervalSeconds" type:"integer"`
  3728  
  3729  	// When enabled, the EXT-X-KEY tag will be repeated in output manifests.
  3730  	RepeatExtXKey *bool `locationName:"repeatExtXKey" type:"boolean"`
  3731  
  3732  	// A StreamSelection configuration.
  3733  	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
  3734  }
  3735  
  3736  // String returns the string representation.
  3737  //
  3738  // API parameter values that are decorated as "sensitive" in the API will not
  3739  // be included in the string output. The member name will be present, but the
  3740  // value will be replaced with "sensitive".
  3741  func (s HlsManifest) String() string {
  3742  	return awsutil.Prettify(s)
  3743  }
  3744  
  3745  // GoString returns the string representation.
  3746  //
  3747  // API parameter values that are decorated as "sensitive" in the API will not
  3748  // be included in the string output. The member name will be present, but the
  3749  // value will be replaced with "sensitive".
  3750  func (s HlsManifest) GoString() string {
  3751  	return s.String()
  3752  }
  3753  
  3754  // SetAdMarkers sets the AdMarkers field's value.
  3755  func (s *HlsManifest) SetAdMarkers(v string) *HlsManifest {
  3756  	s.AdMarkers = &v
  3757  	return s
  3758  }
  3759  
  3760  // SetIncludeIframeOnlyStream sets the IncludeIframeOnlyStream field's value.
  3761  func (s *HlsManifest) SetIncludeIframeOnlyStream(v bool) *HlsManifest {
  3762  	s.IncludeIframeOnlyStream = &v
  3763  	return s
  3764  }
  3765  
  3766  // SetManifestName sets the ManifestName field's value.
  3767  func (s *HlsManifest) SetManifestName(v string) *HlsManifest {
  3768  	s.ManifestName = &v
  3769  	return s
  3770  }
  3771  
  3772  // SetProgramDateTimeIntervalSeconds sets the ProgramDateTimeIntervalSeconds field's value.
  3773  func (s *HlsManifest) SetProgramDateTimeIntervalSeconds(v int64) *HlsManifest {
  3774  	s.ProgramDateTimeIntervalSeconds = &v
  3775  	return s
  3776  }
  3777  
  3778  // SetRepeatExtXKey sets the RepeatExtXKey field's value.
  3779  func (s *HlsManifest) SetRepeatExtXKey(v bool) *HlsManifest {
  3780  	s.RepeatExtXKey = &v
  3781  	return s
  3782  }
  3783  
  3784  // SetStreamSelection sets the StreamSelection field's value.
  3785  func (s *HlsManifest) SetStreamSelection(v *StreamSelection) *HlsManifest {
  3786  	s.StreamSelection = v
  3787  	return s
  3788  }
  3789  
  3790  // An HTTP Live Streaming (HLS) packaging configuration.
  3791  type HlsPackage struct {
  3792  	_ struct{} `type:"structure"`
  3793  
  3794  	// An HTTP Live Streaming (HLS) encryption configuration.
  3795  	Encryption *HlsEncryption `locationName:"encryption" type:"structure"`
  3796  
  3797  	// A list of HLS manifest configurations.
  3798  	//
  3799  	// HlsManifests is a required field
  3800  	HlsManifests []*HlsManifest `locationName:"hlsManifests" type:"list" required:"true"`
  3801  
  3802  	// Duration (in seconds) of each fragment. Actual fragments will berounded to
  3803  	// the nearest multiple of the source fragment duration.
  3804  	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
  3805  
  3806  	// When enabled, audio streams will be placed in rendition groups in the output.
  3807  	UseAudioRenditionGroup *bool `locationName:"useAudioRenditionGroup" type:"boolean"`
  3808  }
  3809  
  3810  // String returns the string representation.
  3811  //
  3812  // API parameter values that are decorated as "sensitive" in the API will not
  3813  // be included in the string output. The member name will be present, but the
  3814  // value will be replaced with "sensitive".
  3815  func (s HlsPackage) String() string {
  3816  	return awsutil.Prettify(s)
  3817  }
  3818  
  3819  // GoString returns the string representation.
  3820  //
  3821  // API parameter values that are decorated as "sensitive" in the API will not
  3822  // be included in the string output. The member name will be present, but the
  3823  // value will be replaced with "sensitive".
  3824  func (s HlsPackage) GoString() string {
  3825  	return s.String()
  3826  }
  3827  
  3828  // Validate inspects the fields of the type to determine if they are valid.
  3829  func (s *HlsPackage) Validate() error {
  3830  	invalidParams := request.ErrInvalidParams{Context: "HlsPackage"}
  3831  	if s.HlsManifests == nil {
  3832  		invalidParams.Add(request.NewErrParamRequired("HlsManifests"))
  3833  	}
  3834  	if s.Encryption != nil {
  3835  		if err := s.Encryption.Validate(); err != nil {
  3836  			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
  3837  		}
  3838  	}
  3839  
  3840  	if invalidParams.Len() > 0 {
  3841  		return invalidParams
  3842  	}
  3843  	return nil
  3844  }
  3845  
  3846  // SetEncryption sets the Encryption field's value.
  3847  func (s *HlsPackage) SetEncryption(v *HlsEncryption) *HlsPackage {
  3848  	s.Encryption = v
  3849  	return s
  3850  }
  3851  
  3852  // SetHlsManifests sets the HlsManifests field's value.
  3853  func (s *HlsPackage) SetHlsManifests(v []*HlsManifest) *HlsPackage {
  3854  	s.HlsManifests = v
  3855  	return s
  3856  }
  3857  
  3858  // SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
  3859  func (s *HlsPackage) SetSegmentDurationSeconds(v int64) *HlsPackage {
  3860  	s.SegmentDurationSeconds = &v
  3861  	return s
  3862  }
  3863  
  3864  // SetUseAudioRenditionGroup sets the UseAudioRenditionGroup field's value.
  3865  func (s *HlsPackage) SetUseAudioRenditionGroup(v bool) *HlsPackage {
  3866  	s.UseAudioRenditionGroup = &v
  3867  	return s
  3868  }
  3869  
  3870  type InternalServerErrorException struct {
  3871  	_            struct{}                  `type:"structure"`
  3872  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3873  
  3874  	Message_ *string `locationName:"message" type:"string"`
  3875  }
  3876  
  3877  // String returns the string representation.
  3878  //
  3879  // API parameter values that are decorated as "sensitive" in the API will not
  3880  // be included in the string output. The member name will be present, but the
  3881  // value will be replaced with "sensitive".
  3882  func (s InternalServerErrorException) String() string {
  3883  	return awsutil.Prettify(s)
  3884  }
  3885  
  3886  // GoString returns the string representation.
  3887  //
  3888  // API parameter values that are decorated as "sensitive" in the API will not
  3889  // be included in the string output. The member name will be present, but the
  3890  // value will be replaced with "sensitive".
  3891  func (s InternalServerErrorException) GoString() string {
  3892  	return s.String()
  3893  }
  3894  
  3895  func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
  3896  	return &InternalServerErrorException{
  3897  		RespMetadata: v,
  3898  	}
  3899  }
  3900  
  3901  // Code returns the exception type name.
  3902  func (s *InternalServerErrorException) Code() string {
  3903  	return "InternalServerErrorException"
  3904  }
  3905  
  3906  // Message returns the exception's message.
  3907  func (s *InternalServerErrorException) Message() string {
  3908  	if s.Message_ != nil {
  3909  		return *s.Message_
  3910  	}
  3911  	return ""
  3912  }
  3913  
  3914  // OrigErr always returns nil, satisfies awserr.Error interface.
  3915  func (s *InternalServerErrorException) OrigErr() error {
  3916  	return nil
  3917  }
  3918  
  3919  func (s *InternalServerErrorException) Error() string {
  3920  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3921  }
  3922  
  3923  // Status code returns the HTTP status code for the request's response error.
  3924  func (s *InternalServerErrorException) StatusCode() int {
  3925  	return s.RespMetadata.StatusCode
  3926  }
  3927  
  3928  // RequestID returns the service's response RequestID for request.
  3929  func (s *InternalServerErrorException) RequestID() string {
  3930  	return s.RespMetadata.RequestID
  3931  }
  3932  
  3933  type ListAssetsInput struct {
  3934  	_ struct{} `type:"structure" nopayload:"true"`
  3935  
  3936  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  3937  
  3938  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  3939  
  3940  	PackagingGroupId *string `location:"querystring" locationName:"packagingGroupId" type:"string"`
  3941  }
  3942  
  3943  // String returns the string representation.
  3944  //
  3945  // API parameter values that are decorated as "sensitive" in the API will not
  3946  // be included in the string output. The member name will be present, but the
  3947  // value will be replaced with "sensitive".
  3948  func (s ListAssetsInput) String() string {
  3949  	return awsutil.Prettify(s)
  3950  }
  3951  
  3952  // GoString returns the string representation.
  3953  //
  3954  // API parameter values that are decorated as "sensitive" in the API will not
  3955  // be included in the string output. The member name will be present, but the
  3956  // value will be replaced with "sensitive".
  3957  func (s ListAssetsInput) GoString() string {
  3958  	return s.String()
  3959  }
  3960  
  3961  // Validate inspects the fields of the type to determine if they are valid.
  3962  func (s *ListAssetsInput) Validate() error {
  3963  	invalidParams := request.ErrInvalidParams{Context: "ListAssetsInput"}
  3964  	if s.MaxResults != nil && *s.MaxResults < 1 {
  3965  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3966  	}
  3967  
  3968  	if invalidParams.Len() > 0 {
  3969  		return invalidParams
  3970  	}
  3971  	return nil
  3972  }
  3973  
  3974  // SetMaxResults sets the MaxResults field's value.
  3975  func (s *ListAssetsInput) SetMaxResults(v int64) *ListAssetsInput {
  3976  	s.MaxResults = &v
  3977  	return s
  3978  }
  3979  
  3980  // SetNextToken sets the NextToken field's value.
  3981  func (s *ListAssetsInput) SetNextToken(v string) *ListAssetsInput {
  3982  	s.NextToken = &v
  3983  	return s
  3984  }
  3985  
  3986  // SetPackagingGroupId sets the PackagingGroupId field's value.
  3987  func (s *ListAssetsInput) SetPackagingGroupId(v string) *ListAssetsInput {
  3988  	s.PackagingGroupId = &v
  3989  	return s
  3990  }
  3991  
  3992  type ListAssetsOutput struct {
  3993  	_ struct{} `type:"structure"`
  3994  
  3995  	Assets []*AssetShallow `locationName:"assets" type:"list"`
  3996  
  3997  	NextToken *string `locationName:"nextToken" type:"string"`
  3998  }
  3999  
  4000  // String returns the string representation.
  4001  //
  4002  // API parameter values that are decorated as "sensitive" in the API will not
  4003  // be included in the string output. The member name will be present, but the
  4004  // value will be replaced with "sensitive".
  4005  func (s ListAssetsOutput) String() string {
  4006  	return awsutil.Prettify(s)
  4007  }
  4008  
  4009  // GoString returns the string representation.
  4010  //
  4011  // API parameter values that are decorated as "sensitive" in the API will not
  4012  // be included in the string output. The member name will be present, but the
  4013  // value will be replaced with "sensitive".
  4014  func (s ListAssetsOutput) GoString() string {
  4015  	return s.String()
  4016  }
  4017  
  4018  // SetAssets sets the Assets field's value.
  4019  func (s *ListAssetsOutput) SetAssets(v []*AssetShallow) *ListAssetsOutput {
  4020  	s.Assets = v
  4021  	return s
  4022  }
  4023  
  4024  // SetNextToken sets the NextToken field's value.
  4025  func (s *ListAssetsOutput) SetNextToken(v string) *ListAssetsOutput {
  4026  	s.NextToken = &v
  4027  	return s
  4028  }
  4029  
  4030  type ListPackagingConfigurationsInput struct {
  4031  	_ struct{} `type:"structure" nopayload:"true"`
  4032  
  4033  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  4034  
  4035  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  4036  
  4037  	PackagingGroupId *string `location:"querystring" locationName:"packagingGroupId" type:"string"`
  4038  }
  4039  
  4040  // String returns the string representation.
  4041  //
  4042  // API parameter values that are decorated as "sensitive" in the API will not
  4043  // be included in the string output. The member name will be present, but the
  4044  // value will be replaced with "sensitive".
  4045  func (s ListPackagingConfigurationsInput) String() string {
  4046  	return awsutil.Prettify(s)
  4047  }
  4048  
  4049  // GoString returns the string representation.
  4050  //
  4051  // API parameter values that are decorated as "sensitive" in the API will not
  4052  // be included in the string output. The member name will be present, but the
  4053  // value will be replaced with "sensitive".
  4054  func (s ListPackagingConfigurationsInput) GoString() string {
  4055  	return s.String()
  4056  }
  4057  
  4058  // Validate inspects the fields of the type to determine if they are valid.
  4059  func (s *ListPackagingConfigurationsInput) Validate() error {
  4060  	invalidParams := request.ErrInvalidParams{Context: "ListPackagingConfigurationsInput"}
  4061  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4062  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4063  	}
  4064  
  4065  	if invalidParams.Len() > 0 {
  4066  		return invalidParams
  4067  	}
  4068  	return nil
  4069  }
  4070  
  4071  // SetMaxResults sets the MaxResults field's value.
  4072  func (s *ListPackagingConfigurationsInput) SetMaxResults(v int64) *ListPackagingConfigurationsInput {
  4073  	s.MaxResults = &v
  4074  	return s
  4075  }
  4076  
  4077  // SetNextToken sets the NextToken field's value.
  4078  func (s *ListPackagingConfigurationsInput) SetNextToken(v string) *ListPackagingConfigurationsInput {
  4079  	s.NextToken = &v
  4080  	return s
  4081  }
  4082  
  4083  // SetPackagingGroupId sets the PackagingGroupId field's value.
  4084  func (s *ListPackagingConfigurationsInput) SetPackagingGroupId(v string) *ListPackagingConfigurationsInput {
  4085  	s.PackagingGroupId = &v
  4086  	return s
  4087  }
  4088  
  4089  type ListPackagingConfigurationsOutput struct {
  4090  	_ struct{} `type:"structure"`
  4091  
  4092  	NextToken *string `locationName:"nextToken" type:"string"`
  4093  
  4094  	PackagingConfigurations []*PackagingConfiguration `locationName:"packagingConfigurations" type:"list"`
  4095  }
  4096  
  4097  // String returns the string representation.
  4098  //
  4099  // API parameter values that are decorated as "sensitive" in the API will not
  4100  // be included in the string output. The member name will be present, but the
  4101  // value will be replaced with "sensitive".
  4102  func (s ListPackagingConfigurationsOutput) String() string {
  4103  	return awsutil.Prettify(s)
  4104  }
  4105  
  4106  // GoString returns the string representation.
  4107  //
  4108  // API parameter values that are decorated as "sensitive" in the API will not
  4109  // be included in the string output. The member name will be present, but the
  4110  // value will be replaced with "sensitive".
  4111  func (s ListPackagingConfigurationsOutput) GoString() string {
  4112  	return s.String()
  4113  }
  4114  
  4115  // SetNextToken sets the NextToken field's value.
  4116  func (s *ListPackagingConfigurationsOutput) SetNextToken(v string) *ListPackagingConfigurationsOutput {
  4117  	s.NextToken = &v
  4118  	return s
  4119  }
  4120  
  4121  // SetPackagingConfigurations sets the PackagingConfigurations field's value.
  4122  func (s *ListPackagingConfigurationsOutput) SetPackagingConfigurations(v []*PackagingConfiguration) *ListPackagingConfigurationsOutput {
  4123  	s.PackagingConfigurations = v
  4124  	return s
  4125  }
  4126  
  4127  type ListPackagingGroupsInput struct {
  4128  	_ struct{} `type:"structure" nopayload:"true"`
  4129  
  4130  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  4131  
  4132  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  4133  }
  4134  
  4135  // String returns the string representation.
  4136  //
  4137  // API parameter values that are decorated as "sensitive" in the API will not
  4138  // be included in the string output. The member name will be present, but the
  4139  // value will be replaced with "sensitive".
  4140  func (s ListPackagingGroupsInput) String() string {
  4141  	return awsutil.Prettify(s)
  4142  }
  4143  
  4144  // GoString returns the string representation.
  4145  //
  4146  // API parameter values that are decorated as "sensitive" in the API will not
  4147  // be included in the string output. The member name will be present, but the
  4148  // value will be replaced with "sensitive".
  4149  func (s ListPackagingGroupsInput) GoString() string {
  4150  	return s.String()
  4151  }
  4152  
  4153  // Validate inspects the fields of the type to determine if they are valid.
  4154  func (s *ListPackagingGroupsInput) Validate() error {
  4155  	invalidParams := request.ErrInvalidParams{Context: "ListPackagingGroupsInput"}
  4156  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4157  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4158  	}
  4159  
  4160  	if invalidParams.Len() > 0 {
  4161  		return invalidParams
  4162  	}
  4163  	return nil
  4164  }
  4165  
  4166  // SetMaxResults sets the MaxResults field's value.
  4167  func (s *ListPackagingGroupsInput) SetMaxResults(v int64) *ListPackagingGroupsInput {
  4168  	s.MaxResults = &v
  4169  	return s
  4170  }
  4171  
  4172  // SetNextToken sets the NextToken field's value.
  4173  func (s *ListPackagingGroupsInput) SetNextToken(v string) *ListPackagingGroupsInput {
  4174  	s.NextToken = &v
  4175  	return s
  4176  }
  4177  
  4178  type ListPackagingGroupsOutput struct {
  4179  	_ struct{} `type:"structure"`
  4180  
  4181  	NextToken *string `locationName:"nextToken" type:"string"`
  4182  
  4183  	PackagingGroups []*PackagingGroup `locationName:"packagingGroups" type:"list"`
  4184  }
  4185  
  4186  // String returns the string representation.
  4187  //
  4188  // API parameter values that are decorated as "sensitive" in the API will not
  4189  // be included in the string output. The member name will be present, but the
  4190  // value will be replaced with "sensitive".
  4191  func (s ListPackagingGroupsOutput) String() string {
  4192  	return awsutil.Prettify(s)
  4193  }
  4194  
  4195  // GoString returns the string representation.
  4196  //
  4197  // API parameter values that are decorated as "sensitive" in the API will not
  4198  // be included in the string output. The member name will be present, but the
  4199  // value will be replaced with "sensitive".
  4200  func (s ListPackagingGroupsOutput) GoString() string {
  4201  	return s.String()
  4202  }
  4203  
  4204  // SetNextToken sets the NextToken field's value.
  4205  func (s *ListPackagingGroupsOutput) SetNextToken(v string) *ListPackagingGroupsOutput {
  4206  	s.NextToken = &v
  4207  	return s
  4208  }
  4209  
  4210  // SetPackagingGroups sets the PackagingGroups field's value.
  4211  func (s *ListPackagingGroupsOutput) SetPackagingGroups(v []*PackagingGroup) *ListPackagingGroupsOutput {
  4212  	s.PackagingGroups = v
  4213  	return s
  4214  }
  4215  
  4216  type ListTagsForResourceInput struct {
  4217  	_ struct{} `type:"structure" nopayload:"true"`
  4218  
  4219  	// ResourceArn is a required field
  4220  	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
  4221  }
  4222  
  4223  // String returns the string representation.
  4224  //
  4225  // API parameter values that are decorated as "sensitive" in the API will not
  4226  // be included in the string output. The member name will be present, but the
  4227  // value will be replaced with "sensitive".
  4228  func (s ListTagsForResourceInput) String() string {
  4229  	return awsutil.Prettify(s)
  4230  }
  4231  
  4232  // GoString returns the string representation.
  4233  //
  4234  // API parameter values that are decorated as "sensitive" in the API will not
  4235  // be included in the string output. The member name will be present, but the
  4236  // value will be replaced with "sensitive".
  4237  func (s ListTagsForResourceInput) GoString() string {
  4238  	return s.String()
  4239  }
  4240  
  4241  // Validate inspects the fields of the type to determine if they are valid.
  4242  func (s *ListTagsForResourceInput) Validate() error {
  4243  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  4244  	if s.ResourceArn == nil {
  4245  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  4246  	}
  4247  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  4248  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  4249  	}
  4250  
  4251  	if invalidParams.Len() > 0 {
  4252  		return invalidParams
  4253  	}
  4254  	return nil
  4255  }
  4256  
  4257  // SetResourceArn sets the ResourceArn field's value.
  4258  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  4259  	s.ResourceArn = &v
  4260  	return s
  4261  }
  4262  
  4263  type ListTagsForResourceOutput struct {
  4264  	_ struct{} `type:"structure"`
  4265  
  4266  	Tags map[string]*string `locationName:"tags" type:"map"`
  4267  }
  4268  
  4269  // String returns the string representation.
  4270  //
  4271  // API parameter values that are decorated as "sensitive" in the API will not
  4272  // be included in the string output. The member name will be present, but the
  4273  // value will be replaced with "sensitive".
  4274  func (s ListTagsForResourceOutput) String() string {
  4275  	return awsutil.Prettify(s)
  4276  }
  4277  
  4278  // GoString returns the string representation.
  4279  //
  4280  // API parameter values that are decorated as "sensitive" in the API will not
  4281  // be included in the string output. The member name will be present, but the
  4282  // value will be replaced with "sensitive".
  4283  func (s ListTagsForResourceOutput) GoString() string {
  4284  	return s.String()
  4285  }
  4286  
  4287  // SetTags sets the Tags field's value.
  4288  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  4289  	s.Tags = v
  4290  	return s
  4291  }
  4292  
  4293  // A Microsoft Smooth Streaming (MSS) encryption configuration.
  4294  type MssEncryption struct {
  4295  	_ struct{} `type:"structure"`
  4296  
  4297  	// A configuration for accessing an external Secure Packager and Encoder Key
  4298  	// Exchange (SPEKE) service that will provide encryption keys.
  4299  	//
  4300  	// SpekeKeyProvider is a required field
  4301  	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
  4302  }
  4303  
  4304  // String returns the string representation.
  4305  //
  4306  // API parameter values that are decorated as "sensitive" in the API will not
  4307  // be included in the string output. The member name will be present, but the
  4308  // value will be replaced with "sensitive".
  4309  func (s MssEncryption) String() string {
  4310  	return awsutil.Prettify(s)
  4311  }
  4312  
  4313  // GoString returns the string representation.
  4314  //
  4315  // API parameter values that are decorated as "sensitive" in the API will not
  4316  // be included in the string output. The member name will be present, but the
  4317  // value will be replaced with "sensitive".
  4318  func (s MssEncryption) GoString() string {
  4319  	return s.String()
  4320  }
  4321  
  4322  // Validate inspects the fields of the type to determine if they are valid.
  4323  func (s *MssEncryption) Validate() error {
  4324  	invalidParams := request.ErrInvalidParams{Context: "MssEncryption"}
  4325  	if s.SpekeKeyProvider == nil {
  4326  		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
  4327  	}
  4328  	if s.SpekeKeyProvider != nil {
  4329  		if err := s.SpekeKeyProvider.Validate(); err != nil {
  4330  			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
  4331  		}
  4332  	}
  4333  
  4334  	if invalidParams.Len() > 0 {
  4335  		return invalidParams
  4336  	}
  4337  	return nil
  4338  }
  4339  
  4340  // SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
  4341  func (s *MssEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *MssEncryption {
  4342  	s.SpekeKeyProvider = v
  4343  	return s
  4344  }
  4345  
  4346  // A Microsoft Smooth Streaming (MSS) manifest configuration.
  4347  type MssManifest struct {
  4348  	_ struct{} `type:"structure"`
  4349  
  4350  	// An optional string to include in the name of the manifest.
  4351  	ManifestName *string `locationName:"manifestName" type:"string"`
  4352  
  4353  	// A StreamSelection configuration.
  4354  	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
  4355  }
  4356  
  4357  // String returns the string representation.
  4358  //
  4359  // API parameter values that are decorated as "sensitive" in the API will not
  4360  // be included in the string output. The member name will be present, but the
  4361  // value will be replaced with "sensitive".
  4362  func (s MssManifest) String() string {
  4363  	return awsutil.Prettify(s)
  4364  }
  4365  
  4366  // GoString returns the string representation.
  4367  //
  4368  // API parameter values that are decorated as "sensitive" in the API will not
  4369  // be included in the string output. The member name will be present, but the
  4370  // value will be replaced with "sensitive".
  4371  func (s MssManifest) GoString() string {
  4372  	return s.String()
  4373  }
  4374  
  4375  // SetManifestName sets the ManifestName field's value.
  4376  func (s *MssManifest) SetManifestName(v string) *MssManifest {
  4377  	s.ManifestName = &v
  4378  	return s
  4379  }
  4380  
  4381  // SetStreamSelection sets the StreamSelection field's value.
  4382  func (s *MssManifest) SetStreamSelection(v *StreamSelection) *MssManifest {
  4383  	s.StreamSelection = v
  4384  	return s
  4385  }
  4386  
  4387  // A Microsoft Smooth Streaming (MSS) PackagingConfiguration.
  4388  type MssPackage struct {
  4389  	_ struct{} `type:"structure"`
  4390  
  4391  	// A Microsoft Smooth Streaming (MSS) encryption configuration.
  4392  	Encryption *MssEncryption `locationName:"encryption" type:"structure"`
  4393  
  4394  	// A list of MSS manifest configurations.
  4395  	//
  4396  	// MssManifests is a required field
  4397  	MssManifests []*MssManifest `locationName:"mssManifests" type:"list" required:"true"`
  4398  
  4399  	// The duration (in seconds) of each segment.
  4400  	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
  4401  }
  4402  
  4403  // String returns the string representation.
  4404  //
  4405  // API parameter values that are decorated as "sensitive" in the API will not
  4406  // be included in the string output. The member name will be present, but the
  4407  // value will be replaced with "sensitive".
  4408  func (s MssPackage) String() string {
  4409  	return awsutil.Prettify(s)
  4410  }
  4411  
  4412  // GoString returns the string representation.
  4413  //
  4414  // API parameter values that are decorated as "sensitive" in the API will not
  4415  // be included in the string output. The member name will be present, but the
  4416  // value will be replaced with "sensitive".
  4417  func (s MssPackage) GoString() string {
  4418  	return s.String()
  4419  }
  4420  
  4421  // Validate inspects the fields of the type to determine if they are valid.
  4422  func (s *MssPackage) Validate() error {
  4423  	invalidParams := request.ErrInvalidParams{Context: "MssPackage"}
  4424  	if s.MssManifests == nil {
  4425  		invalidParams.Add(request.NewErrParamRequired("MssManifests"))
  4426  	}
  4427  	if s.Encryption != nil {
  4428  		if err := s.Encryption.Validate(); err != nil {
  4429  			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
  4430  		}
  4431  	}
  4432  
  4433  	if invalidParams.Len() > 0 {
  4434  		return invalidParams
  4435  	}
  4436  	return nil
  4437  }
  4438  
  4439  // SetEncryption sets the Encryption field's value.
  4440  func (s *MssPackage) SetEncryption(v *MssEncryption) *MssPackage {
  4441  	s.Encryption = v
  4442  	return s
  4443  }
  4444  
  4445  // SetMssManifests sets the MssManifests field's value.
  4446  func (s *MssPackage) SetMssManifests(v []*MssManifest) *MssPackage {
  4447  	s.MssManifests = v
  4448  	return s
  4449  }
  4450  
  4451  // SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
  4452  func (s *MssPackage) SetSegmentDurationSeconds(v int64) *MssPackage {
  4453  	s.SegmentDurationSeconds = &v
  4454  	return s
  4455  }
  4456  
  4457  type NotFoundException struct {
  4458  	_            struct{}                  `type:"structure"`
  4459  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4460  
  4461  	Message_ *string `locationName:"message" type:"string"`
  4462  }
  4463  
  4464  // String returns the string representation.
  4465  //
  4466  // API parameter values that are decorated as "sensitive" in the API will not
  4467  // be included in the string output. The member name will be present, but the
  4468  // value will be replaced with "sensitive".
  4469  func (s NotFoundException) String() string {
  4470  	return awsutil.Prettify(s)
  4471  }
  4472  
  4473  // GoString returns the string representation.
  4474  //
  4475  // API parameter values that are decorated as "sensitive" in the API will not
  4476  // be included in the string output. The member name will be present, but the
  4477  // value will be replaced with "sensitive".
  4478  func (s NotFoundException) GoString() string {
  4479  	return s.String()
  4480  }
  4481  
  4482  func newErrorNotFoundException(v protocol.ResponseMetadata) error {
  4483  	return &NotFoundException{
  4484  		RespMetadata: v,
  4485  	}
  4486  }
  4487  
  4488  // Code returns the exception type name.
  4489  func (s *NotFoundException) Code() string {
  4490  	return "NotFoundException"
  4491  }
  4492  
  4493  // Message returns the exception's message.
  4494  func (s *NotFoundException) Message() string {
  4495  	if s.Message_ != nil {
  4496  		return *s.Message_
  4497  	}
  4498  	return ""
  4499  }
  4500  
  4501  // OrigErr always returns nil, satisfies awserr.Error interface.
  4502  func (s *NotFoundException) OrigErr() error {
  4503  	return nil
  4504  }
  4505  
  4506  func (s *NotFoundException) Error() string {
  4507  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4508  }
  4509  
  4510  // Status code returns the HTTP status code for the request's response error.
  4511  func (s *NotFoundException) StatusCode() int {
  4512  	return s.RespMetadata.StatusCode
  4513  }
  4514  
  4515  // RequestID returns the service's response RequestID for request.
  4516  func (s *NotFoundException) RequestID() string {
  4517  	return s.RespMetadata.RequestID
  4518  }
  4519  
  4520  // A MediaPackage VOD PackagingConfiguration resource.
  4521  type PackagingConfiguration struct {
  4522  	_ struct{} `type:"structure"`
  4523  
  4524  	// The ARN of the PackagingConfiguration.
  4525  	Arn *string `locationName:"arn" type:"string"`
  4526  
  4527  	// A CMAF packaging configuration.
  4528  	CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"`
  4529  
  4530  	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
  4531  	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
  4532  
  4533  	// An HTTP Live Streaming (HLS) packaging configuration.
  4534  	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
  4535  
  4536  	// The ID of the PackagingConfiguration.
  4537  	Id *string `locationName:"id" type:"string"`
  4538  
  4539  	// A Microsoft Smooth Streaming (MSS) PackagingConfiguration.
  4540  	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
  4541  
  4542  	// The ID of a PackagingGroup.
  4543  	PackagingGroupId *string `locationName:"packagingGroupId" type:"string"`
  4544  
  4545  	// A collection of tags associated with a resource
  4546  	Tags map[string]*string `locationName:"tags" type:"map"`
  4547  }
  4548  
  4549  // String returns the string representation.
  4550  //
  4551  // API parameter values that are decorated as "sensitive" in the API will not
  4552  // be included in the string output. The member name will be present, but the
  4553  // value will be replaced with "sensitive".
  4554  func (s PackagingConfiguration) String() string {
  4555  	return awsutil.Prettify(s)
  4556  }
  4557  
  4558  // GoString returns the string representation.
  4559  //
  4560  // API parameter values that are decorated as "sensitive" in the API will not
  4561  // be included in the string output. The member name will be present, but the
  4562  // value will be replaced with "sensitive".
  4563  func (s PackagingConfiguration) GoString() string {
  4564  	return s.String()
  4565  }
  4566  
  4567  // SetArn sets the Arn field's value.
  4568  func (s *PackagingConfiguration) SetArn(v string) *PackagingConfiguration {
  4569  	s.Arn = &v
  4570  	return s
  4571  }
  4572  
  4573  // SetCmafPackage sets the CmafPackage field's value.
  4574  func (s *PackagingConfiguration) SetCmafPackage(v *CmafPackage) *PackagingConfiguration {
  4575  	s.CmafPackage = v
  4576  	return s
  4577  }
  4578  
  4579  // SetDashPackage sets the DashPackage field's value.
  4580  func (s *PackagingConfiguration) SetDashPackage(v *DashPackage) *PackagingConfiguration {
  4581  	s.DashPackage = v
  4582  	return s
  4583  }
  4584  
  4585  // SetHlsPackage sets the HlsPackage field's value.
  4586  func (s *PackagingConfiguration) SetHlsPackage(v *HlsPackage) *PackagingConfiguration {
  4587  	s.HlsPackage = v
  4588  	return s
  4589  }
  4590  
  4591  // SetId sets the Id field's value.
  4592  func (s *PackagingConfiguration) SetId(v string) *PackagingConfiguration {
  4593  	s.Id = &v
  4594  	return s
  4595  }
  4596  
  4597  // SetMssPackage sets the MssPackage field's value.
  4598  func (s *PackagingConfiguration) SetMssPackage(v *MssPackage) *PackagingConfiguration {
  4599  	s.MssPackage = v
  4600  	return s
  4601  }
  4602  
  4603  // SetPackagingGroupId sets the PackagingGroupId field's value.
  4604  func (s *PackagingConfiguration) SetPackagingGroupId(v string) *PackagingConfiguration {
  4605  	s.PackagingGroupId = &v
  4606  	return s
  4607  }
  4608  
  4609  // SetTags sets the Tags field's value.
  4610  func (s *PackagingConfiguration) SetTags(v map[string]*string) *PackagingConfiguration {
  4611  	s.Tags = v
  4612  	return s
  4613  }
  4614  
  4615  // A MediaPackage VOD PackagingGroup resource.
  4616  type PackagingGroup struct {
  4617  	_ struct{} `type:"structure"`
  4618  
  4619  	// The ARN of the PackagingGroup.
  4620  	Arn *string `locationName:"arn" type:"string"`
  4621  
  4622  	// CDN Authorization credentials
  4623  	Authorization *Authorization `locationName:"authorization" type:"structure"`
  4624  
  4625  	// The fully qualified domain name for Assets in the PackagingGroup.
  4626  	DomainName *string `locationName:"domainName" type:"string"`
  4627  
  4628  	// Configure egress access logging.
  4629  	EgressAccessLogs *EgressAccessLogs `locationName:"egressAccessLogs" type:"structure"`
  4630  
  4631  	// The ID of the PackagingGroup.
  4632  	Id *string `locationName:"id" type:"string"`
  4633  
  4634  	// A collection of tags associated with a resource
  4635  	Tags map[string]*string `locationName:"tags" type:"map"`
  4636  }
  4637  
  4638  // String returns the string representation.
  4639  //
  4640  // API parameter values that are decorated as "sensitive" in the API will not
  4641  // be included in the string output. The member name will be present, but the
  4642  // value will be replaced with "sensitive".
  4643  func (s PackagingGroup) String() string {
  4644  	return awsutil.Prettify(s)
  4645  }
  4646  
  4647  // GoString returns the string representation.
  4648  //
  4649  // API parameter values that are decorated as "sensitive" in the API will not
  4650  // be included in the string output. The member name will be present, but the
  4651  // value will be replaced with "sensitive".
  4652  func (s PackagingGroup) GoString() string {
  4653  	return s.String()
  4654  }
  4655  
  4656  // SetArn sets the Arn field's value.
  4657  func (s *PackagingGroup) SetArn(v string) *PackagingGroup {
  4658  	s.Arn = &v
  4659  	return s
  4660  }
  4661  
  4662  // SetAuthorization sets the Authorization field's value.
  4663  func (s *PackagingGroup) SetAuthorization(v *Authorization) *PackagingGroup {
  4664  	s.Authorization = v
  4665  	return s
  4666  }
  4667  
  4668  // SetDomainName sets the DomainName field's value.
  4669  func (s *PackagingGroup) SetDomainName(v string) *PackagingGroup {
  4670  	s.DomainName = &v
  4671  	return s
  4672  }
  4673  
  4674  // SetEgressAccessLogs sets the EgressAccessLogs field's value.
  4675  func (s *PackagingGroup) SetEgressAccessLogs(v *EgressAccessLogs) *PackagingGroup {
  4676  	s.EgressAccessLogs = v
  4677  	return s
  4678  }
  4679  
  4680  // SetId sets the Id field's value.
  4681  func (s *PackagingGroup) SetId(v string) *PackagingGroup {
  4682  	s.Id = &v
  4683  	return s
  4684  }
  4685  
  4686  // SetTags sets the Tags field's value.
  4687  func (s *PackagingGroup) SetTags(v map[string]*string) *PackagingGroup {
  4688  	s.Tags = v
  4689  	return s
  4690  }
  4691  
  4692  type ServiceUnavailableException struct {
  4693  	_            struct{}                  `type:"structure"`
  4694  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4695  
  4696  	Message_ *string `locationName:"message" type:"string"`
  4697  }
  4698  
  4699  // String returns the string representation.
  4700  //
  4701  // API parameter values that are decorated as "sensitive" in the API will not
  4702  // be included in the string output. The member name will be present, but the
  4703  // value will be replaced with "sensitive".
  4704  func (s ServiceUnavailableException) String() string {
  4705  	return awsutil.Prettify(s)
  4706  }
  4707  
  4708  // GoString returns the string representation.
  4709  //
  4710  // API parameter values that are decorated as "sensitive" in the API will not
  4711  // be included in the string output. The member name will be present, but the
  4712  // value will be replaced with "sensitive".
  4713  func (s ServiceUnavailableException) GoString() string {
  4714  	return s.String()
  4715  }
  4716  
  4717  func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
  4718  	return &ServiceUnavailableException{
  4719  		RespMetadata: v,
  4720  	}
  4721  }
  4722  
  4723  // Code returns the exception type name.
  4724  func (s *ServiceUnavailableException) Code() string {
  4725  	return "ServiceUnavailableException"
  4726  }
  4727  
  4728  // Message returns the exception's message.
  4729  func (s *ServiceUnavailableException) Message() string {
  4730  	if s.Message_ != nil {
  4731  		return *s.Message_
  4732  	}
  4733  	return ""
  4734  }
  4735  
  4736  // OrigErr always returns nil, satisfies awserr.Error interface.
  4737  func (s *ServiceUnavailableException) OrigErr() error {
  4738  	return nil
  4739  }
  4740  
  4741  func (s *ServiceUnavailableException) Error() string {
  4742  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4743  }
  4744  
  4745  // Status code returns the HTTP status code for the request's response error.
  4746  func (s *ServiceUnavailableException) StatusCode() int {
  4747  	return s.RespMetadata.StatusCode
  4748  }
  4749  
  4750  // RequestID returns the service's response RequestID for request.
  4751  func (s *ServiceUnavailableException) RequestID() string {
  4752  	return s.RespMetadata.RequestID
  4753  }
  4754  
  4755  // A configuration for accessing an external Secure Packager and Encoder Key
  4756  // Exchange (SPEKE) service that will provide encryption keys.
  4757  type SpekeKeyProvider struct {
  4758  	_ struct{} `type:"structure"`
  4759  
  4760  	// An Amazon Resource Name (ARN) of an IAM role that AWS ElementalMediaPackage
  4761  	// will assume when accessing the key provider service.
  4762  	//
  4763  	// RoleArn is a required field
  4764  	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
  4765  
  4766  	// The system IDs to include in key requests.
  4767  	//
  4768  	// SystemIds is a required field
  4769  	SystemIds []*string `locationName:"systemIds" type:"list" required:"true"`
  4770  
  4771  	// The URL of the external key provider service.
  4772  	//
  4773  	// Url is a required field
  4774  	Url *string `locationName:"url" type:"string" required:"true"`
  4775  }
  4776  
  4777  // String returns the string representation.
  4778  //
  4779  // API parameter values that are decorated as "sensitive" in the API will not
  4780  // be included in the string output. The member name will be present, but the
  4781  // value will be replaced with "sensitive".
  4782  func (s SpekeKeyProvider) String() string {
  4783  	return awsutil.Prettify(s)
  4784  }
  4785  
  4786  // GoString returns the string representation.
  4787  //
  4788  // API parameter values that are decorated as "sensitive" in the API will not
  4789  // be included in the string output. The member name will be present, but the
  4790  // value will be replaced with "sensitive".
  4791  func (s SpekeKeyProvider) GoString() string {
  4792  	return s.String()
  4793  }
  4794  
  4795  // Validate inspects the fields of the type to determine if they are valid.
  4796  func (s *SpekeKeyProvider) Validate() error {
  4797  	invalidParams := request.ErrInvalidParams{Context: "SpekeKeyProvider"}
  4798  	if s.RoleArn == nil {
  4799  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  4800  	}
  4801  	if s.SystemIds == nil {
  4802  		invalidParams.Add(request.NewErrParamRequired("SystemIds"))
  4803  	}
  4804  	if s.Url == nil {
  4805  		invalidParams.Add(request.NewErrParamRequired("Url"))
  4806  	}
  4807  
  4808  	if invalidParams.Len() > 0 {
  4809  		return invalidParams
  4810  	}
  4811  	return nil
  4812  }
  4813  
  4814  // SetRoleArn sets the RoleArn field's value.
  4815  func (s *SpekeKeyProvider) SetRoleArn(v string) *SpekeKeyProvider {
  4816  	s.RoleArn = &v
  4817  	return s
  4818  }
  4819  
  4820  // SetSystemIds sets the SystemIds field's value.
  4821  func (s *SpekeKeyProvider) SetSystemIds(v []*string) *SpekeKeyProvider {
  4822  	s.SystemIds = v
  4823  	return s
  4824  }
  4825  
  4826  // SetUrl sets the Url field's value.
  4827  func (s *SpekeKeyProvider) SetUrl(v string) *SpekeKeyProvider {
  4828  	s.Url = &v
  4829  	return s
  4830  }
  4831  
  4832  // A StreamSelection configuration.
  4833  type StreamSelection struct {
  4834  	_ struct{} `type:"structure"`
  4835  
  4836  	// The maximum video bitrate (bps) to include in output.
  4837  	MaxVideoBitsPerSecond *int64 `locationName:"maxVideoBitsPerSecond" type:"integer"`
  4838  
  4839  	// The minimum video bitrate (bps) to include in output.
  4840  	MinVideoBitsPerSecond *int64 `locationName:"minVideoBitsPerSecond" type:"integer"`
  4841  
  4842  	// A directive that determines the order of streams in the output.
  4843  	StreamOrder *string `locationName:"streamOrder" type:"string" enum:"StreamOrder"`
  4844  }
  4845  
  4846  // String returns the string representation.
  4847  //
  4848  // API parameter values that are decorated as "sensitive" in the API will not
  4849  // be included in the string output. The member name will be present, but the
  4850  // value will be replaced with "sensitive".
  4851  func (s StreamSelection) String() string {
  4852  	return awsutil.Prettify(s)
  4853  }
  4854  
  4855  // GoString returns the string representation.
  4856  //
  4857  // API parameter values that are decorated as "sensitive" in the API will not
  4858  // be included in the string output. The member name will be present, but the
  4859  // value will be replaced with "sensitive".
  4860  func (s StreamSelection) GoString() string {
  4861  	return s.String()
  4862  }
  4863  
  4864  // SetMaxVideoBitsPerSecond sets the MaxVideoBitsPerSecond field's value.
  4865  func (s *StreamSelection) SetMaxVideoBitsPerSecond(v int64) *StreamSelection {
  4866  	s.MaxVideoBitsPerSecond = &v
  4867  	return s
  4868  }
  4869  
  4870  // SetMinVideoBitsPerSecond sets the MinVideoBitsPerSecond field's value.
  4871  func (s *StreamSelection) SetMinVideoBitsPerSecond(v int64) *StreamSelection {
  4872  	s.MinVideoBitsPerSecond = &v
  4873  	return s
  4874  }
  4875  
  4876  // SetStreamOrder sets the StreamOrder field's value.
  4877  func (s *StreamSelection) SetStreamOrder(v string) *StreamSelection {
  4878  	s.StreamOrder = &v
  4879  	return s
  4880  }
  4881  
  4882  type TagResourceInput struct {
  4883  	_ struct{} `type:"structure"`
  4884  
  4885  	// ResourceArn is a required field
  4886  	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
  4887  
  4888  	// Tags is a required field
  4889  	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
  4890  }
  4891  
  4892  // String returns the string representation.
  4893  //
  4894  // API parameter values that are decorated as "sensitive" in the API will not
  4895  // be included in the string output. The member name will be present, but the
  4896  // value will be replaced with "sensitive".
  4897  func (s TagResourceInput) String() string {
  4898  	return awsutil.Prettify(s)
  4899  }
  4900  
  4901  // GoString returns the string representation.
  4902  //
  4903  // API parameter values that are decorated as "sensitive" in the API will not
  4904  // be included in the string output. The member name will be present, but the
  4905  // value will be replaced with "sensitive".
  4906  func (s TagResourceInput) GoString() string {
  4907  	return s.String()
  4908  }
  4909  
  4910  // Validate inspects the fields of the type to determine if they are valid.
  4911  func (s *TagResourceInput) Validate() error {
  4912  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  4913  	if s.ResourceArn == nil {
  4914  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  4915  	}
  4916  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  4917  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  4918  	}
  4919  	if s.Tags == nil {
  4920  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  4921  	}
  4922  
  4923  	if invalidParams.Len() > 0 {
  4924  		return invalidParams
  4925  	}
  4926  	return nil
  4927  }
  4928  
  4929  // SetResourceArn sets the ResourceArn field's value.
  4930  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  4931  	s.ResourceArn = &v
  4932  	return s
  4933  }
  4934  
  4935  // SetTags sets the Tags field's value.
  4936  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
  4937  	s.Tags = v
  4938  	return s
  4939  }
  4940  
  4941  type TagResourceOutput struct {
  4942  	_ struct{} `type:"structure" nopayload:"true"`
  4943  }
  4944  
  4945  // String returns the string representation.
  4946  //
  4947  // API parameter values that are decorated as "sensitive" in the API will not
  4948  // be included in the string output. The member name will be present, but the
  4949  // value will be replaced with "sensitive".
  4950  func (s TagResourceOutput) String() string {
  4951  	return awsutil.Prettify(s)
  4952  }
  4953  
  4954  // GoString returns the string representation.
  4955  //
  4956  // API parameter values that are decorated as "sensitive" in the API will not
  4957  // be included in the string output. The member name will be present, but the
  4958  // value will be replaced with "sensitive".
  4959  func (s TagResourceOutput) GoString() string {
  4960  	return s.String()
  4961  }
  4962  
  4963  type TooManyRequestsException struct {
  4964  	_            struct{}                  `type:"structure"`
  4965  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4966  
  4967  	Message_ *string `locationName:"message" type:"string"`
  4968  }
  4969  
  4970  // String returns the string representation.
  4971  //
  4972  // API parameter values that are decorated as "sensitive" in the API will not
  4973  // be included in the string output. The member name will be present, but the
  4974  // value will be replaced with "sensitive".
  4975  func (s TooManyRequestsException) String() string {
  4976  	return awsutil.Prettify(s)
  4977  }
  4978  
  4979  // GoString returns the string representation.
  4980  //
  4981  // API parameter values that are decorated as "sensitive" in the API will not
  4982  // be included in the string output. The member name will be present, but the
  4983  // value will be replaced with "sensitive".
  4984  func (s TooManyRequestsException) GoString() string {
  4985  	return s.String()
  4986  }
  4987  
  4988  func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
  4989  	return &TooManyRequestsException{
  4990  		RespMetadata: v,
  4991  	}
  4992  }
  4993  
  4994  // Code returns the exception type name.
  4995  func (s *TooManyRequestsException) Code() string {
  4996  	return "TooManyRequestsException"
  4997  }
  4998  
  4999  // Message returns the exception's message.
  5000  func (s *TooManyRequestsException) Message() string {
  5001  	if s.Message_ != nil {
  5002  		return *s.Message_
  5003  	}
  5004  	return ""
  5005  }
  5006  
  5007  // OrigErr always returns nil, satisfies awserr.Error interface.
  5008  func (s *TooManyRequestsException) OrigErr() error {
  5009  	return nil
  5010  }
  5011  
  5012  func (s *TooManyRequestsException) Error() string {
  5013  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5014  }
  5015  
  5016  // Status code returns the HTTP status code for the request's response error.
  5017  func (s *TooManyRequestsException) StatusCode() int {
  5018  	return s.RespMetadata.StatusCode
  5019  }
  5020  
  5021  // RequestID returns the service's response RequestID for request.
  5022  func (s *TooManyRequestsException) RequestID() string {
  5023  	return s.RespMetadata.RequestID
  5024  }
  5025  
  5026  type UnprocessableEntityException struct {
  5027  	_            struct{}                  `type:"structure"`
  5028  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5029  
  5030  	Message_ *string `locationName:"message" type:"string"`
  5031  }
  5032  
  5033  // String returns the string representation.
  5034  //
  5035  // API parameter values that are decorated as "sensitive" in the API will not
  5036  // be included in the string output. The member name will be present, but the
  5037  // value will be replaced with "sensitive".
  5038  func (s UnprocessableEntityException) String() string {
  5039  	return awsutil.Prettify(s)
  5040  }
  5041  
  5042  // GoString returns the string representation.
  5043  //
  5044  // API parameter values that are decorated as "sensitive" in the API will not
  5045  // be included in the string output. The member name will be present, but the
  5046  // value will be replaced with "sensitive".
  5047  func (s UnprocessableEntityException) GoString() string {
  5048  	return s.String()
  5049  }
  5050  
  5051  func newErrorUnprocessableEntityException(v protocol.ResponseMetadata) error {
  5052  	return &UnprocessableEntityException{
  5053  		RespMetadata: v,
  5054  	}
  5055  }
  5056  
  5057  // Code returns the exception type name.
  5058  func (s *UnprocessableEntityException) Code() string {
  5059  	return "UnprocessableEntityException"
  5060  }
  5061  
  5062  // Message returns the exception's message.
  5063  func (s *UnprocessableEntityException) Message() string {
  5064  	if s.Message_ != nil {
  5065  		return *s.Message_
  5066  	}
  5067  	return ""
  5068  }
  5069  
  5070  // OrigErr always returns nil, satisfies awserr.Error interface.
  5071  func (s *UnprocessableEntityException) OrigErr() error {
  5072  	return nil
  5073  }
  5074  
  5075  func (s *UnprocessableEntityException) Error() string {
  5076  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5077  }
  5078  
  5079  // Status code returns the HTTP status code for the request's response error.
  5080  func (s *UnprocessableEntityException) StatusCode() int {
  5081  	return s.RespMetadata.StatusCode
  5082  }
  5083  
  5084  // RequestID returns the service's response RequestID for request.
  5085  func (s *UnprocessableEntityException) RequestID() string {
  5086  	return s.RespMetadata.RequestID
  5087  }
  5088  
  5089  type UntagResourceInput struct {
  5090  	_ struct{} `type:"structure" nopayload:"true"`
  5091  
  5092  	// ResourceArn is a required field
  5093  	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
  5094  
  5095  	// TagKeys is a required field
  5096  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
  5097  }
  5098  
  5099  // String returns the string representation.
  5100  //
  5101  // API parameter values that are decorated as "sensitive" in the API will not
  5102  // be included in the string output. The member name will be present, but the
  5103  // value will be replaced with "sensitive".
  5104  func (s UntagResourceInput) String() string {
  5105  	return awsutil.Prettify(s)
  5106  }
  5107  
  5108  // GoString returns the string representation.
  5109  //
  5110  // API parameter values that are decorated as "sensitive" in the API will not
  5111  // be included in the string output. The member name will be present, but the
  5112  // value will be replaced with "sensitive".
  5113  func (s UntagResourceInput) GoString() string {
  5114  	return s.String()
  5115  }
  5116  
  5117  // Validate inspects the fields of the type to determine if they are valid.
  5118  func (s *UntagResourceInput) Validate() error {
  5119  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  5120  	if s.ResourceArn == nil {
  5121  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  5122  	}
  5123  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  5124  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  5125  	}
  5126  	if s.TagKeys == nil {
  5127  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  5128  	}
  5129  
  5130  	if invalidParams.Len() > 0 {
  5131  		return invalidParams
  5132  	}
  5133  	return nil
  5134  }
  5135  
  5136  // SetResourceArn sets the ResourceArn field's value.
  5137  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  5138  	s.ResourceArn = &v
  5139  	return s
  5140  }
  5141  
  5142  // SetTagKeys sets the TagKeys field's value.
  5143  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  5144  	s.TagKeys = v
  5145  	return s
  5146  }
  5147  
  5148  type UntagResourceOutput struct {
  5149  	_ struct{} `type:"structure" nopayload:"true"`
  5150  }
  5151  
  5152  // String returns the string representation.
  5153  //
  5154  // API parameter values that are decorated as "sensitive" in the API will not
  5155  // be included in the string output. The member name will be present, but the
  5156  // value will be replaced with "sensitive".
  5157  func (s UntagResourceOutput) String() string {
  5158  	return awsutil.Prettify(s)
  5159  }
  5160  
  5161  // GoString returns the string representation.
  5162  //
  5163  // API parameter values that are decorated as "sensitive" in the API will not
  5164  // be included in the string output. The member name will be present, but the
  5165  // value will be replaced with "sensitive".
  5166  func (s UntagResourceOutput) GoString() string {
  5167  	return s.String()
  5168  }
  5169  
  5170  type UpdatePackagingGroupInput struct {
  5171  	_ struct{} `type:"structure"`
  5172  
  5173  	// CDN Authorization credentials
  5174  	Authorization *Authorization `locationName:"authorization" type:"structure"`
  5175  
  5176  	// Id is a required field
  5177  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  5178  }
  5179  
  5180  // String returns the string representation.
  5181  //
  5182  // API parameter values that are decorated as "sensitive" in the API will not
  5183  // be included in the string output. The member name will be present, but the
  5184  // value will be replaced with "sensitive".
  5185  func (s UpdatePackagingGroupInput) String() string {
  5186  	return awsutil.Prettify(s)
  5187  }
  5188  
  5189  // GoString returns the string representation.
  5190  //
  5191  // API parameter values that are decorated as "sensitive" in the API will not
  5192  // be included in the string output. The member name will be present, but the
  5193  // value will be replaced with "sensitive".
  5194  func (s UpdatePackagingGroupInput) GoString() string {
  5195  	return s.String()
  5196  }
  5197  
  5198  // Validate inspects the fields of the type to determine if they are valid.
  5199  func (s *UpdatePackagingGroupInput) Validate() error {
  5200  	invalidParams := request.ErrInvalidParams{Context: "UpdatePackagingGroupInput"}
  5201  	if s.Id == nil {
  5202  		invalidParams.Add(request.NewErrParamRequired("Id"))
  5203  	}
  5204  	if s.Id != nil && len(*s.Id) < 1 {
  5205  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  5206  	}
  5207  	if s.Authorization != nil {
  5208  		if err := s.Authorization.Validate(); err != nil {
  5209  			invalidParams.AddNested("Authorization", err.(request.ErrInvalidParams))
  5210  		}
  5211  	}
  5212  
  5213  	if invalidParams.Len() > 0 {
  5214  		return invalidParams
  5215  	}
  5216  	return nil
  5217  }
  5218  
  5219  // SetAuthorization sets the Authorization field's value.
  5220  func (s *UpdatePackagingGroupInput) SetAuthorization(v *Authorization) *UpdatePackagingGroupInput {
  5221  	s.Authorization = v
  5222  	return s
  5223  }
  5224  
  5225  // SetId sets the Id field's value.
  5226  func (s *UpdatePackagingGroupInput) SetId(v string) *UpdatePackagingGroupInput {
  5227  	s.Id = &v
  5228  	return s
  5229  }
  5230  
  5231  type UpdatePackagingGroupOutput struct {
  5232  	_ struct{} `type:"structure"`
  5233  
  5234  	Arn *string `locationName:"arn" type:"string"`
  5235  
  5236  	// CDN Authorization credentials
  5237  	Authorization *Authorization `locationName:"authorization" type:"structure"`
  5238  
  5239  	DomainName *string `locationName:"domainName" type:"string"`
  5240  
  5241  	// Configure egress access logging.
  5242  	EgressAccessLogs *EgressAccessLogs `locationName:"egressAccessLogs" type:"structure"`
  5243  
  5244  	Id *string `locationName:"id" type:"string"`
  5245  
  5246  	// A collection of tags associated with a resource
  5247  	Tags map[string]*string `locationName:"tags" type:"map"`
  5248  }
  5249  
  5250  // String returns the string representation.
  5251  //
  5252  // API parameter values that are decorated as "sensitive" in the API will not
  5253  // be included in the string output. The member name will be present, but the
  5254  // value will be replaced with "sensitive".
  5255  func (s UpdatePackagingGroupOutput) String() string {
  5256  	return awsutil.Prettify(s)
  5257  }
  5258  
  5259  // GoString returns the string representation.
  5260  //
  5261  // API parameter values that are decorated as "sensitive" in the API will not
  5262  // be included in the string output. The member name will be present, but the
  5263  // value will be replaced with "sensitive".
  5264  func (s UpdatePackagingGroupOutput) GoString() string {
  5265  	return s.String()
  5266  }
  5267  
  5268  // SetArn sets the Arn field's value.
  5269  func (s *UpdatePackagingGroupOutput) SetArn(v string) *UpdatePackagingGroupOutput {
  5270  	s.Arn = &v
  5271  	return s
  5272  }
  5273  
  5274  // SetAuthorization sets the Authorization field's value.
  5275  func (s *UpdatePackagingGroupOutput) SetAuthorization(v *Authorization) *UpdatePackagingGroupOutput {
  5276  	s.Authorization = v
  5277  	return s
  5278  }
  5279  
  5280  // SetDomainName sets the DomainName field's value.
  5281  func (s *UpdatePackagingGroupOutput) SetDomainName(v string) *UpdatePackagingGroupOutput {
  5282  	s.DomainName = &v
  5283  	return s
  5284  }
  5285  
  5286  // SetEgressAccessLogs sets the EgressAccessLogs field's value.
  5287  func (s *UpdatePackagingGroupOutput) SetEgressAccessLogs(v *EgressAccessLogs) *UpdatePackagingGroupOutput {
  5288  	s.EgressAccessLogs = v
  5289  	return s
  5290  }
  5291  
  5292  // SetId sets the Id field's value.
  5293  func (s *UpdatePackagingGroupOutput) SetId(v string) *UpdatePackagingGroupOutput {
  5294  	s.Id = &v
  5295  	return s
  5296  }
  5297  
  5298  // SetTags sets the Tags field's value.
  5299  func (s *UpdatePackagingGroupOutput) SetTags(v map[string]*string) *UpdatePackagingGroupOutput {
  5300  	s.Tags = v
  5301  	return s
  5302  }
  5303  
  5304  const (
  5305  	// AdMarkersNone is a AdMarkers enum value
  5306  	AdMarkersNone = "NONE"
  5307  
  5308  	// AdMarkersScte35Enhanced is a AdMarkers enum value
  5309  	AdMarkersScte35Enhanced = "SCTE35_ENHANCED"
  5310  
  5311  	// AdMarkersPassthrough is a AdMarkers enum value
  5312  	AdMarkersPassthrough = "PASSTHROUGH"
  5313  )
  5314  
  5315  // AdMarkers_Values returns all elements of the AdMarkers enum
  5316  func AdMarkers_Values() []string {
  5317  	return []string{
  5318  		AdMarkersNone,
  5319  		AdMarkersScte35Enhanced,
  5320  		AdMarkersPassthrough,
  5321  	}
  5322  }
  5323  
  5324  const (
  5325  	// EncryptionMethodAes128 is a EncryptionMethod enum value
  5326  	EncryptionMethodAes128 = "AES_128"
  5327  
  5328  	// EncryptionMethodSampleAes is a EncryptionMethod enum value
  5329  	EncryptionMethodSampleAes = "SAMPLE_AES"
  5330  )
  5331  
  5332  // EncryptionMethod_Values returns all elements of the EncryptionMethod enum
  5333  func EncryptionMethod_Values() []string {
  5334  	return []string{
  5335  		EncryptionMethodAes128,
  5336  		EncryptionMethodSampleAes,
  5337  	}
  5338  }
  5339  
  5340  const (
  5341  	// ManifestLayoutFull is a ManifestLayout enum value
  5342  	ManifestLayoutFull = "FULL"
  5343  
  5344  	// ManifestLayoutCompact is a ManifestLayout enum value
  5345  	ManifestLayoutCompact = "COMPACT"
  5346  )
  5347  
  5348  // ManifestLayout_Values returns all elements of the ManifestLayout enum
  5349  func ManifestLayout_Values() []string {
  5350  	return []string{
  5351  		ManifestLayoutFull,
  5352  		ManifestLayoutCompact,
  5353  	}
  5354  }
  5355  
  5356  const (
  5357  	// PeriodTriggersElementAds is a PeriodTriggersElement enum value
  5358  	PeriodTriggersElementAds = "ADS"
  5359  )
  5360  
  5361  // PeriodTriggersElement_Values returns all elements of the PeriodTriggersElement enum
  5362  func PeriodTriggersElement_Values() []string {
  5363  	return []string{
  5364  		PeriodTriggersElementAds,
  5365  	}
  5366  }
  5367  
  5368  const (
  5369  	// ProfileNone is a Profile enum value
  5370  	ProfileNone = "NONE"
  5371  
  5372  	// ProfileHbbtv15 is a Profile enum value
  5373  	ProfileHbbtv15 = "HBBTV_1_5"
  5374  )
  5375  
  5376  // Profile_Values returns all elements of the Profile enum
  5377  func Profile_Values() []string {
  5378  	return []string{
  5379  		ProfileNone,
  5380  		ProfileHbbtv15,
  5381  	}
  5382  }
  5383  
  5384  const (
  5385  	// SegmentTemplateFormatNumberWithTimeline is a SegmentTemplateFormat enum value
  5386  	SegmentTemplateFormatNumberWithTimeline = "NUMBER_WITH_TIMELINE"
  5387  
  5388  	// SegmentTemplateFormatTimeWithTimeline is a SegmentTemplateFormat enum value
  5389  	SegmentTemplateFormatTimeWithTimeline = "TIME_WITH_TIMELINE"
  5390  
  5391  	// SegmentTemplateFormatNumberWithDuration is a SegmentTemplateFormat enum value
  5392  	SegmentTemplateFormatNumberWithDuration = "NUMBER_WITH_DURATION"
  5393  )
  5394  
  5395  // SegmentTemplateFormat_Values returns all elements of the SegmentTemplateFormat enum
  5396  func SegmentTemplateFormat_Values() []string {
  5397  	return []string{
  5398  		SegmentTemplateFormatNumberWithTimeline,
  5399  		SegmentTemplateFormatTimeWithTimeline,
  5400  		SegmentTemplateFormatNumberWithDuration,
  5401  	}
  5402  }
  5403  
  5404  const (
  5405  	// StreamOrderOriginal is a StreamOrder enum value
  5406  	StreamOrderOriginal = "ORIGINAL"
  5407  
  5408  	// StreamOrderVideoBitrateAscending is a StreamOrder enum value
  5409  	StreamOrderVideoBitrateAscending = "VIDEO_BITRATE_ASCENDING"
  5410  
  5411  	// StreamOrderVideoBitrateDescending is a StreamOrder enum value
  5412  	StreamOrderVideoBitrateDescending = "VIDEO_BITRATE_DESCENDING"
  5413  )
  5414  
  5415  // StreamOrder_Values returns all elements of the StreamOrder enum
  5416  func StreamOrder_Values() []string {
  5417  	return []string{
  5418  		StreamOrderOriginal,
  5419  		StreamOrderVideoBitrateAscending,
  5420  		StreamOrderVideoBitrateDescending,
  5421  	}
  5422  }