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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package mediapackage
     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-2017-10-12/ConfigureLogs
    41  func (c *MediaPackage) ConfigureLogsRequest(input *ConfigureLogsInput) (req *request.Request, output *ConfigureLogsOutput) {
    42  	op := &request.Operation{
    43  		Name:       opConfigureLogs,
    44  		HTTPMethod: "PUT",
    45  		HTTPPath:   "/channels/{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.
    58  //
    59  // Changes the Channel'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'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-2017-10-12/ConfigureLogs
    82  func (c *MediaPackage) 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 *MediaPackage) 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 opCreateChannel = "CreateChannel"
   104  
   105  // CreateChannelRequest generates a "aws/request.Request" representing the
   106  // client's request for the CreateChannel 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 CreateChannel for more information on using the CreateChannel
   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 CreateChannelRequest method.
   121  //    req, resp := client.CreateChannelRequest(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-2017-10-12/CreateChannel
   129  func (c *MediaPackage) CreateChannelRequest(input *CreateChannelInput) (req *request.Request, output *CreateChannelOutput) {
   130  	op := &request.Operation{
   131  		Name:       opCreateChannel,
   132  		HTTPMethod: "POST",
   133  		HTTPPath:   "/channels",
   134  	}
   135  
   136  	if input == nil {
   137  		input = &CreateChannelInput{}
   138  	}
   139  
   140  	output = &CreateChannelOutput{}
   141  	req = c.newRequest(op, input, output)
   142  	return
   143  }
   144  
   145  // CreateChannel API operation for AWS Elemental MediaPackage.
   146  //
   147  // Creates a new Channel.
   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's
   154  // API operation CreateChannel 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-2017-10-12/CreateChannel
   170  func (c *MediaPackage) CreateChannel(input *CreateChannelInput) (*CreateChannelOutput, error) {
   171  	req, out := c.CreateChannelRequest(input)
   172  	return out, req.Send()
   173  }
   174  
   175  // CreateChannelWithContext is the same as CreateChannel with the addition of
   176  // the ability to pass a context and additional request options.
   177  //
   178  // See CreateChannel 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 *MediaPackage) CreateChannelWithContext(ctx aws.Context, input *CreateChannelInput, opts ...request.Option) (*CreateChannelOutput, error) {
   185  	req, out := c.CreateChannelRequest(input)
   186  	req.SetContext(ctx)
   187  	req.ApplyOptions(opts...)
   188  	return out, req.Send()
   189  }
   190  
   191  const opCreateHarvestJob = "CreateHarvestJob"
   192  
   193  // CreateHarvestJobRequest generates a "aws/request.Request" representing the
   194  // client's request for the CreateHarvestJob 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 CreateHarvestJob for more information on using the CreateHarvestJob
   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 CreateHarvestJobRequest method.
   209  //    req, resp := client.CreateHarvestJobRequest(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-2017-10-12/CreateHarvestJob
   217  func (c *MediaPackage) CreateHarvestJobRequest(input *CreateHarvestJobInput) (req *request.Request, output *CreateHarvestJobOutput) {
   218  	op := &request.Operation{
   219  		Name:       opCreateHarvestJob,
   220  		HTTPMethod: "POST",
   221  		HTTPPath:   "/harvest_jobs",
   222  	}
   223  
   224  	if input == nil {
   225  		input = &CreateHarvestJobInput{}
   226  	}
   227  
   228  	output = &CreateHarvestJobOutput{}
   229  	req = c.newRequest(op, input, output)
   230  	return
   231  }
   232  
   233  // CreateHarvestJob API operation for AWS Elemental MediaPackage.
   234  //
   235  // Creates a new HarvestJob record.
   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's
   242  // API operation CreateHarvestJob 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-2017-10-12/CreateHarvestJob
   258  func (c *MediaPackage) CreateHarvestJob(input *CreateHarvestJobInput) (*CreateHarvestJobOutput, error) {
   259  	req, out := c.CreateHarvestJobRequest(input)
   260  	return out, req.Send()
   261  }
   262  
   263  // CreateHarvestJobWithContext is the same as CreateHarvestJob with the addition of
   264  // the ability to pass a context and additional request options.
   265  //
   266  // See CreateHarvestJob 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 *MediaPackage) CreateHarvestJobWithContext(ctx aws.Context, input *CreateHarvestJobInput, opts ...request.Option) (*CreateHarvestJobOutput, error) {
   273  	req, out := c.CreateHarvestJobRequest(input)
   274  	req.SetContext(ctx)
   275  	req.ApplyOptions(opts...)
   276  	return out, req.Send()
   277  }
   278  
   279  const opCreateOriginEndpoint = "CreateOriginEndpoint"
   280  
   281  // CreateOriginEndpointRequest generates a "aws/request.Request" representing the
   282  // client's request for the CreateOriginEndpoint 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 CreateOriginEndpoint for more information on using the CreateOriginEndpoint
   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 CreateOriginEndpointRequest method.
   297  //    req, resp := client.CreateOriginEndpointRequest(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-2017-10-12/CreateOriginEndpoint
   305  func (c *MediaPackage) CreateOriginEndpointRequest(input *CreateOriginEndpointInput) (req *request.Request, output *CreateOriginEndpointOutput) {
   306  	op := &request.Operation{
   307  		Name:       opCreateOriginEndpoint,
   308  		HTTPMethod: "POST",
   309  		HTTPPath:   "/origin_endpoints",
   310  	}
   311  
   312  	if input == nil {
   313  		input = &CreateOriginEndpointInput{}
   314  	}
   315  
   316  	output = &CreateOriginEndpointOutput{}
   317  	req = c.newRequest(op, input, output)
   318  	return
   319  }
   320  
   321  // CreateOriginEndpoint API operation for AWS Elemental MediaPackage.
   322  //
   323  // Creates a new OriginEndpoint record.
   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's
   330  // API operation CreateOriginEndpoint 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-2017-10-12/CreateOriginEndpoint
   346  func (c *MediaPackage) CreateOriginEndpoint(input *CreateOriginEndpointInput) (*CreateOriginEndpointOutput, error) {
   347  	req, out := c.CreateOriginEndpointRequest(input)
   348  	return out, req.Send()
   349  }
   350  
   351  // CreateOriginEndpointWithContext is the same as CreateOriginEndpoint with the addition of
   352  // the ability to pass a context and additional request options.
   353  //
   354  // See CreateOriginEndpoint 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 *MediaPackage) CreateOriginEndpointWithContext(ctx aws.Context, input *CreateOriginEndpointInput, opts ...request.Option) (*CreateOriginEndpointOutput, error) {
   361  	req, out := c.CreateOriginEndpointRequest(input)
   362  	req.SetContext(ctx)
   363  	req.ApplyOptions(opts...)
   364  	return out, req.Send()
   365  }
   366  
   367  const opDeleteChannel = "DeleteChannel"
   368  
   369  // DeleteChannelRequest generates a "aws/request.Request" representing the
   370  // client's request for the DeleteChannel 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 DeleteChannel for more information on using the DeleteChannel
   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 DeleteChannelRequest method.
   385  //    req, resp := client.DeleteChannelRequest(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-2017-10-12/DeleteChannel
   393  func (c *MediaPackage) DeleteChannelRequest(input *DeleteChannelInput) (req *request.Request, output *DeleteChannelOutput) {
   394  	op := &request.Operation{
   395  		Name:       opDeleteChannel,
   396  		HTTPMethod: "DELETE",
   397  		HTTPPath:   "/channels/{id}",
   398  	}
   399  
   400  	if input == nil {
   401  		input = &DeleteChannelInput{}
   402  	}
   403  
   404  	output = &DeleteChannelOutput{}
   405  	req = c.newRequest(op, input, output)
   406  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   407  	return
   408  }
   409  
   410  // DeleteChannel API operation for AWS Elemental MediaPackage.
   411  //
   412  // Deletes an existing Channel.
   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's
   419  // API operation DeleteChannel 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-2017-10-12/DeleteChannel
   435  func (c *MediaPackage) DeleteChannel(input *DeleteChannelInput) (*DeleteChannelOutput, error) {
   436  	req, out := c.DeleteChannelRequest(input)
   437  	return out, req.Send()
   438  }
   439  
   440  // DeleteChannelWithContext is the same as DeleteChannel with the addition of
   441  // the ability to pass a context and additional request options.
   442  //
   443  // See DeleteChannel 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 *MediaPackage) DeleteChannelWithContext(ctx aws.Context, input *DeleteChannelInput, opts ...request.Option) (*DeleteChannelOutput, error) {
   450  	req, out := c.DeleteChannelRequest(input)
   451  	req.SetContext(ctx)
   452  	req.ApplyOptions(opts...)
   453  	return out, req.Send()
   454  }
   455  
   456  const opDeleteOriginEndpoint = "DeleteOriginEndpoint"
   457  
   458  // DeleteOriginEndpointRequest generates a "aws/request.Request" representing the
   459  // client's request for the DeleteOriginEndpoint 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 DeleteOriginEndpoint for more information on using the DeleteOriginEndpoint
   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 DeleteOriginEndpointRequest method.
   474  //    req, resp := client.DeleteOriginEndpointRequest(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-2017-10-12/DeleteOriginEndpoint
   482  func (c *MediaPackage) DeleteOriginEndpointRequest(input *DeleteOriginEndpointInput) (req *request.Request, output *DeleteOriginEndpointOutput) {
   483  	op := &request.Operation{
   484  		Name:       opDeleteOriginEndpoint,
   485  		HTTPMethod: "DELETE",
   486  		HTTPPath:   "/origin_endpoints/{id}",
   487  	}
   488  
   489  	if input == nil {
   490  		input = &DeleteOriginEndpointInput{}
   491  	}
   492  
   493  	output = &DeleteOriginEndpointOutput{}
   494  	req = c.newRequest(op, input, output)
   495  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   496  	return
   497  }
   498  
   499  // DeleteOriginEndpoint API operation for AWS Elemental MediaPackage.
   500  //
   501  // Deletes an existing OriginEndpoint.
   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's
   508  // API operation DeleteOriginEndpoint 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-2017-10-12/DeleteOriginEndpoint
   524  func (c *MediaPackage) DeleteOriginEndpoint(input *DeleteOriginEndpointInput) (*DeleteOriginEndpointOutput, error) {
   525  	req, out := c.DeleteOriginEndpointRequest(input)
   526  	return out, req.Send()
   527  }
   528  
   529  // DeleteOriginEndpointWithContext is the same as DeleteOriginEndpoint with the addition of
   530  // the ability to pass a context and additional request options.
   531  //
   532  // See DeleteOriginEndpoint 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 *MediaPackage) DeleteOriginEndpointWithContext(ctx aws.Context, input *DeleteOriginEndpointInput, opts ...request.Option) (*DeleteOriginEndpointOutput, error) {
   539  	req, out := c.DeleteOriginEndpointRequest(input)
   540  	req.SetContext(ctx)
   541  	req.ApplyOptions(opts...)
   542  	return out, req.Send()
   543  }
   544  
   545  const opDescribeChannel = "DescribeChannel"
   546  
   547  // DescribeChannelRequest generates a "aws/request.Request" representing the
   548  // client's request for the DescribeChannel 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 DescribeChannel for more information on using the DescribeChannel
   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 DescribeChannelRequest method.
   563  //    req, resp := client.DescribeChannelRequest(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-2017-10-12/DescribeChannel
   571  func (c *MediaPackage) DescribeChannelRequest(input *DescribeChannelInput) (req *request.Request, output *DescribeChannelOutput) {
   572  	op := &request.Operation{
   573  		Name:       opDescribeChannel,
   574  		HTTPMethod: "GET",
   575  		HTTPPath:   "/channels/{id}",
   576  	}
   577  
   578  	if input == nil {
   579  		input = &DescribeChannelInput{}
   580  	}
   581  
   582  	output = &DescribeChannelOutput{}
   583  	req = c.newRequest(op, input, output)
   584  	return
   585  }
   586  
   587  // DescribeChannel API operation for AWS Elemental MediaPackage.
   588  //
   589  // Gets details about a Channel.
   590  //
   591  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   592  // with awserr.Error's Code and Message methods to get detailed information about
   593  // the error.
   594  //
   595  // See the AWS API reference guide for AWS Elemental MediaPackage's
   596  // API operation DescribeChannel for usage and error information.
   597  //
   598  // Returned Error Types:
   599  //   * UnprocessableEntityException
   600  //
   601  //   * InternalServerErrorException
   602  //
   603  //   * ForbiddenException
   604  //
   605  //   * NotFoundException
   606  //
   607  //   * ServiceUnavailableException
   608  //
   609  //   * TooManyRequestsException
   610  //
   611  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeChannel
   612  func (c *MediaPackage) DescribeChannel(input *DescribeChannelInput) (*DescribeChannelOutput, error) {
   613  	req, out := c.DescribeChannelRequest(input)
   614  	return out, req.Send()
   615  }
   616  
   617  // DescribeChannelWithContext is the same as DescribeChannel with the addition of
   618  // the ability to pass a context and additional request options.
   619  //
   620  // See DescribeChannel for details on how to use this API operation.
   621  //
   622  // The context must be non-nil and will be used for request cancellation. If
   623  // the context is nil a panic will occur. In the future the SDK may create
   624  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   625  // for more information on using Contexts.
   626  func (c *MediaPackage) DescribeChannelWithContext(ctx aws.Context, input *DescribeChannelInput, opts ...request.Option) (*DescribeChannelOutput, error) {
   627  	req, out := c.DescribeChannelRequest(input)
   628  	req.SetContext(ctx)
   629  	req.ApplyOptions(opts...)
   630  	return out, req.Send()
   631  }
   632  
   633  const opDescribeHarvestJob = "DescribeHarvestJob"
   634  
   635  // DescribeHarvestJobRequest generates a "aws/request.Request" representing the
   636  // client's request for the DescribeHarvestJob operation. The "output" return
   637  // value will be populated with the request's response once the request completes
   638  // successfully.
   639  //
   640  // Use "Send" method on the returned Request to send the API call to the service.
   641  // the "output" return value is not valid until after Send returns without error.
   642  //
   643  // See DescribeHarvestJob for more information on using the DescribeHarvestJob
   644  // API call, and error handling.
   645  //
   646  // This method is useful when you want to inject custom logic or configuration
   647  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   648  //
   649  //
   650  //    // Example sending a request using the DescribeHarvestJobRequest method.
   651  //    req, resp := client.DescribeHarvestJobRequest(params)
   652  //
   653  //    err := req.Send()
   654  //    if err == nil { // resp is now filled
   655  //        fmt.Println(resp)
   656  //    }
   657  //
   658  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeHarvestJob
   659  func (c *MediaPackage) DescribeHarvestJobRequest(input *DescribeHarvestJobInput) (req *request.Request, output *DescribeHarvestJobOutput) {
   660  	op := &request.Operation{
   661  		Name:       opDescribeHarvestJob,
   662  		HTTPMethod: "GET",
   663  		HTTPPath:   "/harvest_jobs/{id}",
   664  	}
   665  
   666  	if input == nil {
   667  		input = &DescribeHarvestJobInput{}
   668  	}
   669  
   670  	output = &DescribeHarvestJobOutput{}
   671  	req = c.newRequest(op, input, output)
   672  	return
   673  }
   674  
   675  // DescribeHarvestJob API operation for AWS Elemental MediaPackage.
   676  //
   677  // Gets details about an existing HarvestJob.
   678  //
   679  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   680  // with awserr.Error's Code and Message methods to get detailed information about
   681  // the error.
   682  //
   683  // See the AWS API reference guide for AWS Elemental MediaPackage's
   684  // API operation DescribeHarvestJob for usage and error information.
   685  //
   686  // Returned Error Types:
   687  //   * UnprocessableEntityException
   688  //
   689  //   * InternalServerErrorException
   690  //
   691  //   * ForbiddenException
   692  //
   693  //   * NotFoundException
   694  //
   695  //   * ServiceUnavailableException
   696  //
   697  //   * TooManyRequestsException
   698  //
   699  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeHarvestJob
   700  func (c *MediaPackage) DescribeHarvestJob(input *DescribeHarvestJobInput) (*DescribeHarvestJobOutput, error) {
   701  	req, out := c.DescribeHarvestJobRequest(input)
   702  	return out, req.Send()
   703  }
   704  
   705  // DescribeHarvestJobWithContext is the same as DescribeHarvestJob with the addition of
   706  // the ability to pass a context and additional request options.
   707  //
   708  // See DescribeHarvestJob for details on how to use this API operation.
   709  //
   710  // The context must be non-nil and will be used for request cancellation. If
   711  // the context is nil a panic will occur. In the future the SDK may create
   712  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   713  // for more information on using Contexts.
   714  func (c *MediaPackage) DescribeHarvestJobWithContext(ctx aws.Context, input *DescribeHarvestJobInput, opts ...request.Option) (*DescribeHarvestJobOutput, error) {
   715  	req, out := c.DescribeHarvestJobRequest(input)
   716  	req.SetContext(ctx)
   717  	req.ApplyOptions(opts...)
   718  	return out, req.Send()
   719  }
   720  
   721  const opDescribeOriginEndpoint = "DescribeOriginEndpoint"
   722  
   723  // DescribeOriginEndpointRequest generates a "aws/request.Request" representing the
   724  // client's request for the DescribeOriginEndpoint operation. The "output" return
   725  // value will be populated with the request's response once the request completes
   726  // successfully.
   727  //
   728  // Use "Send" method on the returned Request to send the API call to the service.
   729  // the "output" return value is not valid until after Send returns without error.
   730  //
   731  // See DescribeOriginEndpoint for more information on using the DescribeOriginEndpoint
   732  // API call, and error handling.
   733  //
   734  // This method is useful when you want to inject custom logic or configuration
   735  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   736  //
   737  //
   738  //    // Example sending a request using the DescribeOriginEndpointRequest method.
   739  //    req, resp := client.DescribeOriginEndpointRequest(params)
   740  //
   741  //    err := req.Send()
   742  //    if err == nil { // resp is now filled
   743  //        fmt.Println(resp)
   744  //    }
   745  //
   746  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeOriginEndpoint
   747  func (c *MediaPackage) DescribeOriginEndpointRequest(input *DescribeOriginEndpointInput) (req *request.Request, output *DescribeOriginEndpointOutput) {
   748  	op := &request.Operation{
   749  		Name:       opDescribeOriginEndpoint,
   750  		HTTPMethod: "GET",
   751  		HTTPPath:   "/origin_endpoints/{id}",
   752  	}
   753  
   754  	if input == nil {
   755  		input = &DescribeOriginEndpointInput{}
   756  	}
   757  
   758  	output = &DescribeOriginEndpointOutput{}
   759  	req = c.newRequest(op, input, output)
   760  	return
   761  }
   762  
   763  // DescribeOriginEndpoint API operation for AWS Elemental MediaPackage.
   764  //
   765  // Gets details about an existing OriginEndpoint.
   766  //
   767  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   768  // with awserr.Error's Code and Message methods to get detailed information about
   769  // the error.
   770  //
   771  // See the AWS API reference guide for AWS Elemental MediaPackage's
   772  // API operation DescribeOriginEndpoint for usage and error information.
   773  //
   774  // Returned Error Types:
   775  //   * UnprocessableEntityException
   776  //
   777  //   * InternalServerErrorException
   778  //
   779  //   * ForbiddenException
   780  //
   781  //   * NotFoundException
   782  //
   783  //   * ServiceUnavailableException
   784  //
   785  //   * TooManyRequestsException
   786  //
   787  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/DescribeOriginEndpoint
   788  func (c *MediaPackage) DescribeOriginEndpoint(input *DescribeOriginEndpointInput) (*DescribeOriginEndpointOutput, error) {
   789  	req, out := c.DescribeOriginEndpointRequest(input)
   790  	return out, req.Send()
   791  }
   792  
   793  // DescribeOriginEndpointWithContext is the same as DescribeOriginEndpoint with the addition of
   794  // the ability to pass a context and additional request options.
   795  //
   796  // See DescribeOriginEndpoint for details on how to use this API operation.
   797  //
   798  // The context must be non-nil and will be used for request cancellation. If
   799  // the context is nil a panic will occur. In the future the SDK may create
   800  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   801  // for more information on using Contexts.
   802  func (c *MediaPackage) DescribeOriginEndpointWithContext(ctx aws.Context, input *DescribeOriginEndpointInput, opts ...request.Option) (*DescribeOriginEndpointOutput, error) {
   803  	req, out := c.DescribeOriginEndpointRequest(input)
   804  	req.SetContext(ctx)
   805  	req.ApplyOptions(opts...)
   806  	return out, req.Send()
   807  }
   808  
   809  const opListChannels = "ListChannels"
   810  
   811  // ListChannelsRequest generates a "aws/request.Request" representing the
   812  // client's request for the ListChannels operation. The "output" return
   813  // value will be populated with the request's response once the request completes
   814  // successfully.
   815  //
   816  // Use "Send" method on the returned Request to send the API call to the service.
   817  // the "output" return value is not valid until after Send returns without error.
   818  //
   819  // See ListChannels for more information on using the ListChannels
   820  // API call, and error handling.
   821  //
   822  // This method is useful when you want to inject custom logic or configuration
   823  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   824  //
   825  //
   826  //    // Example sending a request using the ListChannelsRequest method.
   827  //    req, resp := client.ListChannelsRequest(params)
   828  //
   829  //    err := req.Send()
   830  //    if err == nil { // resp is now filled
   831  //        fmt.Println(resp)
   832  //    }
   833  //
   834  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListChannels
   835  func (c *MediaPackage) ListChannelsRequest(input *ListChannelsInput) (req *request.Request, output *ListChannelsOutput) {
   836  	op := &request.Operation{
   837  		Name:       opListChannels,
   838  		HTTPMethod: "GET",
   839  		HTTPPath:   "/channels",
   840  		Paginator: &request.Paginator{
   841  			InputTokens:     []string{"NextToken"},
   842  			OutputTokens:    []string{"NextToken"},
   843  			LimitToken:      "MaxResults",
   844  			TruncationToken: "",
   845  		},
   846  	}
   847  
   848  	if input == nil {
   849  		input = &ListChannelsInput{}
   850  	}
   851  
   852  	output = &ListChannelsOutput{}
   853  	req = c.newRequest(op, input, output)
   854  	return
   855  }
   856  
   857  // ListChannels API operation for AWS Elemental MediaPackage.
   858  //
   859  // Returns a collection of Channels.
   860  //
   861  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   862  // with awserr.Error's Code and Message methods to get detailed information about
   863  // the error.
   864  //
   865  // See the AWS API reference guide for AWS Elemental MediaPackage's
   866  // API operation ListChannels for usage and error information.
   867  //
   868  // Returned Error Types:
   869  //   * UnprocessableEntityException
   870  //
   871  //   * InternalServerErrorException
   872  //
   873  //   * ForbiddenException
   874  //
   875  //   * NotFoundException
   876  //
   877  //   * ServiceUnavailableException
   878  //
   879  //   * TooManyRequestsException
   880  //
   881  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListChannels
   882  func (c *MediaPackage) ListChannels(input *ListChannelsInput) (*ListChannelsOutput, error) {
   883  	req, out := c.ListChannelsRequest(input)
   884  	return out, req.Send()
   885  }
   886  
   887  // ListChannelsWithContext is the same as ListChannels with the addition of
   888  // the ability to pass a context and additional request options.
   889  //
   890  // See ListChannels for details on how to use this API operation.
   891  //
   892  // The context must be non-nil and will be used for request cancellation. If
   893  // the context is nil a panic will occur. In the future the SDK may create
   894  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   895  // for more information on using Contexts.
   896  func (c *MediaPackage) ListChannelsWithContext(ctx aws.Context, input *ListChannelsInput, opts ...request.Option) (*ListChannelsOutput, error) {
   897  	req, out := c.ListChannelsRequest(input)
   898  	req.SetContext(ctx)
   899  	req.ApplyOptions(opts...)
   900  	return out, req.Send()
   901  }
   902  
   903  // ListChannelsPages iterates over the pages of a ListChannels operation,
   904  // calling the "fn" function with the response data for each page. To stop
   905  // iterating, return false from the fn function.
   906  //
   907  // See ListChannels method for more information on how to use this operation.
   908  //
   909  // Note: This operation can generate multiple requests to a service.
   910  //
   911  //    // Example iterating over at most 3 pages of a ListChannels operation.
   912  //    pageNum := 0
   913  //    err := client.ListChannelsPages(params,
   914  //        func(page *mediapackage.ListChannelsOutput, lastPage bool) bool {
   915  //            pageNum++
   916  //            fmt.Println(page)
   917  //            return pageNum <= 3
   918  //        })
   919  //
   920  func (c *MediaPackage) ListChannelsPages(input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool) error {
   921  	return c.ListChannelsPagesWithContext(aws.BackgroundContext(), input, fn)
   922  }
   923  
   924  // ListChannelsPagesWithContext same as ListChannelsPages except
   925  // it takes a Context and allows setting request options on the pages.
   926  //
   927  // The context must be non-nil and will be used for request cancellation. If
   928  // the context is nil a panic will occur. In the future the SDK may create
   929  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   930  // for more information on using Contexts.
   931  func (c *MediaPackage) ListChannelsPagesWithContext(ctx aws.Context, input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool, opts ...request.Option) error {
   932  	p := request.Pagination{
   933  		NewRequest: func() (*request.Request, error) {
   934  			var inCpy *ListChannelsInput
   935  			if input != nil {
   936  				tmp := *input
   937  				inCpy = &tmp
   938  			}
   939  			req, _ := c.ListChannelsRequest(inCpy)
   940  			req.SetContext(ctx)
   941  			req.ApplyOptions(opts...)
   942  			return req, nil
   943  		},
   944  	}
   945  
   946  	for p.Next() {
   947  		if !fn(p.Page().(*ListChannelsOutput), !p.HasNextPage()) {
   948  			break
   949  		}
   950  	}
   951  
   952  	return p.Err()
   953  }
   954  
   955  const opListHarvestJobs = "ListHarvestJobs"
   956  
   957  // ListHarvestJobsRequest generates a "aws/request.Request" representing the
   958  // client's request for the ListHarvestJobs operation. The "output" return
   959  // value will be populated with the request's response once the request completes
   960  // successfully.
   961  //
   962  // Use "Send" method on the returned Request to send the API call to the service.
   963  // the "output" return value is not valid until after Send returns without error.
   964  //
   965  // See ListHarvestJobs for more information on using the ListHarvestJobs
   966  // API call, and error handling.
   967  //
   968  // This method is useful when you want to inject custom logic or configuration
   969  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   970  //
   971  //
   972  //    // Example sending a request using the ListHarvestJobsRequest method.
   973  //    req, resp := client.ListHarvestJobsRequest(params)
   974  //
   975  //    err := req.Send()
   976  //    if err == nil { // resp is now filled
   977  //        fmt.Println(resp)
   978  //    }
   979  //
   980  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListHarvestJobs
   981  func (c *MediaPackage) ListHarvestJobsRequest(input *ListHarvestJobsInput) (req *request.Request, output *ListHarvestJobsOutput) {
   982  	op := &request.Operation{
   983  		Name:       opListHarvestJobs,
   984  		HTTPMethod: "GET",
   985  		HTTPPath:   "/harvest_jobs",
   986  		Paginator: &request.Paginator{
   987  			InputTokens:     []string{"NextToken"},
   988  			OutputTokens:    []string{"NextToken"},
   989  			LimitToken:      "MaxResults",
   990  			TruncationToken: "",
   991  		},
   992  	}
   993  
   994  	if input == nil {
   995  		input = &ListHarvestJobsInput{}
   996  	}
   997  
   998  	output = &ListHarvestJobsOutput{}
   999  	req = c.newRequest(op, input, output)
  1000  	return
  1001  }
  1002  
  1003  // ListHarvestJobs API operation for AWS Elemental MediaPackage.
  1004  //
  1005  // Returns a collection of HarvestJob records.
  1006  //
  1007  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1008  // with awserr.Error's Code and Message methods to get detailed information about
  1009  // the error.
  1010  //
  1011  // See the AWS API reference guide for AWS Elemental MediaPackage's
  1012  // API operation ListHarvestJobs for usage and error information.
  1013  //
  1014  // Returned Error Types:
  1015  //   * UnprocessableEntityException
  1016  //
  1017  //   * InternalServerErrorException
  1018  //
  1019  //   * ForbiddenException
  1020  //
  1021  //   * NotFoundException
  1022  //
  1023  //   * ServiceUnavailableException
  1024  //
  1025  //   * TooManyRequestsException
  1026  //
  1027  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListHarvestJobs
  1028  func (c *MediaPackage) ListHarvestJobs(input *ListHarvestJobsInput) (*ListHarvestJobsOutput, error) {
  1029  	req, out := c.ListHarvestJobsRequest(input)
  1030  	return out, req.Send()
  1031  }
  1032  
  1033  // ListHarvestJobsWithContext is the same as ListHarvestJobs with the addition of
  1034  // the ability to pass a context and additional request options.
  1035  //
  1036  // See ListHarvestJobs for details on how to use this API operation.
  1037  //
  1038  // The context must be non-nil and will be used for request cancellation. If
  1039  // the context is nil a panic will occur. In the future the SDK may create
  1040  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1041  // for more information on using Contexts.
  1042  func (c *MediaPackage) ListHarvestJobsWithContext(ctx aws.Context, input *ListHarvestJobsInput, opts ...request.Option) (*ListHarvestJobsOutput, error) {
  1043  	req, out := c.ListHarvestJobsRequest(input)
  1044  	req.SetContext(ctx)
  1045  	req.ApplyOptions(opts...)
  1046  	return out, req.Send()
  1047  }
  1048  
  1049  // ListHarvestJobsPages iterates over the pages of a ListHarvestJobs operation,
  1050  // calling the "fn" function with the response data for each page. To stop
  1051  // iterating, return false from the fn function.
  1052  //
  1053  // See ListHarvestJobs method for more information on how to use this operation.
  1054  //
  1055  // Note: This operation can generate multiple requests to a service.
  1056  //
  1057  //    // Example iterating over at most 3 pages of a ListHarvestJobs operation.
  1058  //    pageNum := 0
  1059  //    err := client.ListHarvestJobsPages(params,
  1060  //        func(page *mediapackage.ListHarvestJobsOutput, lastPage bool) bool {
  1061  //            pageNum++
  1062  //            fmt.Println(page)
  1063  //            return pageNum <= 3
  1064  //        })
  1065  //
  1066  func (c *MediaPackage) ListHarvestJobsPages(input *ListHarvestJobsInput, fn func(*ListHarvestJobsOutput, bool) bool) error {
  1067  	return c.ListHarvestJobsPagesWithContext(aws.BackgroundContext(), input, fn)
  1068  }
  1069  
  1070  // ListHarvestJobsPagesWithContext same as ListHarvestJobsPages except
  1071  // it takes a Context and allows setting request options on the pages.
  1072  //
  1073  // The context must be non-nil and will be used for request cancellation. If
  1074  // the context is nil a panic will occur. In the future the SDK may create
  1075  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1076  // for more information on using Contexts.
  1077  func (c *MediaPackage) ListHarvestJobsPagesWithContext(ctx aws.Context, input *ListHarvestJobsInput, fn func(*ListHarvestJobsOutput, bool) bool, opts ...request.Option) error {
  1078  	p := request.Pagination{
  1079  		NewRequest: func() (*request.Request, error) {
  1080  			var inCpy *ListHarvestJobsInput
  1081  			if input != nil {
  1082  				tmp := *input
  1083  				inCpy = &tmp
  1084  			}
  1085  			req, _ := c.ListHarvestJobsRequest(inCpy)
  1086  			req.SetContext(ctx)
  1087  			req.ApplyOptions(opts...)
  1088  			return req, nil
  1089  		},
  1090  	}
  1091  
  1092  	for p.Next() {
  1093  		if !fn(p.Page().(*ListHarvestJobsOutput), !p.HasNextPage()) {
  1094  			break
  1095  		}
  1096  	}
  1097  
  1098  	return p.Err()
  1099  }
  1100  
  1101  const opListOriginEndpoints = "ListOriginEndpoints"
  1102  
  1103  // ListOriginEndpointsRequest generates a "aws/request.Request" representing the
  1104  // client's request for the ListOriginEndpoints operation. The "output" return
  1105  // value will be populated with the request's response once the request completes
  1106  // successfully.
  1107  //
  1108  // Use "Send" method on the returned Request to send the API call to the service.
  1109  // the "output" return value is not valid until after Send returns without error.
  1110  //
  1111  // See ListOriginEndpoints for more information on using the ListOriginEndpoints
  1112  // API call, and error handling.
  1113  //
  1114  // This method is useful when you want to inject custom logic or configuration
  1115  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1116  //
  1117  //
  1118  //    // Example sending a request using the ListOriginEndpointsRequest method.
  1119  //    req, resp := client.ListOriginEndpointsRequest(params)
  1120  //
  1121  //    err := req.Send()
  1122  //    if err == nil { // resp is now filled
  1123  //        fmt.Println(resp)
  1124  //    }
  1125  //
  1126  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListOriginEndpoints
  1127  func (c *MediaPackage) ListOriginEndpointsRequest(input *ListOriginEndpointsInput) (req *request.Request, output *ListOriginEndpointsOutput) {
  1128  	op := &request.Operation{
  1129  		Name:       opListOriginEndpoints,
  1130  		HTTPMethod: "GET",
  1131  		HTTPPath:   "/origin_endpoints",
  1132  		Paginator: &request.Paginator{
  1133  			InputTokens:     []string{"NextToken"},
  1134  			OutputTokens:    []string{"NextToken"},
  1135  			LimitToken:      "MaxResults",
  1136  			TruncationToken: "",
  1137  		},
  1138  	}
  1139  
  1140  	if input == nil {
  1141  		input = &ListOriginEndpointsInput{}
  1142  	}
  1143  
  1144  	output = &ListOriginEndpointsOutput{}
  1145  	req = c.newRequest(op, input, output)
  1146  	return
  1147  }
  1148  
  1149  // ListOriginEndpoints API operation for AWS Elemental MediaPackage.
  1150  //
  1151  // Returns a collection of OriginEndpoint records.
  1152  //
  1153  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1154  // with awserr.Error's Code and Message methods to get detailed information about
  1155  // the error.
  1156  //
  1157  // See the AWS API reference guide for AWS Elemental MediaPackage's
  1158  // API operation ListOriginEndpoints for usage and error information.
  1159  //
  1160  // Returned Error Types:
  1161  //   * UnprocessableEntityException
  1162  //
  1163  //   * InternalServerErrorException
  1164  //
  1165  //   * ForbiddenException
  1166  //
  1167  //   * NotFoundException
  1168  //
  1169  //   * ServiceUnavailableException
  1170  //
  1171  //   * TooManyRequestsException
  1172  //
  1173  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListOriginEndpoints
  1174  func (c *MediaPackage) ListOriginEndpoints(input *ListOriginEndpointsInput) (*ListOriginEndpointsOutput, error) {
  1175  	req, out := c.ListOriginEndpointsRequest(input)
  1176  	return out, req.Send()
  1177  }
  1178  
  1179  // ListOriginEndpointsWithContext is the same as ListOriginEndpoints with the addition of
  1180  // the ability to pass a context and additional request options.
  1181  //
  1182  // See ListOriginEndpoints for details on how to use this API operation.
  1183  //
  1184  // The context must be non-nil and will be used for request cancellation. If
  1185  // the context is nil a panic will occur. In the future the SDK may create
  1186  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1187  // for more information on using Contexts.
  1188  func (c *MediaPackage) ListOriginEndpointsWithContext(ctx aws.Context, input *ListOriginEndpointsInput, opts ...request.Option) (*ListOriginEndpointsOutput, error) {
  1189  	req, out := c.ListOriginEndpointsRequest(input)
  1190  	req.SetContext(ctx)
  1191  	req.ApplyOptions(opts...)
  1192  	return out, req.Send()
  1193  }
  1194  
  1195  // ListOriginEndpointsPages iterates over the pages of a ListOriginEndpoints operation,
  1196  // calling the "fn" function with the response data for each page. To stop
  1197  // iterating, return false from the fn function.
  1198  //
  1199  // See ListOriginEndpoints method for more information on how to use this operation.
  1200  //
  1201  // Note: This operation can generate multiple requests to a service.
  1202  //
  1203  //    // Example iterating over at most 3 pages of a ListOriginEndpoints operation.
  1204  //    pageNum := 0
  1205  //    err := client.ListOriginEndpointsPages(params,
  1206  //        func(page *mediapackage.ListOriginEndpointsOutput, lastPage bool) bool {
  1207  //            pageNum++
  1208  //            fmt.Println(page)
  1209  //            return pageNum <= 3
  1210  //        })
  1211  //
  1212  func (c *MediaPackage) ListOriginEndpointsPages(input *ListOriginEndpointsInput, fn func(*ListOriginEndpointsOutput, bool) bool) error {
  1213  	return c.ListOriginEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
  1214  }
  1215  
  1216  // ListOriginEndpointsPagesWithContext same as ListOriginEndpointsPages except
  1217  // it takes a Context and allows setting request options on the pages.
  1218  //
  1219  // The context must be non-nil and will be used for request cancellation. If
  1220  // the context is nil a panic will occur. In the future the SDK may create
  1221  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1222  // for more information on using Contexts.
  1223  func (c *MediaPackage) ListOriginEndpointsPagesWithContext(ctx aws.Context, input *ListOriginEndpointsInput, fn func(*ListOriginEndpointsOutput, bool) bool, opts ...request.Option) error {
  1224  	p := request.Pagination{
  1225  		NewRequest: func() (*request.Request, error) {
  1226  			var inCpy *ListOriginEndpointsInput
  1227  			if input != nil {
  1228  				tmp := *input
  1229  				inCpy = &tmp
  1230  			}
  1231  			req, _ := c.ListOriginEndpointsRequest(inCpy)
  1232  			req.SetContext(ctx)
  1233  			req.ApplyOptions(opts...)
  1234  			return req, nil
  1235  		},
  1236  	}
  1237  
  1238  	for p.Next() {
  1239  		if !fn(p.Page().(*ListOriginEndpointsOutput), !p.HasNextPage()) {
  1240  			break
  1241  		}
  1242  	}
  1243  
  1244  	return p.Err()
  1245  }
  1246  
  1247  const opListTagsForResource = "ListTagsForResource"
  1248  
  1249  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  1250  // client's request for the ListTagsForResource operation. The "output" return
  1251  // value will be populated with the request's response once the request completes
  1252  // successfully.
  1253  //
  1254  // Use "Send" method on the returned Request to send the API call to the service.
  1255  // the "output" return value is not valid until after Send returns without error.
  1256  //
  1257  // See ListTagsForResource for more information on using the ListTagsForResource
  1258  // API call, and error handling.
  1259  //
  1260  // This method is useful when you want to inject custom logic or configuration
  1261  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1262  //
  1263  //
  1264  //    // Example sending a request using the ListTagsForResourceRequest method.
  1265  //    req, resp := client.ListTagsForResourceRequest(params)
  1266  //
  1267  //    err := req.Send()
  1268  //    if err == nil { // resp is now filled
  1269  //        fmt.Println(resp)
  1270  //    }
  1271  //
  1272  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListTagsForResource
  1273  func (c *MediaPackage) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  1274  	op := &request.Operation{
  1275  		Name:       opListTagsForResource,
  1276  		HTTPMethod: "GET",
  1277  		HTTPPath:   "/tags/{resource-arn}",
  1278  	}
  1279  
  1280  	if input == nil {
  1281  		input = &ListTagsForResourceInput{}
  1282  	}
  1283  
  1284  	output = &ListTagsForResourceOutput{}
  1285  	req = c.newRequest(op, input, output)
  1286  	return
  1287  }
  1288  
  1289  // ListTagsForResource API operation for AWS Elemental MediaPackage.
  1290  //
  1291  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1292  // with awserr.Error's Code and Message methods to get detailed information about
  1293  // the error.
  1294  //
  1295  // See the AWS API reference guide for AWS Elemental MediaPackage's
  1296  // API operation ListTagsForResource for usage and error information.
  1297  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/ListTagsForResource
  1298  func (c *MediaPackage) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  1299  	req, out := c.ListTagsForResourceRequest(input)
  1300  	return out, req.Send()
  1301  }
  1302  
  1303  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  1304  // the ability to pass a context and additional request options.
  1305  //
  1306  // See ListTagsForResource for details on how to use this API operation.
  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 *MediaPackage) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  1313  	req, out := c.ListTagsForResourceRequest(input)
  1314  	req.SetContext(ctx)
  1315  	req.ApplyOptions(opts...)
  1316  	return out, req.Send()
  1317  }
  1318  
  1319  const opRotateChannelCredentials = "RotateChannelCredentials"
  1320  
  1321  // RotateChannelCredentialsRequest generates a "aws/request.Request" representing the
  1322  // client's request for the RotateChannelCredentials operation. The "output" return
  1323  // value will be populated with the request's response once the request completes
  1324  // successfully.
  1325  //
  1326  // Use "Send" method on the returned Request to send the API call to the service.
  1327  // the "output" return value is not valid until after Send returns without error.
  1328  //
  1329  // See RotateChannelCredentials for more information on using the RotateChannelCredentials
  1330  // API call, and error handling.
  1331  //
  1332  // This method is useful when you want to inject custom logic or configuration
  1333  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1334  //
  1335  //
  1336  //    // Example sending a request using the RotateChannelCredentialsRequest method.
  1337  //    req, resp := client.RotateChannelCredentialsRequest(params)
  1338  //
  1339  //    err := req.Send()
  1340  //    if err == nil { // resp is now filled
  1341  //        fmt.Println(resp)
  1342  //    }
  1343  //
  1344  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/RotateChannelCredentials
  1345  //
  1346  // Deprecated: This API is deprecated. Please use RotateIngestEndpointCredentials instead
  1347  func (c *MediaPackage) RotateChannelCredentialsRequest(input *RotateChannelCredentialsInput) (req *request.Request, output *RotateChannelCredentialsOutput) {
  1348  	if c.Client.Config.Logger != nil {
  1349  		c.Client.Config.Logger.Log("This operation, RotateChannelCredentials, has been deprecated")
  1350  	}
  1351  	op := &request.Operation{
  1352  		Name:       opRotateChannelCredentials,
  1353  		HTTPMethod: "PUT",
  1354  		HTTPPath:   "/channels/{id}/credentials",
  1355  	}
  1356  
  1357  	if input == nil {
  1358  		input = &RotateChannelCredentialsInput{}
  1359  	}
  1360  
  1361  	output = &RotateChannelCredentialsOutput{}
  1362  	req = c.newRequest(op, input, output)
  1363  	return
  1364  }
  1365  
  1366  // RotateChannelCredentials API operation for AWS Elemental MediaPackage.
  1367  //
  1368  // Changes the Channel's first IngestEndpoint's username and password. WARNING
  1369  // - This API is deprecated. Please use RotateIngestEndpointCredentials instead
  1370  //
  1371  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1372  // with awserr.Error's Code and Message methods to get detailed information about
  1373  // the error.
  1374  //
  1375  // See the AWS API reference guide for AWS Elemental MediaPackage's
  1376  // API operation RotateChannelCredentials for usage and error information.
  1377  //
  1378  // Returned Error Types:
  1379  //   * UnprocessableEntityException
  1380  //
  1381  //   * InternalServerErrorException
  1382  //
  1383  //   * ForbiddenException
  1384  //
  1385  //   * NotFoundException
  1386  //
  1387  //   * ServiceUnavailableException
  1388  //
  1389  //   * TooManyRequestsException
  1390  //
  1391  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/RotateChannelCredentials
  1392  //
  1393  // Deprecated: This API is deprecated. Please use RotateIngestEndpointCredentials instead
  1394  func (c *MediaPackage) RotateChannelCredentials(input *RotateChannelCredentialsInput) (*RotateChannelCredentialsOutput, error) {
  1395  	req, out := c.RotateChannelCredentialsRequest(input)
  1396  	return out, req.Send()
  1397  }
  1398  
  1399  // RotateChannelCredentialsWithContext is the same as RotateChannelCredentials with the addition of
  1400  // the ability to pass a context and additional request options.
  1401  //
  1402  // See RotateChannelCredentials for details on how to use this API operation.
  1403  //
  1404  // The context must be non-nil and will be used for request cancellation. If
  1405  // the context is nil a panic will occur. In the future the SDK may create
  1406  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1407  // for more information on using Contexts.
  1408  //
  1409  // Deprecated: This API is deprecated. Please use RotateIngestEndpointCredentials instead
  1410  func (c *MediaPackage) RotateChannelCredentialsWithContext(ctx aws.Context, input *RotateChannelCredentialsInput, opts ...request.Option) (*RotateChannelCredentialsOutput, error) {
  1411  	req, out := c.RotateChannelCredentialsRequest(input)
  1412  	req.SetContext(ctx)
  1413  	req.ApplyOptions(opts...)
  1414  	return out, req.Send()
  1415  }
  1416  
  1417  const opRotateIngestEndpointCredentials = "RotateIngestEndpointCredentials"
  1418  
  1419  // RotateIngestEndpointCredentialsRequest generates a "aws/request.Request" representing the
  1420  // client's request for the RotateIngestEndpointCredentials operation. The "output" return
  1421  // value will be populated with the request's response once the request completes
  1422  // successfully.
  1423  //
  1424  // Use "Send" method on the returned Request to send the API call to the service.
  1425  // the "output" return value is not valid until after Send returns without error.
  1426  //
  1427  // See RotateIngestEndpointCredentials for more information on using the RotateIngestEndpointCredentials
  1428  // API call, and error handling.
  1429  //
  1430  // This method is useful when you want to inject custom logic or configuration
  1431  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1432  //
  1433  //
  1434  //    // Example sending a request using the RotateIngestEndpointCredentialsRequest method.
  1435  //    req, resp := client.RotateIngestEndpointCredentialsRequest(params)
  1436  //
  1437  //    err := req.Send()
  1438  //    if err == nil { // resp is now filled
  1439  //        fmt.Println(resp)
  1440  //    }
  1441  //
  1442  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/RotateIngestEndpointCredentials
  1443  func (c *MediaPackage) RotateIngestEndpointCredentialsRequest(input *RotateIngestEndpointCredentialsInput) (req *request.Request, output *RotateIngestEndpointCredentialsOutput) {
  1444  	op := &request.Operation{
  1445  		Name:       opRotateIngestEndpointCredentials,
  1446  		HTTPMethod: "PUT",
  1447  		HTTPPath:   "/channels/{id}/ingest_endpoints/{ingest_endpoint_id}/credentials",
  1448  	}
  1449  
  1450  	if input == nil {
  1451  		input = &RotateIngestEndpointCredentialsInput{}
  1452  	}
  1453  
  1454  	output = &RotateIngestEndpointCredentialsOutput{}
  1455  	req = c.newRequest(op, input, output)
  1456  	return
  1457  }
  1458  
  1459  // RotateIngestEndpointCredentials API operation for AWS Elemental MediaPackage.
  1460  //
  1461  // Rotate the IngestEndpoint's username and password, as specified by the IngestEndpoint's
  1462  // id.
  1463  //
  1464  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1465  // with awserr.Error's Code and Message methods to get detailed information about
  1466  // the error.
  1467  //
  1468  // See the AWS API reference guide for AWS Elemental MediaPackage's
  1469  // API operation RotateIngestEndpointCredentials for usage and error information.
  1470  //
  1471  // Returned Error Types:
  1472  //   * UnprocessableEntityException
  1473  //
  1474  //   * InternalServerErrorException
  1475  //
  1476  //   * ForbiddenException
  1477  //
  1478  //   * NotFoundException
  1479  //
  1480  //   * ServiceUnavailableException
  1481  //
  1482  //   * TooManyRequestsException
  1483  //
  1484  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/RotateIngestEndpointCredentials
  1485  func (c *MediaPackage) RotateIngestEndpointCredentials(input *RotateIngestEndpointCredentialsInput) (*RotateIngestEndpointCredentialsOutput, error) {
  1486  	req, out := c.RotateIngestEndpointCredentialsRequest(input)
  1487  	return out, req.Send()
  1488  }
  1489  
  1490  // RotateIngestEndpointCredentialsWithContext is the same as RotateIngestEndpointCredentials with the addition of
  1491  // the ability to pass a context and additional request options.
  1492  //
  1493  // See RotateIngestEndpointCredentials for details on how to use this API operation.
  1494  //
  1495  // The context must be non-nil and will be used for request cancellation. If
  1496  // the context is nil a panic will occur. In the future the SDK may create
  1497  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1498  // for more information on using Contexts.
  1499  func (c *MediaPackage) RotateIngestEndpointCredentialsWithContext(ctx aws.Context, input *RotateIngestEndpointCredentialsInput, opts ...request.Option) (*RotateIngestEndpointCredentialsOutput, error) {
  1500  	req, out := c.RotateIngestEndpointCredentialsRequest(input)
  1501  	req.SetContext(ctx)
  1502  	req.ApplyOptions(opts...)
  1503  	return out, req.Send()
  1504  }
  1505  
  1506  const opTagResource = "TagResource"
  1507  
  1508  // TagResourceRequest generates a "aws/request.Request" representing the
  1509  // client's request for the TagResource operation. The "output" return
  1510  // value will be populated with the request's response once the request completes
  1511  // successfully.
  1512  //
  1513  // Use "Send" method on the returned Request to send the API call to the service.
  1514  // the "output" return value is not valid until after Send returns without error.
  1515  //
  1516  // See TagResource for more information on using the TagResource
  1517  // API call, and error handling.
  1518  //
  1519  // This method is useful when you want to inject custom logic or configuration
  1520  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1521  //
  1522  //
  1523  //    // Example sending a request using the TagResourceRequest method.
  1524  //    req, resp := client.TagResourceRequest(params)
  1525  //
  1526  //    err := req.Send()
  1527  //    if err == nil { // resp is now filled
  1528  //        fmt.Println(resp)
  1529  //    }
  1530  //
  1531  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/TagResource
  1532  func (c *MediaPackage) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  1533  	op := &request.Operation{
  1534  		Name:       opTagResource,
  1535  		HTTPMethod: "POST",
  1536  		HTTPPath:   "/tags/{resource-arn}",
  1537  	}
  1538  
  1539  	if input == nil {
  1540  		input = &TagResourceInput{}
  1541  	}
  1542  
  1543  	output = &TagResourceOutput{}
  1544  	req = c.newRequest(op, input, output)
  1545  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1546  	return
  1547  }
  1548  
  1549  // TagResource API operation for AWS Elemental MediaPackage.
  1550  //
  1551  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1552  // with awserr.Error's Code and Message methods to get detailed information about
  1553  // the error.
  1554  //
  1555  // See the AWS API reference guide for AWS Elemental MediaPackage's
  1556  // API operation TagResource for usage and error information.
  1557  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/TagResource
  1558  func (c *MediaPackage) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  1559  	req, out := c.TagResourceRequest(input)
  1560  	return out, req.Send()
  1561  }
  1562  
  1563  // TagResourceWithContext is the same as TagResource with the addition of
  1564  // the ability to pass a context and additional request options.
  1565  //
  1566  // See TagResource for details on how to use this API operation.
  1567  //
  1568  // The context must be non-nil and will be used for request cancellation. If
  1569  // the context is nil a panic will occur. In the future the SDK may create
  1570  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1571  // for more information on using Contexts.
  1572  func (c *MediaPackage) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  1573  	req, out := c.TagResourceRequest(input)
  1574  	req.SetContext(ctx)
  1575  	req.ApplyOptions(opts...)
  1576  	return out, req.Send()
  1577  }
  1578  
  1579  const opUntagResource = "UntagResource"
  1580  
  1581  // UntagResourceRequest generates a "aws/request.Request" representing the
  1582  // client's request for the UntagResource operation. The "output" return
  1583  // value will be populated with the request's response once the request completes
  1584  // successfully.
  1585  //
  1586  // Use "Send" method on the returned Request to send the API call to the service.
  1587  // the "output" return value is not valid until after Send returns without error.
  1588  //
  1589  // See UntagResource for more information on using the UntagResource
  1590  // API call, and error handling.
  1591  //
  1592  // This method is useful when you want to inject custom logic or configuration
  1593  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1594  //
  1595  //
  1596  //    // Example sending a request using the UntagResourceRequest method.
  1597  //    req, resp := client.UntagResourceRequest(params)
  1598  //
  1599  //    err := req.Send()
  1600  //    if err == nil { // resp is now filled
  1601  //        fmt.Println(resp)
  1602  //    }
  1603  //
  1604  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UntagResource
  1605  func (c *MediaPackage) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  1606  	op := &request.Operation{
  1607  		Name:       opUntagResource,
  1608  		HTTPMethod: "DELETE",
  1609  		HTTPPath:   "/tags/{resource-arn}",
  1610  	}
  1611  
  1612  	if input == nil {
  1613  		input = &UntagResourceInput{}
  1614  	}
  1615  
  1616  	output = &UntagResourceOutput{}
  1617  	req = c.newRequest(op, input, output)
  1618  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1619  	return
  1620  }
  1621  
  1622  // UntagResource API operation for AWS Elemental MediaPackage.
  1623  //
  1624  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1625  // with awserr.Error's Code and Message methods to get detailed information about
  1626  // the error.
  1627  //
  1628  // See the AWS API reference guide for AWS Elemental MediaPackage's
  1629  // API operation UntagResource for usage and error information.
  1630  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UntagResource
  1631  func (c *MediaPackage) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  1632  	req, out := c.UntagResourceRequest(input)
  1633  	return out, req.Send()
  1634  }
  1635  
  1636  // UntagResourceWithContext is the same as UntagResource with the addition of
  1637  // the ability to pass a context and additional request options.
  1638  //
  1639  // See UntagResource for details on how to use this API operation.
  1640  //
  1641  // The context must be non-nil and will be used for request cancellation. If
  1642  // the context is nil a panic will occur. In the future the SDK may create
  1643  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1644  // for more information on using Contexts.
  1645  func (c *MediaPackage) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  1646  	req, out := c.UntagResourceRequest(input)
  1647  	req.SetContext(ctx)
  1648  	req.ApplyOptions(opts...)
  1649  	return out, req.Send()
  1650  }
  1651  
  1652  const opUpdateChannel = "UpdateChannel"
  1653  
  1654  // UpdateChannelRequest generates a "aws/request.Request" representing the
  1655  // client's request for the UpdateChannel operation. The "output" return
  1656  // value will be populated with the request's response once the request completes
  1657  // successfully.
  1658  //
  1659  // Use "Send" method on the returned Request to send the API call to the service.
  1660  // the "output" return value is not valid until after Send returns without error.
  1661  //
  1662  // See UpdateChannel for more information on using the UpdateChannel
  1663  // API call, and error handling.
  1664  //
  1665  // This method is useful when you want to inject custom logic or configuration
  1666  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1667  //
  1668  //
  1669  //    // Example sending a request using the UpdateChannelRequest method.
  1670  //    req, resp := client.UpdateChannelRequest(params)
  1671  //
  1672  //    err := req.Send()
  1673  //    if err == nil { // resp is now filled
  1674  //        fmt.Println(resp)
  1675  //    }
  1676  //
  1677  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateChannel
  1678  func (c *MediaPackage) UpdateChannelRequest(input *UpdateChannelInput) (req *request.Request, output *UpdateChannelOutput) {
  1679  	op := &request.Operation{
  1680  		Name:       opUpdateChannel,
  1681  		HTTPMethod: "PUT",
  1682  		HTTPPath:   "/channels/{id}",
  1683  	}
  1684  
  1685  	if input == nil {
  1686  		input = &UpdateChannelInput{}
  1687  	}
  1688  
  1689  	output = &UpdateChannelOutput{}
  1690  	req = c.newRequest(op, input, output)
  1691  	return
  1692  }
  1693  
  1694  // UpdateChannel API operation for AWS Elemental MediaPackage.
  1695  //
  1696  // Updates an existing Channel.
  1697  //
  1698  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1699  // with awserr.Error's Code and Message methods to get detailed information about
  1700  // the error.
  1701  //
  1702  // See the AWS API reference guide for AWS Elemental MediaPackage's
  1703  // API operation UpdateChannel for usage and error information.
  1704  //
  1705  // Returned Error Types:
  1706  //   * UnprocessableEntityException
  1707  //
  1708  //   * InternalServerErrorException
  1709  //
  1710  //   * ForbiddenException
  1711  //
  1712  //   * NotFoundException
  1713  //
  1714  //   * ServiceUnavailableException
  1715  //
  1716  //   * TooManyRequestsException
  1717  //
  1718  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateChannel
  1719  func (c *MediaPackage) UpdateChannel(input *UpdateChannelInput) (*UpdateChannelOutput, error) {
  1720  	req, out := c.UpdateChannelRequest(input)
  1721  	return out, req.Send()
  1722  }
  1723  
  1724  // UpdateChannelWithContext is the same as UpdateChannel with the addition of
  1725  // the ability to pass a context and additional request options.
  1726  //
  1727  // See UpdateChannel for details on how to use this API operation.
  1728  //
  1729  // The context must be non-nil and will be used for request cancellation. If
  1730  // the context is nil a panic will occur. In the future the SDK may create
  1731  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1732  // for more information on using Contexts.
  1733  func (c *MediaPackage) UpdateChannelWithContext(ctx aws.Context, input *UpdateChannelInput, opts ...request.Option) (*UpdateChannelOutput, error) {
  1734  	req, out := c.UpdateChannelRequest(input)
  1735  	req.SetContext(ctx)
  1736  	req.ApplyOptions(opts...)
  1737  	return out, req.Send()
  1738  }
  1739  
  1740  const opUpdateOriginEndpoint = "UpdateOriginEndpoint"
  1741  
  1742  // UpdateOriginEndpointRequest generates a "aws/request.Request" representing the
  1743  // client's request for the UpdateOriginEndpoint operation. The "output" return
  1744  // value will be populated with the request's response once the request completes
  1745  // successfully.
  1746  //
  1747  // Use "Send" method on the returned Request to send the API call to the service.
  1748  // the "output" return value is not valid until after Send returns without error.
  1749  //
  1750  // See UpdateOriginEndpoint for more information on using the UpdateOriginEndpoint
  1751  // API call, and error handling.
  1752  //
  1753  // This method is useful when you want to inject custom logic or configuration
  1754  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1755  //
  1756  //
  1757  //    // Example sending a request using the UpdateOriginEndpointRequest method.
  1758  //    req, resp := client.UpdateOriginEndpointRequest(params)
  1759  //
  1760  //    err := req.Send()
  1761  //    if err == nil { // resp is now filled
  1762  //        fmt.Println(resp)
  1763  //    }
  1764  //
  1765  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateOriginEndpoint
  1766  func (c *MediaPackage) UpdateOriginEndpointRequest(input *UpdateOriginEndpointInput) (req *request.Request, output *UpdateOriginEndpointOutput) {
  1767  	op := &request.Operation{
  1768  		Name:       opUpdateOriginEndpoint,
  1769  		HTTPMethod: "PUT",
  1770  		HTTPPath:   "/origin_endpoints/{id}",
  1771  	}
  1772  
  1773  	if input == nil {
  1774  		input = &UpdateOriginEndpointInput{}
  1775  	}
  1776  
  1777  	output = &UpdateOriginEndpointOutput{}
  1778  	req = c.newRequest(op, input, output)
  1779  	return
  1780  }
  1781  
  1782  // UpdateOriginEndpoint API operation for AWS Elemental MediaPackage.
  1783  //
  1784  // Updates an existing OriginEndpoint.
  1785  //
  1786  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1787  // with awserr.Error's Code and Message methods to get detailed information about
  1788  // the error.
  1789  //
  1790  // See the AWS API reference guide for AWS Elemental MediaPackage's
  1791  // API operation UpdateOriginEndpoint for usage and error information.
  1792  //
  1793  // Returned Error Types:
  1794  //   * UnprocessableEntityException
  1795  //
  1796  //   * InternalServerErrorException
  1797  //
  1798  //   * ForbiddenException
  1799  //
  1800  //   * NotFoundException
  1801  //
  1802  //   * ServiceUnavailableException
  1803  //
  1804  //   * TooManyRequestsException
  1805  //
  1806  // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackage-2017-10-12/UpdateOriginEndpoint
  1807  func (c *MediaPackage) UpdateOriginEndpoint(input *UpdateOriginEndpointInput) (*UpdateOriginEndpointOutput, error) {
  1808  	req, out := c.UpdateOriginEndpointRequest(input)
  1809  	return out, req.Send()
  1810  }
  1811  
  1812  // UpdateOriginEndpointWithContext is the same as UpdateOriginEndpoint with the addition of
  1813  // the ability to pass a context and additional request options.
  1814  //
  1815  // See UpdateOriginEndpoint for details on how to use this API operation.
  1816  //
  1817  // The context must be non-nil and will be used for request cancellation. If
  1818  // the context is nil a panic will occur. In the future the SDK may create
  1819  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1820  // for more information on using Contexts.
  1821  func (c *MediaPackage) UpdateOriginEndpointWithContext(ctx aws.Context, input *UpdateOriginEndpointInput, opts ...request.Option) (*UpdateOriginEndpointOutput, error) {
  1822  	req, out := c.UpdateOriginEndpointRequest(input)
  1823  	req.SetContext(ctx)
  1824  	req.ApplyOptions(opts...)
  1825  	return out, req.Send()
  1826  }
  1827  
  1828  // CDN Authorization credentials
  1829  type Authorization struct {
  1830  	_ struct{} `type:"structure"`
  1831  
  1832  	// The Amazon Resource Name (ARN) for the secret in Secrets Manager that your
  1833  	// Content Distribution Network (CDN) uses for authorization to access your
  1834  	// endpoint.
  1835  	//
  1836  	// CdnIdentifierSecret is a required field
  1837  	CdnIdentifierSecret *string `locationName:"cdnIdentifierSecret" type:"string" required:"true"`
  1838  
  1839  	// The Amazon Resource Name (ARN) for the IAM role that allows MediaPackage
  1840  	// to communicate with AWS Secrets Manager.
  1841  	//
  1842  	// SecretsRoleArn is a required field
  1843  	SecretsRoleArn *string `locationName:"secretsRoleArn" type:"string" required:"true"`
  1844  }
  1845  
  1846  // String returns the string representation.
  1847  //
  1848  // API parameter values that are decorated as "sensitive" in the API will not
  1849  // be included in the string output. The member name will be present, but the
  1850  // value will be replaced with "sensitive".
  1851  func (s Authorization) String() string {
  1852  	return awsutil.Prettify(s)
  1853  }
  1854  
  1855  // GoString returns the string representation.
  1856  //
  1857  // API parameter values that are decorated as "sensitive" in the API will not
  1858  // be included in the string output. The member name will be present, but the
  1859  // value will be replaced with "sensitive".
  1860  func (s Authorization) GoString() string {
  1861  	return s.String()
  1862  }
  1863  
  1864  // Validate inspects the fields of the type to determine if they are valid.
  1865  func (s *Authorization) Validate() error {
  1866  	invalidParams := request.ErrInvalidParams{Context: "Authorization"}
  1867  	if s.CdnIdentifierSecret == nil {
  1868  		invalidParams.Add(request.NewErrParamRequired("CdnIdentifierSecret"))
  1869  	}
  1870  	if s.SecretsRoleArn == nil {
  1871  		invalidParams.Add(request.NewErrParamRequired("SecretsRoleArn"))
  1872  	}
  1873  
  1874  	if invalidParams.Len() > 0 {
  1875  		return invalidParams
  1876  	}
  1877  	return nil
  1878  }
  1879  
  1880  // SetCdnIdentifierSecret sets the CdnIdentifierSecret field's value.
  1881  func (s *Authorization) SetCdnIdentifierSecret(v string) *Authorization {
  1882  	s.CdnIdentifierSecret = &v
  1883  	return s
  1884  }
  1885  
  1886  // SetSecretsRoleArn sets the SecretsRoleArn field's value.
  1887  func (s *Authorization) SetSecretsRoleArn(v string) *Authorization {
  1888  	s.SecretsRoleArn = &v
  1889  	return s
  1890  }
  1891  
  1892  // A Channel resource configuration.
  1893  type Channel struct {
  1894  	_ struct{} `type:"structure"`
  1895  
  1896  	// The Amazon Resource Name (ARN) assigned to the Channel.
  1897  	Arn *string `locationName:"arn" type:"string"`
  1898  
  1899  	// A short text description of the Channel.
  1900  	Description *string `locationName:"description" type:"string"`
  1901  
  1902  	// Configure egress access logging.
  1903  	EgressAccessLogs *EgressAccessLogs `locationName:"egressAccessLogs" type:"structure"`
  1904  
  1905  	// An HTTP Live Streaming (HLS) ingest resource configuration.
  1906  	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
  1907  
  1908  	// The ID of the Channel.
  1909  	Id *string `locationName:"id" type:"string"`
  1910  
  1911  	// Configure ingress access logging.
  1912  	IngressAccessLogs *IngressAccessLogs `locationName:"ingressAccessLogs" type:"structure"`
  1913  
  1914  	// A collection of tags associated with a resource
  1915  	Tags map[string]*string `locationName:"tags" type:"map"`
  1916  }
  1917  
  1918  // String returns the string representation.
  1919  //
  1920  // API parameter values that are decorated as "sensitive" in the API will not
  1921  // be included in the string output. The member name will be present, but the
  1922  // value will be replaced with "sensitive".
  1923  func (s Channel) String() string {
  1924  	return awsutil.Prettify(s)
  1925  }
  1926  
  1927  // GoString returns the string representation.
  1928  //
  1929  // API parameter values that are decorated as "sensitive" in the API will not
  1930  // be included in the string output. The member name will be present, but the
  1931  // value will be replaced with "sensitive".
  1932  func (s Channel) GoString() string {
  1933  	return s.String()
  1934  }
  1935  
  1936  // SetArn sets the Arn field's value.
  1937  func (s *Channel) SetArn(v string) *Channel {
  1938  	s.Arn = &v
  1939  	return s
  1940  }
  1941  
  1942  // SetDescription sets the Description field's value.
  1943  func (s *Channel) SetDescription(v string) *Channel {
  1944  	s.Description = &v
  1945  	return s
  1946  }
  1947  
  1948  // SetEgressAccessLogs sets the EgressAccessLogs field's value.
  1949  func (s *Channel) SetEgressAccessLogs(v *EgressAccessLogs) *Channel {
  1950  	s.EgressAccessLogs = v
  1951  	return s
  1952  }
  1953  
  1954  // SetHlsIngest sets the HlsIngest field's value.
  1955  func (s *Channel) SetHlsIngest(v *HlsIngest) *Channel {
  1956  	s.HlsIngest = v
  1957  	return s
  1958  }
  1959  
  1960  // SetId sets the Id field's value.
  1961  func (s *Channel) SetId(v string) *Channel {
  1962  	s.Id = &v
  1963  	return s
  1964  }
  1965  
  1966  // SetIngressAccessLogs sets the IngressAccessLogs field's value.
  1967  func (s *Channel) SetIngressAccessLogs(v *IngressAccessLogs) *Channel {
  1968  	s.IngressAccessLogs = v
  1969  	return s
  1970  }
  1971  
  1972  // SetTags sets the Tags field's value.
  1973  func (s *Channel) SetTags(v map[string]*string) *Channel {
  1974  	s.Tags = v
  1975  	return s
  1976  }
  1977  
  1978  // A Common Media Application Format (CMAF) encryption configuration.
  1979  type CmafEncryption struct {
  1980  	_ struct{} `type:"structure"`
  1981  
  1982  	// An optional 128-bit, 16-byte hex value represented by a 32-character string,
  1983  	// used in conjunction with the key for encrypting blocks. If you don't specify
  1984  	// a value, then MediaPackage creates the constant initialization vector (IV).
  1985  	ConstantInitializationVector *string `locationName:"constantInitializationVector" type:"string"`
  1986  
  1987  	// Time (in seconds) between each encryption key rotation.
  1988  	KeyRotationIntervalSeconds *int64 `locationName:"keyRotationIntervalSeconds" type:"integer"`
  1989  
  1990  	// A configuration for accessing an external Secure Packager and Encoder Key
  1991  	// Exchange (SPEKE) service that will provide encryption keys.
  1992  	//
  1993  	// SpekeKeyProvider is a required field
  1994  	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
  1995  }
  1996  
  1997  // String returns the string representation.
  1998  //
  1999  // API parameter values that are decorated as "sensitive" in the API will not
  2000  // be included in the string output. The member name will be present, but the
  2001  // value will be replaced with "sensitive".
  2002  func (s CmafEncryption) String() string {
  2003  	return awsutil.Prettify(s)
  2004  }
  2005  
  2006  // GoString returns the string representation.
  2007  //
  2008  // API parameter values that are decorated as "sensitive" in the API will not
  2009  // be included in the string output. The member name will be present, but the
  2010  // value will be replaced with "sensitive".
  2011  func (s CmafEncryption) GoString() string {
  2012  	return s.String()
  2013  }
  2014  
  2015  // Validate inspects the fields of the type to determine if they are valid.
  2016  func (s *CmafEncryption) Validate() error {
  2017  	invalidParams := request.ErrInvalidParams{Context: "CmafEncryption"}
  2018  	if s.SpekeKeyProvider == nil {
  2019  		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
  2020  	}
  2021  	if s.SpekeKeyProvider != nil {
  2022  		if err := s.SpekeKeyProvider.Validate(); err != nil {
  2023  			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
  2024  		}
  2025  	}
  2026  
  2027  	if invalidParams.Len() > 0 {
  2028  		return invalidParams
  2029  	}
  2030  	return nil
  2031  }
  2032  
  2033  // SetConstantInitializationVector sets the ConstantInitializationVector field's value.
  2034  func (s *CmafEncryption) SetConstantInitializationVector(v string) *CmafEncryption {
  2035  	s.ConstantInitializationVector = &v
  2036  	return s
  2037  }
  2038  
  2039  // SetKeyRotationIntervalSeconds sets the KeyRotationIntervalSeconds field's value.
  2040  func (s *CmafEncryption) SetKeyRotationIntervalSeconds(v int64) *CmafEncryption {
  2041  	s.KeyRotationIntervalSeconds = &v
  2042  	return s
  2043  }
  2044  
  2045  // SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
  2046  func (s *CmafEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *CmafEncryption {
  2047  	s.SpekeKeyProvider = v
  2048  	return s
  2049  }
  2050  
  2051  // A Common Media Application Format (CMAF) packaging configuration.
  2052  type CmafPackage struct {
  2053  	_ struct{} `type:"structure"`
  2054  
  2055  	// A Common Media Application Format (CMAF) encryption configuration.
  2056  	Encryption *CmafEncryption `locationName:"encryption" type:"structure"`
  2057  
  2058  	// A list of HLS manifest configurations
  2059  	HlsManifests []*HlsManifest `locationName:"hlsManifests" type:"list"`
  2060  
  2061  	// Duration (in seconds) of each segment. Actual segments will berounded to
  2062  	// the nearest multiple of the source segment duration.
  2063  	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
  2064  
  2065  	// An optional custom string that is prepended to the name of each segment.
  2066  	// If not specified, it defaults to the ChannelId.
  2067  	SegmentPrefix *string `locationName:"segmentPrefix" type:"string"`
  2068  
  2069  	// A StreamSelection configuration.
  2070  	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
  2071  }
  2072  
  2073  // String returns the string representation.
  2074  //
  2075  // API parameter values that are decorated as "sensitive" in the API will not
  2076  // be included in the string output. The member name will be present, but the
  2077  // value will be replaced with "sensitive".
  2078  func (s CmafPackage) String() string {
  2079  	return awsutil.Prettify(s)
  2080  }
  2081  
  2082  // GoString returns the string representation.
  2083  //
  2084  // API parameter values that are decorated as "sensitive" in the API will not
  2085  // be included in the string output. The member name will be present, but the
  2086  // value will be replaced with "sensitive".
  2087  func (s CmafPackage) GoString() string {
  2088  	return s.String()
  2089  }
  2090  
  2091  // SetEncryption sets the Encryption field's value.
  2092  func (s *CmafPackage) SetEncryption(v *CmafEncryption) *CmafPackage {
  2093  	s.Encryption = v
  2094  	return s
  2095  }
  2096  
  2097  // SetHlsManifests sets the HlsManifests field's value.
  2098  func (s *CmafPackage) SetHlsManifests(v []*HlsManifest) *CmafPackage {
  2099  	s.HlsManifests = v
  2100  	return s
  2101  }
  2102  
  2103  // SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
  2104  func (s *CmafPackage) SetSegmentDurationSeconds(v int64) *CmafPackage {
  2105  	s.SegmentDurationSeconds = &v
  2106  	return s
  2107  }
  2108  
  2109  // SetSegmentPrefix sets the SegmentPrefix field's value.
  2110  func (s *CmafPackage) SetSegmentPrefix(v string) *CmafPackage {
  2111  	s.SegmentPrefix = &v
  2112  	return s
  2113  }
  2114  
  2115  // SetStreamSelection sets the StreamSelection field's value.
  2116  func (s *CmafPackage) SetStreamSelection(v *StreamSelection) *CmafPackage {
  2117  	s.StreamSelection = v
  2118  	return s
  2119  }
  2120  
  2121  // A Common Media Application Format (CMAF) packaging configuration.
  2122  type CmafPackageCreateOrUpdateParameters struct {
  2123  	_ struct{} `type:"structure"`
  2124  
  2125  	// A Common Media Application Format (CMAF) encryption configuration.
  2126  	Encryption *CmafEncryption `locationName:"encryption" type:"structure"`
  2127  
  2128  	// A list of HLS manifest configurations
  2129  	HlsManifests []*HlsManifestCreateOrUpdateParameters `locationName:"hlsManifests" type:"list"`
  2130  
  2131  	// Duration (in seconds) of each segment. Actual segments will berounded to
  2132  	// the nearest multiple of the source segment duration.
  2133  	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
  2134  
  2135  	// An optional custom string that is prepended to the name of each segment.
  2136  	// If not specified, it defaults to the ChannelId.
  2137  	SegmentPrefix *string `locationName:"segmentPrefix" type:"string"`
  2138  
  2139  	// A StreamSelection configuration.
  2140  	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
  2141  }
  2142  
  2143  // String returns the string representation.
  2144  //
  2145  // API parameter values that are decorated as "sensitive" in the API will not
  2146  // be included in the string output. The member name will be present, but the
  2147  // value will be replaced with "sensitive".
  2148  func (s CmafPackageCreateOrUpdateParameters) String() string {
  2149  	return awsutil.Prettify(s)
  2150  }
  2151  
  2152  // GoString returns the string representation.
  2153  //
  2154  // API parameter values that are decorated as "sensitive" in the API will not
  2155  // be included in the string output. The member name will be present, but the
  2156  // value will be replaced with "sensitive".
  2157  func (s CmafPackageCreateOrUpdateParameters) GoString() string {
  2158  	return s.String()
  2159  }
  2160  
  2161  // Validate inspects the fields of the type to determine if they are valid.
  2162  func (s *CmafPackageCreateOrUpdateParameters) Validate() error {
  2163  	invalidParams := request.ErrInvalidParams{Context: "CmafPackageCreateOrUpdateParameters"}
  2164  	if s.Encryption != nil {
  2165  		if err := s.Encryption.Validate(); err != nil {
  2166  			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
  2167  		}
  2168  	}
  2169  	if s.HlsManifests != nil {
  2170  		for i, v := range s.HlsManifests {
  2171  			if v == nil {
  2172  				continue
  2173  			}
  2174  			if err := v.Validate(); err != nil {
  2175  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HlsManifests", i), err.(request.ErrInvalidParams))
  2176  			}
  2177  		}
  2178  	}
  2179  
  2180  	if invalidParams.Len() > 0 {
  2181  		return invalidParams
  2182  	}
  2183  	return nil
  2184  }
  2185  
  2186  // SetEncryption sets the Encryption field's value.
  2187  func (s *CmafPackageCreateOrUpdateParameters) SetEncryption(v *CmafEncryption) *CmafPackageCreateOrUpdateParameters {
  2188  	s.Encryption = v
  2189  	return s
  2190  }
  2191  
  2192  // SetHlsManifests sets the HlsManifests field's value.
  2193  func (s *CmafPackageCreateOrUpdateParameters) SetHlsManifests(v []*HlsManifestCreateOrUpdateParameters) *CmafPackageCreateOrUpdateParameters {
  2194  	s.HlsManifests = v
  2195  	return s
  2196  }
  2197  
  2198  // SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
  2199  func (s *CmafPackageCreateOrUpdateParameters) SetSegmentDurationSeconds(v int64) *CmafPackageCreateOrUpdateParameters {
  2200  	s.SegmentDurationSeconds = &v
  2201  	return s
  2202  }
  2203  
  2204  // SetSegmentPrefix sets the SegmentPrefix field's value.
  2205  func (s *CmafPackageCreateOrUpdateParameters) SetSegmentPrefix(v string) *CmafPackageCreateOrUpdateParameters {
  2206  	s.SegmentPrefix = &v
  2207  	return s
  2208  }
  2209  
  2210  // SetStreamSelection sets the StreamSelection field's value.
  2211  func (s *CmafPackageCreateOrUpdateParameters) SetStreamSelection(v *StreamSelection) *CmafPackageCreateOrUpdateParameters {
  2212  	s.StreamSelection = v
  2213  	return s
  2214  }
  2215  
  2216  type ConfigureLogsInput struct {
  2217  	_ struct{} `type:"structure"`
  2218  
  2219  	// Configure egress access logging.
  2220  	EgressAccessLogs *EgressAccessLogs `locationName:"egressAccessLogs" type:"structure"`
  2221  
  2222  	// Id is a required field
  2223  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  2224  
  2225  	// Configure ingress access logging.
  2226  	IngressAccessLogs *IngressAccessLogs `locationName:"ingressAccessLogs" type:"structure"`
  2227  }
  2228  
  2229  // String returns the string representation.
  2230  //
  2231  // API parameter values that are decorated as "sensitive" in the API will not
  2232  // be included in the string output. The member name will be present, but the
  2233  // value will be replaced with "sensitive".
  2234  func (s ConfigureLogsInput) String() string {
  2235  	return awsutil.Prettify(s)
  2236  }
  2237  
  2238  // GoString returns the string representation.
  2239  //
  2240  // API parameter values that are decorated as "sensitive" in the API will not
  2241  // be included in the string output. The member name will be present, but the
  2242  // value will be replaced with "sensitive".
  2243  func (s ConfigureLogsInput) GoString() string {
  2244  	return s.String()
  2245  }
  2246  
  2247  // Validate inspects the fields of the type to determine if they are valid.
  2248  func (s *ConfigureLogsInput) Validate() error {
  2249  	invalidParams := request.ErrInvalidParams{Context: "ConfigureLogsInput"}
  2250  	if s.Id == nil {
  2251  		invalidParams.Add(request.NewErrParamRequired("Id"))
  2252  	}
  2253  	if s.Id != nil && len(*s.Id) < 1 {
  2254  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  2255  	}
  2256  
  2257  	if invalidParams.Len() > 0 {
  2258  		return invalidParams
  2259  	}
  2260  	return nil
  2261  }
  2262  
  2263  // SetEgressAccessLogs sets the EgressAccessLogs field's value.
  2264  func (s *ConfigureLogsInput) SetEgressAccessLogs(v *EgressAccessLogs) *ConfigureLogsInput {
  2265  	s.EgressAccessLogs = v
  2266  	return s
  2267  }
  2268  
  2269  // SetId sets the Id field's value.
  2270  func (s *ConfigureLogsInput) SetId(v string) *ConfigureLogsInput {
  2271  	s.Id = &v
  2272  	return s
  2273  }
  2274  
  2275  // SetIngressAccessLogs sets the IngressAccessLogs field's value.
  2276  func (s *ConfigureLogsInput) SetIngressAccessLogs(v *IngressAccessLogs) *ConfigureLogsInput {
  2277  	s.IngressAccessLogs = v
  2278  	return s
  2279  }
  2280  
  2281  type ConfigureLogsOutput struct {
  2282  	_ struct{} `type:"structure"`
  2283  
  2284  	Arn *string `locationName:"arn" type:"string"`
  2285  
  2286  	Description *string `locationName:"description" type:"string"`
  2287  
  2288  	// Configure egress access logging.
  2289  	EgressAccessLogs *EgressAccessLogs `locationName:"egressAccessLogs" type:"structure"`
  2290  
  2291  	// An HTTP Live Streaming (HLS) ingest resource configuration.
  2292  	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
  2293  
  2294  	Id *string `locationName:"id" type:"string"`
  2295  
  2296  	// Configure ingress access logging.
  2297  	IngressAccessLogs *IngressAccessLogs `locationName:"ingressAccessLogs" type:"structure"`
  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 ConfigureLogsOutput) 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 ConfigureLogsOutput) GoString() string {
  2318  	return s.String()
  2319  }
  2320  
  2321  // SetArn sets the Arn field's value.
  2322  func (s *ConfigureLogsOutput) SetArn(v string) *ConfigureLogsOutput {
  2323  	s.Arn = &v
  2324  	return s
  2325  }
  2326  
  2327  // SetDescription sets the Description field's value.
  2328  func (s *ConfigureLogsOutput) SetDescription(v string) *ConfigureLogsOutput {
  2329  	s.Description = &v
  2330  	return s
  2331  }
  2332  
  2333  // SetEgressAccessLogs sets the EgressAccessLogs field's value.
  2334  func (s *ConfigureLogsOutput) SetEgressAccessLogs(v *EgressAccessLogs) *ConfigureLogsOutput {
  2335  	s.EgressAccessLogs = v
  2336  	return s
  2337  }
  2338  
  2339  // SetHlsIngest sets the HlsIngest field's value.
  2340  func (s *ConfigureLogsOutput) SetHlsIngest(v *HlsIngest) *ConfigureLogsOutput {
  2341  	s.HlsIngest = v
  2342  	return s
  2343  }
  2344  
  2345  // SetId sets the Id field's value.
  2346  func (s *ConfigureLogsOutput) SetId(v string) *ConfigureLogsOutput {
  2347  	s.Id = &v
  2348  	return s
  2349  }
  2350  
  2351  // SetIngressAccessLogs sets the IngressAccessLogs field's value.
  2352  func (s *ConfigureLogsOutput) SetIngressAccessLogs(v *IngressAccessLogs) *ConfigureLogsOutput {
  2353  	s.IngressAccessLogs = v
  2354  	return s
  2355  }
  2356  
  2357  // SetTags sets the Tags field's value.
  2358  func (s *ConfigureLogsOutput) SetTags(v map[string]*string) *ConfigureLogsOutput {
  2359  	s.Tags = v
  2360  	return s
  2361  }
  2362  
  2363  type CreateChannelInput struct {
  2364  	_ struct{} `type:"structure"`
  2365  
  2366  	Description *string `locationName:"description" type:"string"`
  2367  
  2368  	// Id is a required field
  2369  	Id *string `locationName:"id" type:"string" required:"true"`
  2370  
  2371  	// A collection of tags associated with a resource
  2372  	Tags map[string]*string `locationName:"tags" type:"map"`
  2373  }
  2374  
  2375  // String returns the string representation.
  2376  //
  2377  // API parameter values that are decorated as "sensitive" in the API will not
  2378  // be included in the string output. The member name will be present, but the
  2379  // value will be replaced with "sensitive".
  2380  func (s CreateChannelInput) String() string {
  2381  	return awsutil.Prettify(s)
  2382  }
  2383  
  2384  // GoString returns the string representation.
  2385  //
  2386  // API parameter values that are decorated as "sensitive" in the API will not
  2387  // be included in the string output. The member name will be present, but the
  2388  // value will be replaced with "sensitive".
  2389  func (s CreateChannelInput) GoString() string {
  2390  	return s.String()
  2391  }
  2392  
  2393  // Validate inspects the fields of the type to determine if they are valid.
  2394  func (s *CreateChannelInput) Validate() error {
  2395  	invalidParams := request.ErrInvalidParams{Context: "CreateChannelInput"}
  2396  	if s.Id == nil {
  2397  		invalidParams.Add(request.NewErrParamRequired("Id"))
  2398  	}
  2399  
  2400  	if invalidParams.Len() > 0 {
  2401  		return invalidParams
  2402  	}
  2403  	return nil
  2404  }
  2405  
  2406  // SetDescription sets the Description field's value.
  2407  func (s *CreateChannelInput) SetDescription(v string) *CreateChannelInput {
  2408  	s.Description = &v
  2409  	return s
  2410  }
  2411  
  2412  // SetId sets the Id field's value.
  2413  func (s *CreateChannelInput) SetId(v string) *CreateChannelInput {
  2414  	s.Id = &v
  2415  	return s
  2416  }
  2417  
  2418  // SetTags sets the Tags field's value.
  2419  func (s *CreateChannelInput) SetTags(v map[string]*string) *CreateChannelInput {
  2420  	s.Tags = v
  2421  	return s
  2422  }
  2423  
  2424  type CreateChannelOutput struct {
  2425  	_ struct{} `type:"structure"`
  2426  
  2427  	Arn *string `locationName:"arn" type:"string"`
  2428  
  2429  	Description *string `locationName:"description" type:"string"`
  2430  
  2431  	// Configure egress access logging.
  2432  	EgressAccessLogs *EgressAccessLogs `locationName:"egressAccessLogs" type:"structure"`
  2433  
  2434  	// An HTTP Live Streaming (HLS) ingest resource configuration.
  2435  	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
  2436  
  2437  	Id *string `locationName:"id" type:"string"`
  2438  
  2439  	// Configure ingress access logging.
  2440  	IngressAccessLogs *IngressAccessLogs `locationName:"ingressAccessLogs" type:"structure"`
  2441  
  2442  	// A collection of tags associated with a resource
  2443  	Tags map[string]*string `locationName:"tags" type:"map"`
  2444  }
  2445  
  2446  // String returns the string representation.
  2447  //
  2448  // API parameter values that are decorated as "sensitive" in the API will not
  2449  // be included in the string output. The member name will be present, but the
  2450  // value will be replaced with "sensitive".
  2451  func (s CreateChannelOutput) String() string {
  2452  	return awsutil.Prettify(s)
  2453  }
  2454  
  2455  // GoString returns the string representation.
  2456  //
  2457  // API parameter values that are decorated as "sensitive" in the API will not
  2458  // be included in the string output. The member name will be present, but the
  2459  // value will be replaced with "sensitive".
  2460  func (s CreateChannelOutput) GoString() string {
  2461  	return s.String()
  2462  }
  2463  
  2464  // SetArn sets the Arn field's value.
  2465  func (s *CreateChannelOutput) SetArn(v string) *CreateChannelOutput {
  2466  	s.Arn = &v
  2467  	return s
  2468  }
  2469  
  2470  // SetDescription sets the Description field's value.
  2471  func (s *CreateChannelOutput) SetDescription(v string) *CreateChannelOutput {
  2472  	s.Description = &v
  2473  	return s
  2474  }
  2475  
  2476  // SetEgressAccessLogs sets the EgressAccessLogs field's value.
  2477  func (s *CreateChannelOutput) SetEgressAccessLogs(v *EgressAccessLogs) *CreateChannelOutput {
  2478  	s.EgressAccessLogs = v
  2479  	return s
  2480  }
  2481  
  2482  // SetHlsIngest sets the HlsIngest field's value.
  2483  func (s *CreateChannelOutput) SetHlsIngest(v *HlsIngest) *CreateChannelOutput {
  2484  	s.HlsIngest = v
  2485  	return s
  2486  }
  2487  
  2488  // SetId sets the Id field's value.
  2489  func (s *CreateChannelOutput) SetId(v string) *CreateChannelOutput {
  2490  	s.Id = &v
  2491  	return s
  2492  }
  2493  
  2494  // SetIngressAccessLogs sets the IngressAccessLogs field's value.
  2495  func (s *CreateChannelOutput) SetIngressAccessLogs(v *IngressAccessLogs) *CreateChannelOutput {
  2496  	s.IngressAccessLogs = v
  2497  	return s
  2498  }
  2499  
  2500  // SetTags sets the Tags field's value.
  2501  func (s *CreateChannelOutput) SetTags(v map[string]*string) *CreateChannelOutput {
  2502  	s.Tags = v
  2503  	return s
  2504  }
  2505  
  2506  type CreateHarvestJobInput struct {
  2507  	_ struct{} `type:"structure"`
  2508  
  2509  	// EndTime is a required field
  2510  	EndTime *string `locationName:"endTime" type:"string" required:"true"`
  2511  
  2512  	// Id is a required field
  2513  	Id *string `locationName:"id" type:"string" required:"true"`
  2514  
  2515  	// OriginEndpointId is a required field
  2516  	OriginEndpointId *string `locationName:"originEndpointId" type:"string" required:"true"`
  2517  
  2518  	// Configuration parameters for where in an S3 bucket to place the harvested
  2519  	// content
  2520  	//
  2521  	// S3Destination is a required field
  2522  	S3Destination *S3Destination `locationName:"s3Destination" type:"structure" required:"true"`
  2523  
  2524  	// StartTime is a required field
  2525  	StartTime *string `locationName:"startTime" type:"string" required:"true"`
  2526  }
  2527  
  2528  // String returns the string representation.
  2529  //
  2530  // API parameter values that are decorated as "sensitive" in the API will not
  2531  // be included in the string output. The member name will be present, but the
  2532  // value will be replaced with "sensitive".
  2533  func (s CreateHarvestJobInput) String() string {
  2534  	return awsutil.Prettify(s)
  2535  }
  2536  
  2537  // GoString returns the string representation.
  2538  //
  2539  // API parameter values that are decorated as "sensitive" in the API will not
  2540  // be included in the string output. The member name will be present, but the
  2541  // value will be replaced with "sensitive".
  2542  func (s CreateHarvestJobInput) GoString() string {
  2543  	return s.String()
  2544  }
  2545  
  2546  // Validate inspects the fields of the type to determine if they are valid.
  2547  func (s *CreateHarvestJobInput) Validate() error {
  2548  	invalidParams := request.ErrInvalidParams{Context: "CreateHarvestJobInput"}
  2549  	if s.EndTime == nil {
  2550  		invalidParams.Add(request.NewErrParamRequired("EndTime"))
  2551  	}
  2552  	if s.Id == nil {
  2553  		invalidParams.Add(request.NewErrParamRequired("Id"))
  2554  	}
  2555  	if s.OriginEndpointId == nil {
  2556  		invalidParams.Add(request.NewErrParamRequired("OriginEndpointId"))
  2557  	}
  2558  	if s.S3Destination == nil {
  2559  		invalidParams.Add(request.NewErrParamRequired("S3Destination"))
  2560  	}
  2561  	if s.StartTime == nil {
  2562  		invalidParams.Add(request.NewErrParamRequired("StartTime"))
  2563  	}
  2564  	if s.S3Destination != nil {
  2565  		if err := s.S3Destination.Validate(); err != nil {
  2566  			invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams))
  2567  		}
  2568  	}
  2569  
  2570  	if invalidParams.Len() > 0 {
  2571  		return invalidParams
  2572  	}
  2573  	return nil
  2574  }
  2575  
  2576  // SetEndTime sets the EndTime field's value.
  2577  func (s *CreateHarvestJobInput) SetEndTime(v string) *CreateHarvestJobInput {
  2578  	s.EndTime = &v
  2579  	return s
  2580  }
  2581  
  2582  // SetId sets the Id field's value.
  2583  func (s *CreateHarvestJobInput) SetId(v string) *CreateHarvestJobInput {
  2584  	s.Id = &v
  2585  	return s
  2586  }
  2587  
  2588  // SetOriginEndpointId sets the OriginEndpointId field's value.
  2589  func (s *CreateHarvestJobInput) SetOriginEndpointId(v string) *CreateHarvestJobInput {
  2590  	s.OriginEndpointId = &v
  2591  	return s
  2592  }
  2593  
  2594  // SetS3Destination sets the S3Destination field's value.
  2595  func (s *CreateHarvestJobInput) SetS3Destination(v *S3Destination) *CreateHarvestJobInput {
  2596  	s.S3Destination = v
  2597  	return s
  2598  }
  2599  
  2600  // SetStartTime sets the StartTime field's value.
  2601  func (s *CreateHarvestJobInput) SetStartTime(v string) *CreateHarvestJobInput {
  2602  	s.StartTime = &v
  2603  	return s
  2604  }
  2605  
  2606  type CreateHarvestJobOutput struct {
  2607  	_ struct{} `type:"structure"`
  2608  
  2609  	Arn *string `locationName:"arn" type:"string"`
  2610  
  2611  	ChannelId *string `locationName:"channelId" type:"string"`
  2612  
  2613  	CreatedAt *string `locationName:"createdAt" type:"string"`
  2614  
  2615  	EndTime *string `locationName:"endTime" type:"string"`
  2616  
  2617  	Id *string `locationName:"id" type:"string"`
  2618  
  2619  	OriginEndpointId *string `locationName:"originEndpointId" type:"string"`
  2620  
  2621  	// Configuration parameters for where in an S3 bucket to place the harvested
  2622  	// content
  2623  	S3Destination *S3Destination `locationName:"s3Destination" type:"structure"`
  2624  
  2625  	StartTime *string `locationName:"startTime" type:"string"`
  2626  
  2627  	Status *string `locationName:"status" type:"string" enum:"Status"`
  2628  }
  2629  
  2630  // String returns the string representation.
  2631  //
  2632  // API parameter values that are decorated as "sensitive" in the API will not
  2633  // be included in the string output. The member name will be present, but the
  2634  // value will be replaced with "sensitive".
  2635  func (s CreateHarvestJobOutput) String() string {
  2636  	return awsutil.Prettify(s)
  2637  }
  2638  
  2639  // GoString returns the string representation.
  2640  //
  2641  // API parameter values that are decorated as "sensitive" in the API will not
  2642  // be included in the string output. The member name will be present, but the
  2643  // value will be replaced with "sensitive".
  2644  func (s CreateHarvestJobOutput) GoString() string {
  2645  	return s.String()
  2646  }
  2647  
  2648  // SetArn sets the Arn field's value.
  2649  func (s *CreateHarvestJobOutput) SetArn(v string) *CreateHarvestJobOutput {
  2650  	s.Arn = &v
  2651  	return s
  2652  }
  2653  
  2654  // SetChannelId sets the ChannelId field's value.
  2655  func (s *CreateHarvestJobOutput) SetChannelId(v string) *CreateHarvestJobOutput {
  2656  	s.ChannelId = &v
  2657  	return s
  2658  }
  2659  
  2660  // SetCreatedAt sets the CreatedAt field's value.
  2661  func (s *CreateHarvestJobOutput) SetCreatedAt(v string) *CreateHarvestJobOutput {
  2662  	s.CreatedAt = &v
  2663  	return s
  2664  }
  2665  
  2666  // SetEndTime sets the EndTime field's value.
  2667  func (s *CreateHarvestJobOutput) SetEndTime(v string) *CreateHarvestJobOutput {
  2668  	s.EndTime = &v
  2669  	return s
  2670  }
  2671  
  2672  // SetId sets the Id field's value.
  2673  func (s *CreateHarvestJobOutput) SetId(v string) *CreateHarvestJobOutput {
  2674  	s.Id = &v
  2675  	return s
  2676  }
  2677  
  2678  // SetOriginEndpointId sets the OriginEndpointId field's value.
  2679  func (s *CreateHarvestJobOutput) SetOriginEndpointId(v string) *CreateHarvestJobOutput {
  2680  	s.OriginEndpointId = &v
  2681  	return s
  2682  }
  2683  
  2684  // SetS3Destination sets the S3Destination field's value.
  2685  func (s *CreateHarvestJobOutput) SetS3Destination(v *S3Destination) *CreateHarvestJobOutput {
  2686  	s.S3Destination = v
  2687  	return s
  2688  }
  2689  
  2690  // SetStartTime sets the StartTime field's value.
  2691  func (s *CreateHarvestJobOutput) SetStartTime(v string) *CreateHarvestJobOutput {
  2692  	s.StartTime = &v
  2693  	return s
  2694  }
  2695  
  2696  // SetStatus sets the Status field's value.
  2697  func (s *CreateHarvestJobOutput) SetStatus(v string) *CreateHarvestJobOutput {
  2698  	s.Status = &v
  2699  	return s
  2700  }
  2701  
  2702  type CreateOriginEndpointInput struct {
  2703  	_ struct{} `type:"structure"`
  2704  
  2705  	// CDN Authorization credentials
  2706  	Authorization *Authorization `locationName:"authorization" type:"structure"`
  2707  
  2708  	// ChannelId is a required field
  2709  	ChannelId *string `locationName:"channelId" type:"string" required:"true"`
  2710  
  2711  	// A Common Media Application Format (CMAF) packaging configuration.
  2712  	CmafPackage *CmafPackageCreateOrUpdateParameters `locationName:"cmafPackage" type:"structure"`
  2713  
  2714  	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
  2715  	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
  2716  
  2717  	Description *string `locationName:"description" type:"string"`
  2718  
  2719  	// An HTTP Live Streaming (HLS) packaging configuration.
  2720  	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
  2721  
  2722  	// Id is a required field
  2723  	Id *string `locationName:"id" type:"string" required:"true"`
  2724  
  2725  	ManifestName *string `locationName:"manifestName" type:"string"`
  2726  
  2727  	// A Microsoft Smooth Streaming (MSS) packaging configuration.
  2728  	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
  2729  
  2730  	Origination *string `locationName:"origination" type:"string" enum:"Origination"`
  2731  
  2732  	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
  2733  
  2734  	// A collection of tags associated with a resource
  2735  	Tags map[string]*string `locationName:"tags" type:"map"`
  2736  
  2737  	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
  2738  
  2739  	Whitelist []*string `locationName:"whitelist" type:"list"`
  2740  }
  2741  
  2742  // String returns the string representation.
  2743  //
  2744  // API parameter values that are decorated as "sensitive" in the API will not
  2745  // be included in the string output. The member name will be present, but the
  2746  // value will be replaced with "sensitive".
  2747  func (s CreateOriginEndpointInput) String() string {
  2748  	return awsutil.Prettify(s)
  2749  }
  2750  
  2751  // GoString returns the string representation.
  2752  //
  2753  // API parameter values that are decorated as "sensitive" in the API will not
  2754  // be included in the string output. The member name will be present, but the
  2755  // value will be replaced with "sensitive".
  2756  func (s CreateOriginEndpointInput) GoString() string {
  2757  	return s.String()
  2758  }
  2759  
  2760  // Validate inspects the fields of the type to determine if they are valid.
  2761  func (s *CreateOriginEndpointInput) Validate() error {
  2762  	invalidParams := request.ErrInvalidParams{Context: "CreateOriginEndpointInput"}
  2763  	if s.ChannelId == nil {
  2764  		invalidParams.Add(request.NewErrParamRequired("ChannelId"))
  2765  	}
  2766  	if s.Id == nil {
  2767  		invalidParams.Add(request.NewErrParamRequired("Id"))
  2768  	}
  2769  	if s.Authorization != nil {
  2770  		if err := s.Authorization.Validate(); err != nil {
  2771  			invalidParams.AddNested("Authorization", err.(request.ErrInvalidParams))
  2772  		}
  2773  	}
  2774  	if s.CmafPackage != nil {
  2775  		if err := s.CmafPackage.Validate(); err != nil {
  2776  			invalidParams.AddNested("CmafPackage", err.(request.ErrInvalidParams))
  2777  		}
  2778  	}
  2779  	if s.DashPackage != nil {
  2780  		if err := s.DashPackage.Validate(); err != nil {
  2781  			invalidParams.AddNested("DashPackage", err.(request.ErrInvalidParams))
  2782  		}
  2783  	}
  2784  	if s.HlsPackage != nil {
  2785  		if err := s.HlsPackage.Validate(); err != nil {
  2786  			invalidParams.AddNested("HlsPackage", err.(request.ErrInvalidParams))
  2787  		}
  2788  	}
  2789  	if s.MssPackage != nil {
  2790  		if err := s.MssPackage.Validate(); err != nil {
  2791  			invalidParams.AddNested("MssPackage", err.(request.ErrInvalidParams))
  2792  		}
  2793  	}
  2794  
  2795  	if invalidParams.Len() > 0 {
  2796  		return invalidParams
  2797  	}
  2798  	return nil
  2799  }
  2800  
  2801  // SetAuthorization sets the Authorization field's value.
  2802  func (s *CreateOriginEndpointInput) SetAuthorization(v *Authorization) *CreateOriginEndpointInput {
  2803  	s.Authorization = v
  2804  	return s
  2805  }
  2806  
  2807  // SetChannelId sets the ChannelId field's value.
  2808  func (s *CreateOriginEndpointInput) SetChannelId(v string) *CreateOriginEndpointInput {
  2809  	s.ChannelId = &v
  2810  	return s
  2811  }
  2812  
  2813  // SetCmafPackage sets the CmafPackage field's value.
  2814  func (s *CreateOriginEndpointInput) SetCmafPackage(v *CmafPackageCreateOrUpdateParameters) *CreateOriginEndpointInput {
  2815  	s.CmafPackage = v
  2816  	return s
  2817  }
  2818  
  2819  // SetDashPackage sets the DashPackage field's value.
  2820  func (s *CreateOriginEndpointInput) SetDashPackage(v *DashPackage) *CreateOriginEndpointInput {
  2821  	s.DashPackage = v
  2822  	return s
  2823  }
  2824  
  2825  // SetDescription sets the Description field's value.
  2826  func (s *CreateOriginEndpointInput) SetDescription(v string) *CreateOriginEndpointInput {
  2827  	s.Description = &v
  2828  	return s
  2829  }
  2830  
  2831  // SetHlsPackage sets the HlsPackage field's value.
  2832  func (s *CreateOriginEndpointInput) SetHlsPackage(v *HlsPackage) *CreateOriginEndpointInput {
  2833  	s.HlsPackage = v
  2834  	return s
  2835  }
  2836  
  2837  // SetId sets the Id field's value.
  2838  func (s *CreateOriginEndpointInput) SetId(v string) *CreateOriginEndpointInput {
  2839  	s.Id = &v
  2840  	return s
  2841  }
  2842  
  2843  // SetManifestName sets the ManifestName field's value.
  2844  func (s *CreateOriginEndpointInput) SetManifestName(v string) *CreateOriginEndpointInput {
  2845  	s.ManifestName = &v
  2846  	return s
  2847  }
  2848  
  2849  // SetMssPackage sets the MssPackage field's value.
  2850  func (s *CreateOriginEndpointInput) SetMssPackage(v *MssPackage) *CreateOriginEndpointInput {
  2851  	s.MssPackage = v
  2852  	return s
  2853  }
  2854  
  2855  // SetOrigination sets the Origination field's value.
  2856  func (s *CreateOriginEndpointInput) SetOrigination(v string) *CreateOriginEndpointInput {
  2857  	s.Origination = &v
  2858  	return s
  2859  }
  2860  
  2861  // SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
  2862  func (s *CreateOriginEndpointInput) SetStartoverWindowSeconds(v int64) *CreateOriginEndpointInput {
  2863  	s.StartoverWindowSeconds = &v
  2864  	return s
  2865  }
  2866  
  2867  // SetTags sets the Tags field's value.
  2868  func (s *CreateOriginEndpointInput) SetTags(v map[string]*string) *CreateOriginEndpointInput {
  2869  	s.Tags = v
  2870  	return s
  2871  }
  2872  
  2873  // SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
  2874  func (s *CreateOriginEndpointInput) SetTimeDelaySeconds(v int64) *CreateOriginEndpointInput {
  2875  	s.TimeDelaySeconds = &v
  2876  	return s
  2877  }
  2878  
  2879  // SetWhitelist sets the Whitelist field's value.
  2880  func (s *CreateOriginEndpointInput) SetWhitelist(v []*string) *CreateOriginEndpointInput {
  2881  	s.Whitelist = v
  2882  	return s
  2883  }
  2884  
  2885  type CreateOriginEndpointOutput struct {
  2886  	_ struct{} `type:"structure"`
  2887  
  2888  	Arn *string `locationName:"arn" type:"string"`
  2889  
  2890  	// CDN Authorization credentials
  2891  	Authorization *Authorization `locationName:"authorization" type:"structure"`
  2892  
  2893  	ChannelId *string `locationName:"channelId" type:"string"`
  2894  
  2895  	// A Common Media Application Format (CMAF) packaging configuration.
  2896  	CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"`
  2897  
  2898  	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
  2899  	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
  2900  
  2901  	Description *string `locationName:"description" type:"string"`
  2902  
  2903  	// An HTTP Live Streaming (HLS) packaging configuration.
  2904  	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
  2905  
  2906  	Id *string `locationName:"id" type:"string"`
  2907  
  2908  	ManifestName *string `locationName:"manifestName" type:"string"`
  2909  
  2910  	// A Microsoft Smooth Streaming (MSS) packaging configuration.
  2911  	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
  2912  
  2913  	Origination *string `locationName:"origination" type:"string" enum:"Origination"`
  2914  
  2915  	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
  2916  
  2917  	// A collection of tags associated with a resource
  2918  	Tags map[string]*string `locationName:"tags" type:"map"`
  2919  
  2920  	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
  2921  
  2922  	Url *string `locationName:"url" type:"string"`
  2923  
  2924  	Whitelist []*string `locationName:"whitelist" type:"list"`
  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 CreateOriginEndpointOutput) 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 CreateOriginEndpointOutput) GoString() string {
  2942  	return s.String()
  2943  }
  2944  
  2945  // SetArn sets the Arn field's value.
  2946  func (s *CreateOriginEndpointOutput) SetArn(v string) *CreateOriginEndpointOutput {
  2947  	s.Arn = &v
  2948  	return s
  2949  }
  2950  
  2951  // SetAuthorization sets the Authorization field's value.
  2952  func (s *CreateOriginEndpointOutput) SetAuthorization(v *Authorization) *CreateOriginEndpointOutput {
  2953  	s.Authorization = v
  2954  	return s
  2955  }
  2956  
  2957  // SetChannelId sets the ChannelId field's value.
  2958  func (s *CreateOriginEndpointOutput) SetChannelId(v string) *CreateOriginEndpointOutput {
  2959  	s.ChannelId = &v
  2960  	return s
  2961  }
  2962  
  2963  // SetCmafPackage sets the CmafPackage field's value.
  2964  func (s *CreateOriginEndpointOutput) SetCmafPackage(v *CmafPackage) *CreateOriginEndpointOutput {
  2965  	s.CmafPackage = v
  2966  	return s
  2967  }
  2968  
  2969  // SetDashPackage sets the DashPackage field's value.
  2970  func (s *CreateOriginEndpointOutput) SetDashPackage(v *DashPackage) *CreateOriginEndpointOutput {
  2971  	s.DashPackage = v
  2972  	return s
  2973  }
  2974  
  2975  // SetDescription sets the Description field's value.
  2976  func (s *CreateOriginEndpointOutput) SetDescription(v string) *CreateOriginEndpointOutput {
  2977  	s.Description = &v
  2978  	return s
  2979  }
  2980  
  2981  // SetHlsPackage sets the HlsPackage field's value.
  2982  func (s *CreateOriginEndpointOutput) SetHlsPackage(v *HlsPackage) *CreateOriginEndpointOutput {
  2983  	s.HlsPackage = v
  2984  	return s
  2985  }
  2986  
  2987  // SetId sets the Id field's value.
  2988  func (s *CreateOriginEndpointOutput) SetId(v string) *CreateOriginEndpointOutput {
  2989  	s.Id = &v
  2990  	return s
  2991  }
  2992  
  2993  // SetManifestName sets the ManifestName field's value.
  2994  func (s *CreateOriginEndpointOutput) SetManifestName(v string) *CreateOriginEndpointOutput {
  2995  	s.ManifestName = &v
  2996  	return s
  2997  }
  2998  
  2999  // SetMssPackage sets the MssPackage field's value.
  3000  func (s *CreateOriginEndpointOutput) SetMssPackage(v *MssPackage) *CreateOriginEndpointOutput {
  3001  	s.MssPackage = v
  3002  	return s
  3003  }
  3004  
  3005  // SetOrigination sets the Origination field's value.
  3006  func (s *CreateOriginEndpointOutput) SetOrigination(v string) *CreateOriginEndpointOutput {
  3007  	s.Origination = &v
  3008  	return s
  3009  }
  3010  
  3011  // SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
  3012  func (s *CreateOriginEndpointOutput) SetStartoverWindowSeconds(v int64) *CreateOriginEndpointOutput {
  3013  	s.StartoverWindowSeconds = &v
  3014  	return s
  3015  }
  3016  
  3017  // SetTags sets the Tags field's value.
  3018  func (s *CreateOriginEndpointOutput) SetTags(v map[string]*string) *CreateOriginEndpointOutput {
  3019  	s.Tags = v
  3020  	return s
  3021  }
  3022  
  3023  // SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
  3024  func (s *CreateOriginEndpointOutput) SetTimeDelaySeconds(v int64) *CreateOriginEndpointOutput {
  3025  	s.TimeDelaySeconds = &v
  3026  	return s
  3027  }
  3028  
  3029  // SetUrl sets the Url field's value.
  3030  func (s *CreateOriginEndpointOutput) SetUrl(v string) *CreateOriginEndpointOutput {
  3031  	s.Url = &v
  3032  	return s
  3033  }
  3034  
  3035  // SetWhitelist sets the Whitelist field's value.
  3036  func (s *CreateOriginEndpointOutput) SetWhitelist(v []*string) *CreateOriginEndpointOutput {
  3037  	s.Whitelist = v
  3038  	return s
  3039  }
  3040  
  3041  // A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.
  3042  type DashEncryption struct {
  3043  	_ struct{} `type:"structure"`
  3044  
  3045  	// Time (in seconds) between each encryption key rotation.
  3046  	KeyRotationIntervalSeconds *int64 `locationName:"keyRotationIntervalSeconds" type:"integer"`
  3047  
  3048  	// A configuration for accessing an external Secure Packager and Encoder Key
  3049  	// Exchange (SPEKE) service that will provide encryption keys.
  3050  	//
  3051  	// SpekeKeyProvider is a required field
  3052  	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
  3053  }
  3054  
  3055  // String returns the string representation.
  3056  //
  3057  // API parameter values that are decorated as "sensitive" in the API will not
  3058  // be included in the string output. The member name will be present, but the
  3059  // value will be replaced with "sensitive".
  3060  func (s DashEncryption) String() string {
  3061  	return awsutil.Prettify(s)
  3062  }
  3063  
  3064  // GoString returns the string representation.
  3065  //
  3066  // API parameter values that are decorated as "sensitive" in the API will not
  3067  // be included in the string output. The member name will be present, but the
  3068  // value will be replaced with "sensitive".
  3069  func (s DashEncryption) GoString() string {
  3070  	return s.String()
  3071  }
  3072  
  3073  // Validate inspects the fields of the type to determine if they are valid.
  3074  func (s *DashEncryption) Validate() error {
  3075  	invalidParams := request.ErrInvalidParams{Context: "DashEncryption"}
  3076  	if s.SpekeKeyProvider == nil {
  3077  		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
  3078  	}
  3079  	if s.SpekeKeyProvider != nil {
  3080  		if err := s.SpekeKeyProvider.Validate(); err != nil {
  3081  			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
  3082  		}
  3083  	}
  3084  
  3085  	if invalidParams.Len() > 0 {
  3086  		return invalidParams
  3087  	}
  3088  	return nil
  3089  }
  3090  
  3091  // SetKeyRotationIntervalSeconds sets the KeyRotationIntervalSeconds field's value.
  3092  func (s *DashEncryption) SetKeyRotationIntervalSeconds(v int64) *DashEncryption {
  3093  	s.KeyRotationIntervalSeconds = &v
  3094  	return s
  3095  }
  3096  
  3097  // SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
  3098  func (s *DashEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *DashEncryption {
  3099  	s.SpekeKeyProvider = v
  3100  	return s
  3101  }
  3102  
  3103  // A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
  3104  type DashPackage struct {
  3105  	_ struct{} `type:"structure"`
  3106  
  3107  	// A list of SCTE-35 message types that are treated as ad markers in the output.
  3108  	// If empty, noad markers are output. Specify multiple items to create ad markers
  3109  	// for all of the includedmessage types.
  3110  	AdTriggers []*string `locationName:"adTriggers" type:"list"`
  3111  
  3112  	// This setting allows the delivery restriction flags on SCTE-35 segmentation
  3113  	// descriptors todetermine whether a message signals an ad. Choosing "NONE"
  3114  	// means no SCTE-35 messages becomeads. Choosing "RESTRICTED" means SCTE-35
  3115  	// messages of the types specified in AdTriggers thatcontain delivery restrictions
  3116  	// will be treated as ads. Choosing "UNRESTRICTED" means SCTE-35messages of
  3117  	// the types specified in AdTriggers that do not contain delivery restrictions
  3118  	// willbe treated as ads. Choosing "BOTH" means all SCTE-35 messages of the
  3119  	// types specified inAdTriggers will be treated as ads. Note that Splice Insert
  3120  	// messages do not have these flagsand are always treated as ads if specified
  3121  	// in AdTriggers.
  3122  	AdsOnDeliveryRestrictions *string `locationName:"adsOnDeliveryRestrictions" type:"string" enum:"AdsOnDeliveryRestrictions"`
  3123  
  3124  	// A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.
  3125  	Encryption *DashEncryption `locationName:"encryption" type:"structure"`
  3126  
  3127  	// Determines the position of some tags in the Media Presentation Description
  3128  	// (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection
  3129  	// are included in each Representation. When set to COMPACT, duplicate elements
  3130  	// are combined and presented at the AdaptationSet level.
  3131  	ManifestLayout *string `locationName:"manifestLayout" type:"string" enum:"ManifestLayout"`
  3132  
  3133  	// Time window (in seconds) contained in each manifest.
  3134  	ManifestWindowSeconds *int64 `locationName:"manifestWindowSeconds" type:"integer"`
  3135  
  3136  	// Minimum duration (in seconds) that a player will buffer media before starting
  3137  	// the presentation.
  3138  	MinBufferTimeSeconds *int64 `locationName:"minBufferTimeSeconds" type:"integer"`
  3139  
  3140  	// Minimum duration (in seconds) between potential changes to the Dynamic Adaptive
  3141  	// Streaming over HTTP (DASH) Media Presentation Description (MPD).
  3142  	MinUpdatePeriodSeconds *int64 `locationName:"minUpdatePeriodSeconds" type:"integer"`
  3143  
  3144  	// A list of triggers that controls when the outgoing Dynamic Adaptive Streaming
  3145  	// over HTTP (DASH)Media Presentation Description (MPD) will be partitioned
  3146  	// into multiple periods. If empty, the content will notbe partitioned into
  3147  	// more than one period. If the list contains "ADS", new periods will be created
  3148  	// wherethe Channel source contains SCTE-35 ad markers.
  3149  	PeriodTriggers []*string `locationName:"periodTriggers" type:"list"`
  3150  
  3151  	// The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to
  3152  	// "HBBTV_1_5", HbbTV 1.5 compliant output is enabled.
  3153  	Profile *string `locationName:"profile" type:"string" enum:"Profile"`
  3154  
  3155  	// Duration (in seconds) of each segment. Actual segments will berounded to
  3156  	// the nearest multiple of the source segment duration.
  3157  	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
  3158  
  3159  	// Determines the type of SegmentTemplate included in the Media Presentation
  3160  	// Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented
  3161  	// in each SegmentTemplate, with $Number$ media URLs. When set to TIME_WITH_TIMELINE,
  3162  	// a full timeline is presented in each SegmentTemplate, with $Time$ media URLs.
  3163  	// When set to NUMBER_WITH_DURATION, only a duration is included in each SegmentTemplate,
  3164  	// with $Number$ media URLs.
  3165  	SegmentTemplateFormat *string `locationName:"segmentTemplateFormat" type:"string" enum:"SegmentTemplateFormat"`
  3166  
  3167  	// A StreamSelection configuration.
  3168  	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
  3169  
  3170  	// Duration (in seconds) to delay live content before presentation.
  3171  	SuggestedPresentationDelaySeconds *int64 `locationName:"suggestedPresentationDelaySeconds" type:"integer"`
  3172  
  3173  	// Determines the type of UTCTiming included in the Media Presentation Description
  3174  	// (MPD)
  3175  	UtcTiming *string `locationName:"utcTiming" type:"string" enum:"UtcTiming"`
  3176  
  3177  	// Specifies the value attribute of the UTCTiming field when utcTiming is set
  3178  	// to HTTP-ISO or HTTP-HEAD
  3179  	UtcTimingUri *string `locationName:"utcTimingUri" type:"string"`
  3180  }
  3181  
  3182  // String returns the string representation.
  3183  //
  3184  // API parameter values that are decorated as "sensitive" in the API will not
  3185  // be included in the string output. The member name will be present, but the
  3186  // value will be replaced with "sensitive".
  3187  func (s DashPackage) String() string {
  3188  	return awsutil.Prettify(s)
  3189  }
  3190  
  3191  // GoString returns the string representation.
  3192  //
  3193  // API parameter values that are decorated as "sensitive" in the API will not
  3194  // be included in the string output. The member name will be present, but the
  3195  // value will be replaced with "sensitive".
  3196  func (s DashPackage) GoString() string {
  3197  	return s.String()
  3198  }
  3199  
  3200  // Validate inspects the fields of the type to determine if they are valid.
  3201  func (s *DashPackage) Validate() error {
  3202  	invalidParams := request.ErrInvalidParams{Context: "DashPackage"}
  3203  	if s.Encryption != nil {
  3204  		if err := s.Encryption.Validate(); err != nil {
  3205  			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
  3206  		}
  3207  	}
  3208  
  3209  	if invalidParams.Len() > 0 {
  3210  		return invalidParams
  3211  	}
  3212  	return nil
  3213  }
  3214  
  3215  // SetAdTriggers sets the AdTriggers field's value.
  3216  func (s *DashPackage) SetAdTriggers(v []*string) *DashPackage {
  3217  	s.AdTriggers = v
  3218  	return s
  3219  }
  3220  
  3221  // SetAdsOnDeliveryRestrictions sets the AdsOnDeliveryRestrictions field's value.
  3222  func (s *DashPackage) SetAdsOnDeliveryRestrictions(v string) *DashPackage {
  3223  	s.AdsOnDeliveryRestrictions = &v
  3224  	return s
  3225  }
  3226  
  3227  // SetEncryption sets the Encryption field's value.
  3228  func (s *DashPackage) SetEncryption(v *DashEncryption) *DashPackage {
  3229  	s.Encryption = v
  3230  	return s
  3231  }
  3232  
  3233  // SetManifestLayout sets the ManifestLayout field's value.
  3234  func (s *DashPackage) SetManifestLayout(v string) *DashPackage {
  3235  	s.ManifestLayout = &v
  3236  	return s
  3237  }
  3238  
  3239  // SetManifestWindowSeconds sets the ManifestWindowSeconds field's value.
  3240  func (s *DashPackage) SetManifestWindowSeconds(v int64) *DashPackage {
  3241  	s.ManifestWindowSeconds = &v
  3242  	return s
  3243  }
  3244  
  3245  // SetMinBufferTimeSeconds sets the MinBufferTimeSeconds field's value.
  3246  func (s *DashPackage) SetMinBufferTimeSeconds(v int64) *DashPackage {
  3247  	s.MinBufferTimeSeconds = &v
  3248  	return s
  3249  }
  3250  
  3251  // SetMinUpdatePeriodSeconds sets the MinUpdatePeriodSeconds field's value.
  3252  func (s *DashPackage) SetMinUpdatePeriodSeconds(v int64) *DashPackage {
  3253  	s.MinUpdatePeriodSeconds = &v
  3254  	return s
  3255  }
  3256  
  3257  // SetPeriodTriggers sets the PeriodTriggers field's value.
  3258  func (s *DashPackage) SetPeriodTriggers(v []*string) *DashPackage {
  3259  	s.PeriodTriggers = v
  3260  	return s
  3261  }
  3262  
  3263  // SetProfile sets the Profile field's value.
  3264  func (s *DashPackage) SetProfile(v string) *DashPackage {
  3265  	s.Profile = &v
  3266  	return s
  3267  }
  3268  
  3269  // SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
  3270  func (s *DashPackage) SetSegmentDurationSeconds(v int64) *DashPackage {
  3271  	s.SegmentDurationSeconds = &v
  3272  	return s
  3273  }
  3274  
  3275  // SetSegmentTemplateFormat sets the SegmentTemplateFormat field's value.
  3276  func (s *DashPackage) SetSegmentTemplateFormat(v string) *DashPackage {
  3277  	s.SegmentTemplateFormat = &v
  3278  	return s
  3279  }
  3280  
  3281  // SetStreamSelection sets the StreamSelection field's value.
  3282  func (s *DashPackage) SetStreamSelection(v *StreamSelection) *DashPackage {
  3283  	s.StreamSelection = v
  3284  	return s
  3285  }
  3286  
  3287  // SetSuggestedPresentationDelaySeconds sets the SuggestedPresentationDelaySeconds field's value.
  3288  func (s *DashPackage) SetSuggestedPresentationDelaySeconds(v int64) *DashPackage {
  3289  	s.SuggestedPresentationDelaySeconds = &v
  3290  	return s
  3291  }
  3292  
  3293  // SetUtcTiming sets the UtcTiming field's value.
  3294  func (s *DashPackage) SetUtcTiming(v string) *DashPackage {
  3295  	s.UtcTiming = &v
  3296  	return s
  3297  }
  3298  
  3299  // SetUtcTimingUri sets the UtcTimingUri field's value.
  3300  func (s *DashPackage) SetUtcTimingUri(v string) *DashPackage {
  3301  	s.UtcTimingUri = &v
  3302  	return s
  3303  }
  3304  
  3305  type DeleteChannelInput struct {
  3306  	_ struct{} `type:"structure" nopayload:"true"`
  3307  
  3308  	// Id is a required field
  3309  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  3310  }
  3311  
  3312  // String returns the string representation.
  3313  //
  3314  // API parameter values that are decorated as "sensitive" in the API will not
  3315  // be included in the string output. The member name will be present, but the
  3316  // value will be replaced with "sensitive".
  3317  func (s DeleteChannelInput) String() string {
  3318  	return awsutil.Prettify(s)
  3319  }
  3320  
  3321  // GoString returns the string representation.
  3322  //
  3323  // API parameter values that are decorated as "sensitive" in the API will not
  3324  // be included in the string output. The member name will be present, but the
  3325  // value will be replaced with "sensitive".
  3326  func (s DeleteChannelInput) GoString() string {
  3327  	return s.String()
  3328  }
  3329  
  3330  // Validate inspects the fields of the type to determine if they are valid.
  3331  func (s *DeleteChannelInput) Validate() error {
  3332  	invalidParams := request.ErrInvalidParams{Context: "DeleteChannelInput"}
  3333  	if s.Id == nil {
  3334  		invalidParams.Add(request.NewErrParamRequired("Id"))
  3335  	}
  3336  	if s.Id != nil && len(*s.Id) < 1 {
  3337  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  3338  	}
  3339  
  3340  	if invalidParams.Len() > 0 {
  3341  		return invalidParams
  3342  	}
  3343  	return nil
  3344  }
  3345  
  3346  // SetId sets the Id field's value.
  3347  func (s *DeleteChannelInput) SetId(v string) *DeleteChannelInput {
  3348  	s.Id = &v
  3349  	return s
  3350  }
  3351  
  3352  type DeleteChannelOutput struct {
  3353  	_ struct{} `type:"structure" nopayload:"true"`
  3354  }
  3355  
  3356  // String returns the string representation.
  3357  //
  3358  // API parameter values that are decorated as "sensitive" in the API will not
  3359  // be included in the string output. The member name will be present, but the
  3360  // value will be replaced with "sensitive".
  3361  func (s DeleteChannelOutput) String() string {
  3362  	return awsutil.Prettify(s)
  3363  }
  3364  
  3365  // GoString returns the string representation.
  3366  //
  3367  // API parameter values that are decorated as "sensitive" in the API will not
  3368  // be included in the string output. The member name will be present, but the
  3369  // value will be replaced with "sensitive".
  3370  func (s DeleteChannelOutput) GoString() string {
  3371  	return s.String()
  3372  }
  3373  
  3374  type DeleteOriginEndpointInput struct {
  3375  	_ struct{} `type:"structure" nopayload:"true"`
  3376  
  3377  	// Id is a required field
  3378  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  3379  }
  3380  
  3381  // String returns the string representation.
  3382  //
  3383  // API parameter values that are decorated as "sensitive" in the API will not
  3384  // be included in the string output. The member name will be present, but the
  3385  // value will be replaced with "sensitive".
  3386  func (s DeleteOriginEndpointInput) String() string {
  3387  	return awsutil.Prettify(s)
  3388  }
  3389  
  3390  // GoString returns the string representation.
  3391  //
  3392  // API parameter values that are decorated as "sensitive" in the API will not
  3393  // be included in the string output. The member name will be present, but the
  3394  // value will be replaced with "sensitive".
  3395  func (s DeleteOriginEndpointInput) GoString() string {
  3396  	return s.String()
  3397  }
  3398  
  3399  // Validate inspects the fields of the type to determine if they are valid.
  3400  func (s *DeleteOriginEndpointInput) Validate() error {
  3401  	invalidParams := request.ErrInvalidParams{Context: "DeleteOriginEndpointInput"}
  3402  	if s.Id == nil {
  3403  		invalidParams.Add(request.NewErrParamRequired("Id"))
  3404  	}
  3405  	if s.Id != nil && len(*s.Id) < 1 {
  3406  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  3407  	}
  3408  
  3409  	if invalidParams.Len() > 0 {
  3410  		return invalidParams
  3411  	}
  3412  	return nil
  3413  }
  3414  
  3415  // SetId sets the Id field's value.
  3416  func (s *DeleteOriginEndpointInput) SetId(v string) *DeleteOriginEndpointInput {
  3417  	s.Id = &v
  3418  	return s
  3419  }
  3420  
  3421  type DeleteOriginEndpointOutput struct {
  3422  	_ struct{} `type:"structure" nopayload:"true"`
  3423  }
  3424  
  3425  // String returns the string representation.
  3426  //
  3427  // API parameter values that are decorated as "sensitive" in the API will not
  3428  // be included in the string output. The member name will be present, but the
  3429  // value will be replaced with "sensitive".
  3430  func (s DeleteOriginEndpointOutput) String() string {
  3431  	return awsutil.Prettify(s)
  3432  }
  3433  
  3434  // GoString returns the string representation.
  3435  //
  3436  // API parameter values that are decorated as "sensitive" in the API will not
  3437  // be included in the string output. The member name will be present, but the
  3438  // value will be replaced with "sensitive".
  3439  func (s DeleteOriginEndpointOutput) GoString() string {
  3440  	return s.String()
  3441  }
  3442  
  3443  type DescribeChannelInput struct {
  3444  	_ struct{} `type:"structure" nopayload:"true"`
  3445  
  3446  	// Id is a required field
  3447  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  3448  }
  3449  
  3450  // String returns the string representation.
  3451  //
  3452  // API parameter values that are decorated as "sensitive" in the API will not
  3453  // be included in the string output. The member name will be present, but the
  3454  // value will be replaced with "sensitive".
  3455  func (s DescribeChannelInput) String() string {
  3456  	return awsutil.Prettify(s)
  3457  }
  3458  
  3459  // GoString returns the string representation.
  3460  //
  3461  // API parameter values that are decorated as "sensitive" in the API will not
  3462  // be included in the string output. The member name will be present, but the
  3463  // value will be replaced with "sensitive".
  3464  func (s DescribeChannelInput) GoString() string {
  3465  	return s.String()
  3466  }
  3467  
  3468  // Validate inspects the fields of the type to determine if they are valid.
  3469  func (s *DescribeChannelInput) Validate() error {
  3470  	invalidParams := request.ErrInvalidParams{Context: "DescribeChannelInput"}
  3471  	if s.Id == nil {
  3472  		invalidParams.Add(request.NewErrParamRequired("Id"))
  3473  	}
  3474  	if s.Id != nil && len(*s.Id) < 1 {
  3475  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  3476  	}
  3477  
  3478  	if invalidParams.Len() > 0 {
  3479  		return invalidParams
  3480  	}
  3481  	return nil
  3482  }
  3483  
  3484  // SetId sets the Id field's value.
  3485  func (s *DescribeChannelInput) SetId(v string) *DescribeChannelInput {
  3486  	s.Id = &v
  3487  	return s
  3488  }
  3489  
  3490  type DescribeChannelOutput struct {
  3491  	_ struct{} `type:"structure"`
  3492  
  3493  	Arn *string `locationName:"arn" type:"string"`
  3494  
  3495  	Description *string `locationName:"description" type:"string"`
  3496  
  3497  	// Configure egress access logging.
  3498  	EgressAccessLogs *EgressAccessLogs `locationName:"egressAccessLogs" type:"structure"`
  3499  
  3500  	// An HTTP Live Streaming (HLS) ingest resource configuration.
  3501  	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
  3502  
  3503  	Id *string `locationName:"id" type:"string"`
  3504  
  3505  	// Configure ingress access logging.
  3506  	IngressAccessLogs *IngressAccessLogs `locationName:"ingressAccessLogs" type:"structure"`
  3507  
  3508  	// A collection of tags associated with a resource
  3509  	Tags map[string]*string `locationName:"tags" type:"map"`
  3510  }
  3511  
  3512  // String returns the string representation.
  3513  //
  3514  // API parameter values that are decorated as "sensitive" in the API will not
  3515  // be included in the string output. The member name will be present, but the
  3516  // value will be replaced with "sensitive".
  3517  func (s DescribeChannelOutput) String() string {
  3518  	return awsutil.Prettify(s)
  3519  }
  3520  
  3521  // GoString returns the string representation.
  3522  //
  3523  // API parameter values that are decorated as "sensitive" in the API will not
  3524  // be included in the string output. The member name will be present, but the
  3525  // value will be replaced with "sensitive".
  3526  func (s DescribeChannelOutput) GoString() string {
  3527  	return s.String()
  3528  }
  3529  
  3530  // SetArn sets the Arn field's value.
  3531  func (s *DescribeChannelOutput) SetArn(v string) *DescribeChannelOutput {
  3532  	s.Arn = &v
  3533  	return s
  3534  }
  3535  
  3536  // SetDescription sets the Description field's value.
  3537  func (s *DescribeChannelOutput) SetDescription(v string) *DescribeChannelOutput {
  3538  	s.Description = &v
  3539  	return s
  3540  }
  3541  
  3542  // SetEgressAccessLogs sets the EgressAccessLogs field's value.
  3543  func (s *DescribeChannelOutput) SetEgressAccessLogs(v *EgressAccessLogs) *DescribeChannelOutput {
  3544  	s.EgressAccessLogs = v
  3545  	return s
  3546  }
  3547  
  3548  // SetHlsIngest sets the HlsIngest field's value.
  3549  func (s *DescribeChannelOutput) SetHlsIngest(v *HlsIngest) *DescribeChannelOutput {
  3550  	s.HlsIngest = v
  3551  	return s
  3552  }
  3553  
  3554  // SetId sets the Id field's value.
  3555  func (s *DescribeChannelOutput) SetId(v string) *DescribeChannelOutput {
  3556  	s.Id = &v
  3557  	return s
  3558  }
  3559  
  3560  // SetIngressAccessLogs sets the IngressAccessLogs field's value.
  3561  func (s *DescribeChannelOutput) SetIngressAccessLogs(v *IngressAccessLogs) *DescribeChannelOutput {
  3562  	s.IngressAccessLogs = v
  3563  	return s
  3564  }
  3565  
  3566  // SetTags sets the Tags field's value.
  3567  func (s *DescribeChannelOutput) SetTags(v map[string]*string) *DescribeChannelOutput {
  3568  	s.Tags = v
  3569  	return s
  3570  }
  3571  
  3572  type DescribeHarvestJobInput struct {
  3573  	_ struct{} `type:"structure" nopayload:"true"`
  3574  
  3575  	// Id is a required field
  3576  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  3577  }
  3578  
  3579  // String returns the string representation.
  3580  //
  3581  // API parameter values that are decorated as "sensitive" in the API will not
  3582  // be included in the string output. The member name will be present, but the
  3583  // value will be replaced with "sensitive".
  3584  func (s DescribeHarvestJobInput) String() string {
  3585  	return awsutil.Prettify(s)
  3586  }
  3587  
  3588  // GoString returns the string representation.
  3589  //
  3590  // API parameter values that are decorated as "sensitive" in the API will not
  3591  // be included in the string output. The member name will be present, but the
  3592  // value will be replaced with "sensitive".
  3593  func (s DescribeHarvestJobInput) GoString() string {
  3594  	return s.String()
  3595  }
  3596  
  3597  // Validate inspects the fields of the type to determine if they are valid.
  3598  func (s *DescribeHarvestJobInput) Validate() error {
  3599  	invalidParams := request.ErrInvalidParams{Context: "DescribeHarvestJobInput"}
  3600  	if s.Id == nil {
  3601  		invalidParams.Add(request.NewErrParamRequired("Id"))
  3602  	}
  3603  	if s.Id != nil && len(*s.Id) < 1 {
  3604  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  3605  	}
  3606  
  3607  	if invalidParams.Len() > 0 {
  3608  		return invalidParams
  3609  	}
  3610  	return nil
  3611  }
  3612  
  3613  // SetId sets the Id field's value.
  3614  func (s *DescribeHarvestJobInput) SetId(v string) *DescribeHarvestJobInput {
  3615  	s.Id = &v
  3616  	return s
  3617  }
  3618  
  3619  type DescribeHarvestJobOutput struct {
  3620  	_ struct{} `type:"structure"`
  3621  
  3622  	Arn *string `locationName:"arn" type:"string"`
  3623  
  3624  	ChannelId *string `locationName:"channelId" type:"string"`
  3625  
  3626  	CreatedAt *string `locationName:"createdAt" type:"string"`
  3627  
  3628  	EndTime *string `locationName:"endTime" type:"string"`
  3629  
  3630  	Id *string `locationName:"id" type:"string"`
  3631  
  3632  	OriginEndpointId *string `locationName:"originEndpointId" type:"string"`
  3633  
  3634  	// Configuration parameters for where in an S3 bucket to place the harvested
  3635  	// content
  3636  	S3Destination *S3Destination `locationName:"s3Destination" type:"structure"`
  3637  
  3638  	StartTime *string `locationName:"startTime" type:"string"`
  3639  
  3640  	Status *string `locationName:"status" type:"string" enum:"Status"`
  3641  }
  3642  
  3643  // String returns the string representation.
  3644  //
  3645  // API parameter values that are decorated as "sensitive" in the API will not
  3646  // be included in the string output. The member name will be present, but the
  3647  // value will be replaced with "sensitive".
  3648  func (s DescribeHarvestJobOutput) String() string {
  3649  	return awsutil.Prettify(s)
  3650  }
  3651  
  3652  // GoString returns the string representation.
  3653  //
  3654  // API parameter values that are decorated as "sensitive" in the API will not
  3655  // be included in the string output. The member name will be present, but the
  3656  // value will be replaced with "sensitive".
  3657  func (s DescribeHarvestJobOutput) GoString() string {
  3658  	return s.String()
  3659  }
  3660  
  3661  // SetArn sets the Arn field's value.
  3662  func (s *DescribeHarvestJobOutput) SetArn(v string) *DescribeHarvestJobOutput {
  3663  	s.Arn = &v
  3664  	return s
  3665  }
  3666  
  3667  // SetChannelId sets the ChannelId field's value.
  3668  func (s *DescribeHarvestJobOutput) SetChannelId(v string) *DescribeHarvestJobOutput {
  3669  	s.ChannelId = &v
  3670  	return s
  3671  }
  3672  
  3673  // SetCreatedAt sets the CreatedAt field's value.
  3674  func (s *DescribeHarvestJobOutput) SetCreatedAt(v string) *DescribeHarvestJobOutput {
  3675  	s.CreatedAt = &v
  3676  	return s
  3677  }
  3678  
  3679  // SetEndTime sets the EndTime field's value.
  3680  func (s *DescribeHarvestJobOutput) SetEndTime(v string) *DescribeHarvestJobOutput {
  3681  	s.EndTime = &v
  3682  	return s
  3683  }
  3684  
  3685  // SetId sets the Id field's value.
  3686  func (s *DescribeHarvestJobOutput) SetId(v string) *DescribeHarvestJobOutput {
  3687  	s.Id = &v
  3688  	return s
  3689  }
  3690  
  3691  // SetOriginEndpointId sets the OriginEndpointId field's value.
  3692  func (s *DescribeHarvestJobOutput) SetOriginEndpointId(v string) *DescribeHarvestJobOutput {
  3693  	s.OriginEndpointId = &v
  3694  	return s
  3695  }
  3696  
  3697  // SetS3Destination sets the S3Destination field's value.
  3698  func (s *DescribeHarvestJobOutput) SetS3Destination(v *S3Destination) *DescribeHarvestJobOutput {
  3699  	s.S3Destination = v
  3700  	return s
  3701  }
  3702  
  3703  // SetStartTime sets the StartTime field's value.
  3704  func (s *DescribeHarvestJobOutput) SetStartTime(v string) *DescribeHarvestJobOutput {
  3705  	s.StartTime = &v
  3706  	return s
  3707  }
  3708  
  3709  // SetStatus sets the Status field's value.
  3710  func (s *DescribeHarvestJobOutput) SetStatus(v string) *DescribeHarvestJobOutput {
  3711  	s.Status = &v
  3712  	return s
  3713  }
  3714  
  3715  type DescribeOriginEndpointInput struct {
  3716  	_ struct{} `type:"structure" nopayload:"true"`
  3717  
  3718  	// Id is a required field
  3719  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  3720  }
  3721  
  3722  // String returns the string representation.
  3723  //
  3724  // API parameter values that are decorated as "sensitive" in the API will not
  3725  // be included in the string output. The member name will be present, but the
  3726  // value will be replaced with "sensitive".
  3727  func (s DescribeOriginEndpointInput) String() string {
  3728  	return awsutil.Prettify(s)
  3729  }
  3730  
  3731  // GoString returns the string representation.
  3732  //
  3733  // API parameter values that are decorated as "sensitive" in the API will not
  3734  // be included in the string output. The member name will be present, but the
  3735  // value will be replaced with "sensitive".
  3736  func (s DescribeOriginEndpointInput) GoString() string {
  3737  	return s.String()
  3738  }
  3739  
  3740  // Validate inspects the fields of the type to determine if they are valid.
  3741  func (s *DescribeOriginEndpointInput) Validate() error {
  3742  	invalidParams := request.ErrInvalidParams{Context: "DescribeOriginEndpointInput"}
  3743  	if s.Id == nil {
  3744  		invalidParams.Add(request.NewErrParamRequired("Id"))
  3745  	}
  3746  	if s.Id != nil && len(*s.Id) < 1 {
  3747  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  3748  	}
  3749  
  3750  	if invalidParams.Len() > 0 {
  3751  		return invalidParams
  3752  	}
  3753  	return nil
  3754  }
  3755  
  3756  // SetId sets the Id field's value.
  3757  func (s *DescribeOriginEndpointInput) SetId(v string) *DescribeOriginEndpointInput {
  3758  	s.Id = &v
  3759  	return s
  3760  }
  3761  
  3762  type DescribeOriginEndpointOutput struct {
  3763  	_ struct{} `type:"structure"`
  3764  
  3765  	Arn *string `locationName:"arn" type:"string"`
  3766  
  3767  	// CDN Authorization credentials
  3768  	Authorization *Authorization `locationName:"authorization" type:"structure"`
  3769  
  3770  	ChannelId *string `locationName:"channelId" type:"string"`
  3771  
  3772  	// A Common Media Application Format (CMAF) packaging configuration.
  3773  	CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"`
  3774  
  3775  	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
  3776  	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
  3777  
  3778  	Description *string `locationName:"description" type:"string"`
  3779  
  3780  	// An HTTP Live Streaming (HLS) packaging configuration.
  3781  	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
  3782  
  3783  	Id *string `locationName:"id" type:"string"`
  3784  
  3785  	ManifestName *string `locationName:"manifestName" type:"string"`
  3786  
  3787  	// A Microsoft Smooth Streaming (MSS) packaging configuration.
  3788  	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
  3789  
  3790  	Origination *string `locationName:"origination" type:"string" enum:"Origination"`
  3791  
  3792  	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
  3793  
  3794  	// A collection of tags associated with a resource
  3795  	Tags map[string]*string `locationName:"tags" type:"map"`
  3796  
  3797  	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
  3798  
  3799  	Url *string `locationName:"url" type:"string"`
  3800  
  3801  	Whitelist []*string `locationName:"whitelist" type:"list"`
  3802  }
  3803  
  3804  // String returns the string representation.
  3805  //
  3806  // API parameter values that are decorated as "sensitive" in the API will not
  3807  // be included in the string output. The member name will be present, but the
  3808  // value will be replaced with "sensitive".
  3809  func (s DescribeOriginEndpointOutput) String() string {
  3810  	return awsutil.Prettify(s)
  3811  }
  3812  
  3813  // GoString returns the string representation.
  3814  //
  3815  // API parameter values that are decorated as "sensitive" in the API will not
  3816  // be included in the string output. The member name will be present, but the
  3817  // value will be replaced with "sensitive".
  3818  func (s DescribeOriginEndpointOutput) GoString() string {
  3819  	return s.String()
  3820  }
  3821  
  3822  // SetArn sets the Arn field's value.
  3823  func (s *DescribeOriginEndpointOutput) SetArn(v string) *DescribeOriginEndpointOutput {
  3824  	s.Arn = &v
  3825  	return s
  3826  }
  3827  
  3828  // SetAuthorization sets the Authorization field's value.
  3829  func (s *DescribeOriginEndpointOutput) SetAuthorization(v *Authorization) *DescribeOriginEndpointOutput {
  3830  	s.Authorization = v
  3831  	return s
  3832  }
  3833  
  3834  // SetChannelId sets the ChannelId field's value.
  3835  func (s *DescribeOriginEndpointOutput) SetChannelId(v string) *DescribeOriginEndpointOutput {
  3836  	s.ChannelId = &v
  3837  	return s
  3838  }
  3839  
  3840  // SetCmafPackage sets the CmafPackage field's value.
  3841  func (s *DescribeOriginEndpointOutput) SetCmafPackage(v *CmafPackage) *DescribeOriginEndpointOutput {
  3842  	s.CmafPackage = v
  3843  	return s
  3844  }
  3845  
  3846  // SetDashPackage sets the DashPackage field's value.
  3847  func (s *DescribeOriginEndpointOutput) SetDashPackage(v *DashPackage) *DescribeOriginEndpointOutput {
  3848  	s.DashPackage = v
  3849  	return s
  3850  }
  3851  
  3852  // SetDescription sets the Description field's value.
  3853  func (s *DescribeOriginEndpointOutput) SetDescription(v string) *DescribeOriginEndpointOutput {
  3854  	s.Description = &v
  3855  	return s
  3856  }
  3857  
  3858  // SetHlsPackage sets the HlsPackage field's value.
  3859  func (s *DescribeOriginEndpointOutput) SetHlsPackage(v *HlsPackage) *DescribeOriginEndpointOutput {
  3860  	s.HlsPackage = v
  3861  	return s
  3862  }
  3863  
  3864  // SetId sets the Id field's value.
  3865  func (s *DescribeOriginEndpointOutput) SetId(v string) *DescribeOriginEndpointOutput {
  3866  	s.Id = &v
  3867  	return s
  3868  }
  3869  
  3870  // SetManifestName sets the ManifestName field's value.
  3871  func (s *DescribeOriginEndpointOutput) SetManifestName(v string) *DescribeOriginEndpointOutput {
  3872  	s.ManifestName = &v
  3873  	return s
  3874  }
  3875  
  3876  // SetMssPackage sets the MssPackage field's value.
  3877  func (s *DescribeOriginEndpointOutput) SetMssPackage(v *MssPackage) *DescribeOriginEndpointOutput {
  3878  	s.MssPackage = v
  3879  	return s
  3880  }
  3881  
  3882  // SetOrigination sets the Origination field's value.
  3883  func (s *DescribeOriginEndpointOutput) SetOrigination(v string) *DescribeOriginEndpointOutput {
  3884  	s.Origination = &v
  3885  	return s
  3886  }
  3887  
  3888  // SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
  3889  func (s *DescribeOriginEndpointOutput) SetStartoverWindowSeconds(v int64) *DescribeOriginEndpointOutput {
  3890  	s.StartoverWindowSeconds = &v
  3891  	return s
  3892  }
  3893  
  3894  // SetTags sets the Tags field's value.
  3895  func (s *DescribeOriginEndpointOutput) SetTags(v map[string]*string) *DescribeOriginEndpointOutput {
  3896  	s.Tags = v
  3897  	return s
  3898  }
  3899  
  3900  // SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
  3901  func (s *DescribeOriginEndpointOutput) SetTimeDelaySeconds(v int64) *DescribeOriginEndpointOutput {
  3902  	s.TimeDelaySeconds = &v
  3903  	return s
  3904  }
  3905  
  3906  // SetUrl sets the Url field's value.
  3907  func (s *DescribeOriginEndpointOutput) SetUrl(v string) *DescribeOriginEndpointOutput {
  3908  	s.Url = &v
  3909  	return s
  3910  }
  3911  
  3912  // SetWhitelist sets the Whitelist field's value.
  3913  func (s *DescribeOriginEndpointOutput) SetWhitelist(v []*string) *DescribeOriginEndpointOutput {
  3914  	s.Whitelist = v
  3915  	return s
  3916  }
  3917  
  3918  // Configure egress access logging.
  3919  type EgressAccessLogs struct {
  3920  	_ struct{} `type:"structure"`
  3921  
  3922  	// Customize the log group name.
  3923  	LogGroupName *string `locationName:"logGroupName" type:"string"`
  3924  }
  3925  
  3926  // String returns the string representation.
  3927  //
  3928  // API parameter values that are decorated as "sensitive" in the API will not
  3929  // be included in the string output. The member name will be present, but the
  3930  // value will be replaced with "sensitive".
  3931  func (s EgressAccessLogs) String() string {
  3932  	return awsutil.Prettify(s)
  3933  }
  3934  
  3935  // GoString returns the string representation.
  3936  //
  3937  // API parameter values that are decorated as "sensitive" in the API will not
  3938  // be included in the string output. The member name will be present, but the
  3939  // value will be replaced with "sensitive".
  3940  func (s EgressAccessLogs) GoString() string {
  3941  	return s.String()
  3942  }
  3943  
  3944  // SetLogGroupName sets the LogGroupName field's value.
  3945  func (s *EgressAccessLogs) SetLogGroupName(v string) *EgressAccessLogs {
  3946  	s.LogGroupName = &v
  3947  	return s
  3948  }
  3949  
  3950  // Use encryptionContractConfiguration to configure one or more content encryption
  3951  // keys for your endpoints that use SPEKE 2.0. The encryption contract defines
  3952  // which content keys are used to encrypt the audio and video tracks in your
  3953  // stream. To configure the encryption contract, specify which audio and video
  3954  // encryption presets to use.Note the following considerations when using encryptionContractConfiguration:encryptionContractConfiguration
  3955  // can be used for DASH or CMAF endpoints that use SPEKE 2.0. SPEKE 2.0 relies
  3956  // on the CPIX 2.3 specification.You must disable key rotation for this endpoint
  3957  // by setting keyRotationIntervalSeconds to 0.
  3958  type EncryptionContractConfiguration struct {
  3959  	_ struct{} `type:"structure"`
  3960  
  3961  	// A collection of audio encryption presets.
  3962  	//
  3963  	// PresetSpeke20Audio is a required field
  3964  	PresetSpeke20Audio *string `locationName:"presetSpeke20Audio" type:"string" required:"true" enum:"PresetSpeke20Audio"`
  3965  
  3966  	// A collection of video encryption presets.
  3967  	//
  3968  	// PresetSpeke20Video is a required field
  3969  	PresetSpeke20Video *string `locationName:"presetSpeke20Video" type:"string" required:"true" enum:"PresetSpeke20Video"`
  3970  }
  3971  
  3972  // String returns the string representation.
  3973  //
  3974  // API parameter values that are decorated as "sensitive" in the API will not
  3975  // be included in the string output. The member name will be present, but the
  3976  // value will be replaced with "sensitive".
  3977  func (s EncryptionContractConfiguration) String() string {
  3978  	return awsutil.Prettify(s)
  3979  }
  3980  
  3981  // GoString returns the string representation.
  3982  //
  3983  // API parameter values that are decorated as "sensitive" in the API will not
  3984  // be included in the string output. The member name will be present, but the
  3985  // value will be replaced with "sensitive".
  3986  func (s EncryptionContractConfiguration) GoString() string {
  3987  	return s.String()
  3988  }
  3989  
  3990  // Validate inspects the fields of the type to determine if they are valid.
  3991  func (s *EncryptionContractConfiguration) Validate() error {
  3992  	invalidParams := request.ErrInvalidParams{Context: "EncryptionContractConfiguration"}
  3993  	if s.PresetSpeke20Audio == nil {
  3994  		invalidParams.Add(request.NewErrParamRequired("PresetSpeke20Audio"))
  3995  	}
  3996  	if s.PresetSpeke20Video == nil {
  3997  		invalidParams.Add(request.NewErrParamRequired("PresetSpeke20Video"))
  3998  	}
  3999  
  4000  	if invalidParams.Len() > 0 {
  4001  		return invalidParams
  4002  	}
  4003  	return nil
  4004  }
  4005  
  4006  // SetPresetSpeke20Audio sets the PresetSpeke20Audio field's value.
  4007  func (s *EncryptionContractConfiguration) SetPresetSpeke20Audio(v string) *EncryptionContractConfiguration {
  4008  	s.PresetSpeke20Audio = &v
  4009  	return s
  4010  }
  4011  
  4012  // SetPresetSpeke20Video sets the PresetSpeke20Video field's value.
  4013  func (s *EncryptionContractConfiguration) SetPresetSpeke20Video(v string) *EncryptionContractConfiguration {
  4014  	s.PresetSpeke20Video = &v
  4015  	return s
  4016  }
  4017  
  4018  type ForbiddenException struct {
  4019  	_            struct{}                  `type:"structure"`
  4020  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4021  
  4022  	Message_ *string `locationName:"message" type:"string"`
  4023  }
  4024  
  4025  // String returns the string representation.
  4026  //
  4027  // API parameter values that are decorated as "sensitive" in the API will not
  4028  // be included in the string output. The member name will be present, but the
  4029  // value will be replaced with "sensitive".
  4030  func (s ForbiddenException) String() string {
  4031  	return awsutil.Prettify(s)
  4032  }
  4033  
  4034  // GoString returns the string representation.
  4035  //
  4036  // API parameter values that are decorated as "sensitive" in the API will not
  4037  // be included in the string output. The member name will be present, but the
  4038  // value will be replaced with "sensitive".
  4039  func (s ForbiddenException) GoString() string {
  4040  	return s.String()
  4041  }
  4042  
  4043  func newErrorForbiddenException(v protocol.ResponseMetadata) error {
  4044  	return &ForbiddenException{
  4045  		RespMetadata: v,
  4046  	}
  4047  }
  4048  
  4049  // Code returns the exception type name.
  4050  func (s *ForbiddenException) Code() string {
  4051  	return "ForbiddenException"
  4052  }
  4053  
  4054  // Message returns the exception's message.
  4055  func (s *ForbiddenException) Message() string {
  4056  	if s.Message_ != nil {
  4057  		return *s.Message_
  4058  	}
  4059  	return ""
  4060  }
  4061  
  4062  // OrigErr always returns nil, satisfies awserr.Error interface.
  4063  func (s *ForbiddenException) OrigErr() error {
  4064  	return nil
  4065  }
  4066  
  4067  func (s *ForbiddenException) Error() string {
  4068  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4069  }
  4070  
  4071  // Status code returns the HTTP status code for the request's response error.
  4072  func (s *ForbiddenException) StatusCode() int {
  4073  	return s.RespMetadata.StatusCode
  4074  }
  4075  
  4076  // RequestID returns the service's response RequestID for request.
  4077  func (s *ForbiddenException) RequestID() string {
  4078  	return s.RespMetadata.RequestID
  4079  }
  4080  
  4081  // A HarvestJob resource configuration
  4082  type HarvestJob struct {
  4083  	_ struct{} `type:"structure"`
  4084  
  4085  	// The Amazon Resource Name (ARN) assigned to the HarvestJob.
  4086  	Arn *string `locationName:"arn" type:"string"`
  4087  
  4088  	// The ID of the Channel that the HarvestJob will harvest from.
  4089  	ChannelId *string `locationName:"channelId" type:"string"`
  4090  
  4091  	// The time the HarvestJob was submitted
  4092  	CreatedAt *string `locationName:"createdAt" type:"string"`
  4093  
  4094  	// The end of the time-window which will be harvested.
  4095  	EndTime *string `locationName:"endTime" type:"string"`
  4096  
  4097  	// The ID of the HarvestJob. The ID must be unique within the regionand it cannot
  4098  	// be changed after the HarvestJob is submitted.
  4099  	Id *string `locationName:"id" type:"string"`
  4100  
  4101  	// The ID of the OriginEndpoint that the HarvestJob will harvest from.This cannot
  4102  	// be changed after the HarvestJob is submitted.
  4103  	OriginEndpointId *string `locationName:"originEndpointId" type:"string"`
  4104  
  4105  	// Configuration parameters for where in an S3 bucket to place the harvested
  4106  	// content
  4107  	S3Destination *S3Destination `locationName:"s3Destination" type:"structure"`
  4108  
  4109  	// The start of the time-window which will be harvested.
  4110  	StartTime *string `locationName:"startTime" type:"string"`
  4111  
  4112  	// The current status of the HarvestJob. Consider setting up a CloudWatch Event
  4113  	// to listen forHarvestJobs as they succeed or fail. In the event of failure,
  4114  	// the CloudWatch Event willinclude an explanation of why the HarvestJob failed.
  4115  	Status *string `locationName:"status" type:"string" enum:"Status"`
  4116  }
  4117  
  4118  // String returns the string representation.
  4119  //
  4120  // API parameter values that are decorated as "sensitive" in the API will not
  4121  // be included in the string output. The member name will be present, but the
  4122  // value will be replaced with "sensitive".
  4123  func (s HarvestJob) String() string {
  4124  	return awsutil.Prettify(s)
  4125  }
  4126  
  4127  // GoString returns the string representation.
  4128  //
  4129  // API parameter values that are decorated as "sensitive" in the API will not
  4130  // be included in the string output. The member name will be present, but the
  4131  // value will be replaced with "sensitive".
  4132  func (s HarvestJob) GoString() string {
  4133  	return s.String()
  4134  }
  4135  
  4136  // SetArn sets the Arn field's value.
  4137  func (s *HarvestJob) SetArn(v string) *HarvestJob {
  4138  	s.Arn = &v
  4139  	return s
  4140  }
  4141  
  4142  // SetChannelId sets the ChannelId field's value.
  4143  func (s *HarvestJob) SetChannelId(v string) *HarvestJob {
  4144  	s.ChannelId = &v
  4145  	return s
  4146  }
  4147  
  4148  // SetCreatedAt sets the CreatedAt field's value.
  4149  func (s *HarvestJob) SetCreatedAt(v string) *HarvestJob {
  4150  	s.CreatedAt = &v
  4151  	return s
  4152  }
  4153  
  4154  // SetEndTime sets the EndTime field's value.
  4155  func (s *HarvestJob) SetEndTime(v string) *HarvestJob {
  4156  	s.EndTime = &v
  4157  	return s
  4158  }
  4159  
  4160  // SetId sets the Id field's value.
  4161  func (s *HarvestJob) SetId(v string) *HarvestJob {
  4162  	s.Id = &v
  4163  	return s
  4164  }
  4165  
  4166  // SetOriginEndpointId sets the OriginEndpointId field's value.
  4167  func (s *HarvestJob) SetOriginEndpointId(v string) *HarvestJob {
  4168  	s.OriginEndpointId = &v
  4169  	return s
  4170  }
  4171  
  4172  // SetS3Destination sets the S3Destination field's value.
  4173  func (s *HarvestJob) SetS3Destination(v *S3Destination) *HarvestJob {
  4174  	s.S3Destination = v
  4175  	return s
  4176  }
  4177  
  4178  // SetStartTime sets the StartTime field's value.
  4179  func (s *HarvestJob) SetStartTime(v string) *HarvestJob {
  4180  	s.StartTime = &v
  4181  	return s
  4182  }
  4183  
  4184  // SetStatus sets the Status field's value.
  4185  func (s *HarvestJob) SetStatus(v string) *HarvestJob {
  4186  	s.Status = &v
  4187  	return s
  4188  }
  4189  
  4190  // An HTTP Live Streaming (HLS) encryption configuration.
  4191  type HlsEncryption struct {
  4192  	_ struct{} `type:"structure"`
  4193  
  4194  	// A constant initialization vector for encryption (optional).When not specified
  4195  	// the initialization vector will be periodically rotated.
  4196  	ConstantInitializationVector *string `locationName:"constantInitializationVector" type:"string"`
  4197  
  4198  	// The encryption method to use.
  4199  	EncryptionMethod *string `locationName:"encryptionMethod" type:"string" enum:"EncryptionMethod"`
  4200  
  4201  	// Interval (in seconds) between each encryption key rotation.
  4202  	KeyRotationIntervalSeconds *int64 `locationName:"keyRotationIntervalSeconds" type:"integer"`
  4203  
  4204  	// When enabled, the EXT-X-KEY tag will be repeated in output manifests.
  4205  	RepeatExtXKey *bool `locationName:"repeatExtXKey" type:"boolean"`
  4206  
  4207  	// A configuration for accessing an external Secure Packager and Encoder Key
  4208  	// Exchange (SPEKE) service that will provide encryption keys.
  4209  	//
  4210  	// SpekeKeyProvider is a required field
  4211  	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
  4212  }
  4213  
  4214  // String returns the string representation.
  4215  //
  4216  // API parameter values that are decorated as "sensitive" in the API will not
  4217  // be included in the string output. The member name will be present, but the
  4218  // value will be replaced with "sensitive".
  4219  func (s HlsEncryption) String() string {
  4220  	return awsutil.Prettify(s)
  4221  }
  4222  
  4223  // GoString 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 HlsEncryption) GoString() string {
  4229  	return s.String()
  4230  }
  4231  
  4232  // Validate inspects the fields of the type to determine if they are valid.
  4233  func (s *HlsEncryption) Validate() error {
  4234  	invalidParams := request.ErrInvalidParams{Context: "HlsEncryption"}
  4235  	if s.SpekeKeyProvider == nil {
  4236  		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
  4237  	}
  4238  	if s.SpekeKeyProvider != nil {
  4239  		if err := s.SpekeKeyProvider.Validate(); err != nil {
  4240  			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
  4241  		}
  4242  	}
  4243  
  4244  	if invalidParams.Len() > 0 {
  4245  		return invalidParams
  4246  	}
  4247  	return nil
  4248  }
  4249  
  4250  // SetConstantInitializationVector sets the ConstantInitializationVector field's value.
  4251  func (s *HlsEncryption) SetConstantInitializationVector(v string) *HlsEncryption {
  4252  	s.ConstantInitializationVector = &v
  4253  	return s
  4254  }
  4255  
  4256  // SetEncryptionMethod sets the EncryptionMethod field's value.
  4257  func (s *HlsEncryption) SetEncryptionMethod(v string) *HlsEncryption {
  4258  	s.EncryptionMethod = &v
  4259  	return s
  4260  }
  4261  
  4262  // SetKeyRotationIntervalSeconds sets the KeyRotationIntervalSeconds field's value.
  4263  func (s *HlsEncryption) SetKeyRotationIntervalSeconds(v int64) *HlsEncryption {
  4264  	s.KeyRotationIntervalSeconds = &v
  4265  	return s
  4266  }
  4267  
  4268  // SetRepeatExtXKey sets the RepeatExtXKey field's value.
  4269  func (s *HlsEncryption) SetRepeatExtXKey(v bool) *HlsEncryption {
  4270  	s.RepeatExtXKey = &v
  4271  	return s
  4272  }
  4273  
  4274  // SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
  4275  func (s *HlsEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *HlsEncryption {
  4276  	s.SpekeKeyProvider = v
  4277  	return s
  4278  }
  4279  
  4280  // An HTTP Live Streaming (HLS) ingest resource configuration.
  4281  type HlsIngest struct {
  4282  	_ struct{} `type:"structure"`
  4283  
  4284  	// A list of endpoints to which the source stream should be sent.
  4285  	IngestEndpoints []*IngestEndpoint `locationName:"ingestEndpoints" type:"list"`
  4286  }
  4287  
  4288  // String returns the string representation.
  4289  //
  4290  // API parameter values that are decorated as "sensitive" in the API will not
  4291  // be included in the string output. The member name will be present, but the
  4292  // value will be replaced with "sensitive".
  4293  func (s HlsIngest) String() string {
  4294  	return awsutil.Prettify(s)
  4295  }
  4296  
  4297  // GoString returns the string representation.
  4298  //
  4299  // API parameter values that are decorated as "sensitive" in the API will not
  4300  // be included in the string output. The member name will be present, but the
  4301  // value will be replaced with "sensitive".
  4302  func (s HlsIngest) GoString() string {
  4303  	return s.String()
  4304  }
  4305  
  4306  // SetIngestEndpoints sets the IngestEndpoints field's value.
  4307  func (s *HlsIngest) SetIngestEndpoints(v []*IngestEndpoint) *HlsIngest {
  4308  	s.IngestEndpoints = v
  4309  	return s
  4310  }
  4311  
  4312  // A HTTP Live Streaming (HLS) manifest configuration.
  4313  type HlsManifest struct {
  4314  	_ struct{} `type:"structure"`
  4315  
  4316  	// This setting controls how ad markers are included in the packaged OriginEndpoint."NONE"
  4317  	// will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the
  4318  	// manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly
  4319  	// from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates
  4320  	// ad markers and blackout tags based on SCTE-35messages in the input source."DATERANGE"
  4321  	// inserts EXT-X-DATERANGE tags to signal ad and program transition events in
  4322  	// HLS and CMAF manifests. For this option, you must set a programDateTimeIntervalSeconds
  4323  	// value that is greater than 0.
  4324  	AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"`
  4325  
  4326  	// The ID of the manifest. The ID must be unique within the OriginEndpoint and
  4327  	// it cannot be changed after it is created.
  4328  	//
  4329  	// Id is a required field
  4330  	Id *string `locationName:"id" type:"string" required:"true"`
  4331  
  4332  	// When enabled, an I-Frame only stream will be included in the output.
  4333  	IncludeIframeOnlyStream *bool `locationName:"includeIframeOnlyStream" type:"boolean"`
  4334  
  4335  	// An optional short string appended to the end of the OriginEndpoint URL. If
  4336  	// not specified, defaults to the manifestName for the OriginEndpoint.
  4337  	ManifestName *string `locationName:"manifestName" type:"string"`
  4338  
  4339  	// The HTTP Live Streaming (HLS) playlist type.When either "EVENT" or "VOD"
  4340  	// is specified, a corresponding EXT-X-PLAYLIST-TYPEentry will be included in
  4341  	// the media playlist.
  4342  	PlaylistType *string `locationName:"playlistType" type:"string" enum:"PlaylistType"`
  4343  
  4344  	// Time window (in seconds) contained in each parent manifest.
  4345  	PlaylistWindowSeconds *int64 `locationName:"playlistWindowSeconds" type:"integer"`
  4346  
  4347  	// The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME taginserted
  4348  	// into manifests. Additionally, when an interval is specifiedID3Timed Metadata
  4349  	// messages will be generated every 5 seconds using theingest time of the content.If
  4350  	// the interval is not specified, or set to 0, thenno EXT-X-PROGRAM-DATE-TIME
  4351  	// tags will be inserted into manifests and noID3Timed Metadata messages will
  4352  	// be generated. Note that irrespectiveof this parameter, if any ID3 Timed Metadata
  4353  	// is found in HTTP Live Streaming (HLS) input,it will be passed through to
  4354  	// HLS output.
  4355  	ProgramDateTimeIntervalSeconds *int64 `locationName:"programDateTimeIntervalSeconds" type:"integer"`
  4356  
  4357  	// The URL of the packaged OriginEndpoint for consumption.
  4358  	Url *string `locationName:"url" type:"string"`
  4359  }
  4360  
  4361  // String returns the string representation.
  4362  //
  4363  // API parameter values that are decorated as "sensitive" in the API will not
  4364  // be included in the string output. The member name will be present, but the
  4365  // value will be replaced with "sensitive".
  4366  func (s HlsManifest) String() string {
  4367  	return awsutil.Prettify(s)
  4368  }
  4369  
  4370  // GoString returns the string representation.
  4371  //
  4372  // API parameter values that are decorated as "sensitive" in the API will not
  4373  // be included in the string output. The member name will be present, but the
  4374  // value will be replaced with "sensitive".
  4375  func (s HlsManifest) GoString() string {
  4376  	return s.String()
  4377  }
  4378  
  4379  // SetAdMarkers sets the AdMarkers field's value.
  4380  func (s *HlsManifest) SetAdMarkers(v string) *HlsManifest {
  4381  	s.AdMarkers = &v
  4382  	return s
  4383  }
  4384  
  4385  // SetId sets the Id field's value.
  4386  func (s *HlsManifest) SetId(v string) *HlsManifest {
  4387  	s.Id = &v
  4388  	return s
  4389  }
  4390  
  4391  // SetIncludeIframeOnlyStream sets the IncludeIframeOnlyStream field's value.
  4392  func (s *HlsManifest) SetIncludeIframeOnlyStream(v bool) *HlsManifest {
  4393  	s.IncludeIframeOnlyStream = &v
  4394  	return s
  4395  }
  4396  
  4397  // SetManifestName sets the ManifestName field's value.
  4398  func (s *HlsManifest) SetManifestName(v string) *HlsManifest {
  4399  	s.ManifestName = &v
  4400  	return s
  4401  }
  4402  
  4403  // SetPlaylistType sets the PlaylistType field's value.
  4404  func (s *HlsManifest) SetPlaylistType(v string) *HlsManifest {
  4405  	s.PlaylistType = &v
  4406  	return s
  4407  }
  4408  
  4409  // SetPlaylistWindowSeconds sets the PlaylistWindowSeconds field's value.
  4410  func (s *HlsManifest) SetPlaylistWindowSeconds(v int64) *HlsManifest {
  4411  	s.PlaylistWindowSeconds = &v
  4412  	return s
  4413  }
  4414  
  4415  // SetProgramDateTimeIntervalSeconds sets the ProgramDateTimeIntervalSeconds field's value.
  4416  func (s *HlsManifest) SetProgramDateTimeIntervalSeconds(v int64) *HlsManifest {
  4417  	s.ProgramDateTimeIntervalSeconds = &v
  4418  	return s
  4419  }
  4420  
  4421  // SetUrl sets the Url field's value.
  4422  func (s *HlsManifest) SetUrl(v string) *HlsManifest {
  4423  	s.Url = &v
  4424  	return s
  4425  }
  4426  
  4427  // A HTTP Live Streaming (HLS) manifest configuration.
  4428  type HlsManifestCreateOrUpdateParameters struct {
  4429  	_ struct{} `type:"structure"`
  4430  
  4431  	// This setting controls how ad markers are included in the packaged OriginEndpoint."NONE"
  4432  	// will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the
  4433  	// manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly
  4434  	// from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates
  4435  	// ad markers and blackout tags based on SCTE-35messages in the input source."DATERANGE"
  4436  	// inserts EXT-X-DATERANGE tags to signal ad and program transition events in
  4437  	// HLS and CMAF manifests. For this option, you must set a programDateTimeIntervalSeconds
  4438  	// value that is greater than 0.
  4439  	AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"`
  4440  
  4441  	// A list of SCTE-35 message types that are treated as ad markers in the output.
  4442  	// If empty, noad markers are output. Specify multiple items to create ad markers
  4443  	// for all of the includedmessage types.
  4444  	AdTriggers []*string `locationName:"adTriggers" type:"list"`
  4445  
  4446  	// This setting allows the delivery restriction flags on SCTE-35 segmentation
  4447  	// descriptors todetermine whether a message signals an ad. Choosing "NONE"
  4448  	// means no SCTE-35 messages becomeads. Choosing "RESTRICTED" means SCTE-35
  4449  	// messages of the types specified in AdTriggers thatcontain delivery restrictions
  4450  	// will be treated as ads. Choosing "UNRESTRICTED" means SCTE-35messages of
  4451  	// the types specified in AdTriggers that do not contain delivery restrictions
  4452  	// willbe treated as ads. Choosing "BOTH" means all SCTE-35 messages of the
  4453  	// types specified inAdTriggers will be treated as ads. Note that Splice Insert
  4454  	// messages do not have these flagsand are always treated as ads if specified
  4455  	// in AdTriggers.
  4456  	AdsOnDeliveryRestrictions *string `locationName:"adsOnDeliveryRestrictions" type:"string" enum:"AdsOnDeliveryRestrictions"`
  4457  
  4458  	// The ID of the manifest. The ID must be unique within the OriginEndpoint and
  4459  	// it cannot be changed after it is created.
  4460  	//
  4461  	// Id is a required field
  4462  	Id *string `locationName:"id" type:"string" required:"true"`
  4463  
  4464  	// When enabled, an I-Frame only stream will be included in the output.
  4465  	IncludeIframeOnlyStream *bool `locationName:"includeIframeOnlyStream" type:"boolean"`
  4466  
  4467  	// An optional short string appended to the end of the OriginEndpoint URL. If
  4468  	// not specified, defaults to the manifestName for the OriginEndpoint.
  4469  	ManifestName *string `locationName:"manifestName" type:"string"`
  4470  
  4471  	// The HTTP Live Streaming (HLS) playlist type.When either "EVENT" or "VOD"
  4472  	// is specified, a corresponding EXT-X-PLAYLIST-TYPEentry will be included in
  4473  	// the media playlist.
  4474  	PlaylistType *string `locationName:"playlistType" type:"string" enum:"PlaylistType"`
  4475  
  4476  	// Time window (in seconds) contained in each parent manifest.
  4477  	PlaylistWindowSeconds *int64 `locationName:"playlistWindowSeconds" type:"integer"`
  4478  
  4479  	// The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME taginserted
  4480  	// into manifests. Additionally, when an interval is specifiedID3Timed Metadata
  4481  	// messages will be generated every 5 seconds using theingest time of the content.If
  4482  	// the interval is not specified, or set to 0, thenno EXT-X-PROGRAM-DATE-TIME
  4483  	// tags will be inserted into manifests and noID3Timed Metadata messages will
  4484  	// be generated. Note that irrespectiveof this parameter, if any ID3 Timed Metadata
  4485  	// is found in HTTP Live Streaming (HLS) input,it will be passed through to
  4486  	// HLS output.
  4487  	ProgramDateTimeIntervalSeconds *int64 `locationName:"programDateTimeIntervalSeconds" type:"integer"`
  4488  }
  4489  
  4490  // String returns the string representation.
  4491  //
  4492  // API parameter values that are decorated as "sensitive" in the API will not
  4493  // be included in the string output. The member name will be present, but the
  4494  // value will be replaced with "sensitive".
  4495  func (s HlsManifestCreateOrUpdateParameters) String() string {
  4496  	return awsutil.Prettify(s)
  4497  }
  4498  
  4499  // GoString returns the string representation.
  4500  //
  4501  // API parameter values that are decorated as "sensitive" in the API will not
  4502  // be included in the string output. The member name will be present, but the
  4503  // value will be replaced with "sensitive".
  4504  func (s HlsManifestCreateOrUpdateParameters) GoString() string {
  4505  	return s.String()
  4506  }
  4507  
  4508  // Validate inspects the fields of the type to determine if they are valid.
  4509  func (s *HlsManifestCreateOrUpdateParameters) Validate() error {
  4510  	invalidParams := request.ErrInvalidParams{Context: "HlsManifestCreateOrUpdateParameters"}
  4511  	if s.Id == nil {
  4512  		invalidParams.Add(request.NewErrParamRequired("Id"))
  4513  	}
  4514  
  4515  	if invalidParams.Len() > 0 {
  4516  		return invalidParams
  4517  	}
  4518  	return nil
  4519  }
  4520  
  4521  // SetAdMarkers sets the AdMarkers field's value.
  4522  func (s *HlsManifestCreateOrUpdateParameters) SetAdMarkers(v string) *HlsManifestCreateOrUpdateParameters {
  4523  	s.AdMarkers = &v
  4524  	return s
  4525  }
  4526  
  4527  // SetAdTriggers sets the AdTriggers field's value.
  4528  func (s *HlsManifestCreateOrUpdateParameters) SetAdTriggers(v []*string) *HlsManifestCreateOrUpdateParameters {
  4529  	s.AdTriggers = v
  4530  	return s
  4531  }
  4532  
  4533  // SetAdsOnDeliveryRestrictions sets the AdsOnDeliveryRestrictions field's value.
  4534  func (s *HlsManifestCreateOrUpdateParameters) SetAdsOnDeliveryRestrictions(v string) *HlsManifestCreateOrUpdateParameters {
  4535  	s.AdsOnDeliveryRestrictions = &v
  4536  	return s
  4537  }
  4538  
  4539  // SetId sets the Id field's value.
  4540  func (s *HlsManifestCreateOrUpdateParameters) SetId(v string) *HlsManifestCreateOrUpdateParameters {
  4541  	s.Id = &v
  4542  	return s
  4543  }
  4544  
  4545  // SetIncludeIframeOnlyStream sets the IncludeIframeOnlyStream field's value.
  4546  func (s *HlsManifestCreateOrUpdateParameters) SetIncludeIframeOnlyStream(v bool) *HlsManifestCreateOrUpdateParameters {
  4547  	s.IncludeIframeOnlyStream = &v
  4548  	return s
  4549  }
  4550  
  4551  // SetManifestName sets the ManifestName field's value.
  4552  func (s *HlsManifestCreateOrUpdateParameters) SetManifestName(v string) *HlsManifestCreateOrUpdateParameters {
  4553  	s.ManifestName = &v
  4554  	return s
  4555  }
  4556  
  4557  // SetPlaylistType sets the PlaylistType field's value.
  4558  func (s *HlsManifestCreateOrUpdateParameters) SetPlaylistType(v string) *HlsManifestCreateOrUpdateParameters {
  4559  	s.PlaylistType = &v
  4560  	return s
  4561  }
  4562  
  4563  // SetPlaylistWindowSeconds sets the PlaylistWindowSeconds field's value.
  4564  func (s *HlsManifestCreateOrUpdateParameters) SetPlaylistWindowSeconds(v int64) *HlsManifestCreateOrUpdateParameters {
  4565  	s.PlaylistWindowSeconds = &v
  4566  	return s
  4567  }
  4568  
  4569  // SetProgramDateTimeIntervalSeconds sets the ProgramDateTimeIntervalSeconds field's value.
  4570  func (s *HlsManifestCreateOrUpdateParameters) SetProgramDateTimeIntervalSeconds(v int64) *HlsManifestCreateOrUpdateParameters {
  4571  	s.ProgramDateTimeIntervalSeconds = &v
  4572  	return s
  4573  }
  4574  
  4575  // An HTTP Live Streaming (HLS) packaging configuration.
  4576  type HlsPackage struct {
  4577  	_ struct{} `type:"structure"`
  4578  
  4579  	// This setting controls how ad markers are included in the packaged OriginEndpoint."NONE"
  4580  	// will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the
  4581  	// manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly
  4582  	// from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates
  4583  	// ad markers and blackout tags based on SCTE-35messages in the input source."DATERANGE"
  4584  	// inserts EXT-X-DATERANGE tags to signal ad and program transition events in
  4585  	// HLS and CMAF manifests. For this option, you must set a programDateTimeIntervalSeconds
  4586  	// value that is greater than 0.
  4587  	AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"`
  4588  
  4589  	// A list of SCTE-35 message types that are treated as ad markers in the output.
  4590  	// If empty, noad markers are output. Specify multiple items to create ad markers
  4591  	// for all of the includedmessage types.
  4592  	AdTriggers []*string `locationName:"adTriggers" type:"list"`
  4593  
  4594  	// This setting allows the delivery restriction flags on SCTE-35 segmentation
  4595  	// descriptors todetermine whether a message signals an ad. Choosing "NONE"
  4596  	// means no SCTE-35 messages becomeads. Choosing "RESTRICTED" means SCTE-35
  4597  	// messages of the types specified in AdTriggers thatcontain delivery restrictions
  4598  	// will be treated as ads. Choosing "UNRESTRICTED" means SCTE-35messages of
  4599  	// the types specified in AdTriggers that do not contain delivery restrictions
  4600  	// willbe treated as ads. Choosing "BOTH" means all SCTE-35 messages of the
  4601  	// types specified inAdTriggers will be treated as ads. Note that Splice Insert
  4602  	// messages do not have these flagsand are always treated as ads if specified
  4603  	// in AdTriggers.
  4604  	AdsOnDeliveryRestrictions *string `locationName:"adsOnDeliveryRestrictions" type:"string" enum:"AdsOnDeliveryRestrictions"`
  4605  
  4606  	// An HTTP Live Streaming (HLS) encryption configuration.
  4607  	Encryption *HlsEncryption `locationName:"encryption" type:"structure"`
  4608  
  4609  	// When enabled, an I-Frame only stream will be included in the output.
  4610  	IncludeIframeOnlyStream *bool `locationName:"includeIframeOnlyStream" type:"boolean"`
  4611  
  4612  	// The HTTP Live Streaming (HLS) playlist type.When either "EVENT" or "VOD"
  4613  	// is specified, a corresponding EXT-X-PLAYLIST-TYPEentry will be included in
  4614  	// the media playlist.
  4615  	PlaylistType *string `locationName:"playlistType" type:"string" enum:"PlaylistType"`
  4616  
  4617  	// Time window (in seconds) contained in each parent manifest.
  4618  	PlaylistWindowSeconds *int64 `locationName:"playlistWindowSeconds" type:"integer"`
  4619  
  4620  	// The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME taginserted
  4621  	// into manifests. Additionally, when an interval is specifiedID3Timed Metadata
  4622  	// messages will be generated every 5 seconds using theingest time of the content.If
  4623  	// the interval is not specified, or set to 0, thenno EXT-X-PROGRAM-DATE-TIME
  4624  	// tags will be inserted into manifests and noID3Timed Metadata messages will
  4625  	// be generated. Note that irrespectiveof this parameter, if any ID3 Timed Metadata
  4626  	// is found in HTTP Live Streaming (HLS) input,it will be passed through to
  4627  	// HLS output.
  4628  	ProgramDateTimeIntervalSeconds *int64 `locationName:"programDateTimeIntervalSeconds" type:"integer"`
  4629  
  4630  	// Duration (in seconds) of each fragment. Actual fragments will berounded to
  4631  	// the nearest multiple of the source fragment duration.
  4632  	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
  4633  
  4634  	// A StreamSelection configuration.
  4635  	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
  4636  
  4637  	// When enabled, audio streams will be placed in rendition groups in the output.
  4638  	UseAudioRenditionGroup *bool `locationName:"useAudioRenditionGroup" type:"boolean"`
  4639  }
  4640  
  4641  // String returns the string representation.
  4642  //
  4643  // API parameter values that are decorated as "sensitive" in the API will not
  4644  // be included in the string output. The member name will be present, but the
  4645  // value will be replaced with "sensitive".
  4646  func (s HlsPackage) String() string {
  4647  	return awsutil.Prettify(s)
  4648  }
  4649  
  4650  // GoString returns the string representation.
  4651  //
  4652  // API parameter values that are decorated as "sensitive" in the API will not
  4653  // be included in the string output. The member name will be present, but the
  4654  // value will be replaced with "sensitive".
  4655  func (s HlsPackage) GoString() string {
  4656  	return s.String()
  4657  }
  4658  
  4659  // Validate inspects the fields of the type to determine if they are valid.
  4660  func (s *HlsPackage) Validate() error {
  4661  	invalidParams := request.ErrInvalidParams{Context: "HlsPackage"}
  4662  	if s.Encryption != nil {
  4663  		if err := s.Encryption.Validate(); err != nil {
  4664  			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
  4665  		}
  4666  	}
  4667  
  4668  	if invalidParams.Len() > 0 {
  4669  		return invalidParams
  4670  	}
  4671  	return nil
  4672  }
  4673  
  4674  // SetAdMarkers sets the AdMarkers field's value.
  4675  func (s *HlsPackage) SetAdMarkers(v string) *HlsPackage {
  4676  	s.AdMarkers = &v
  4677  	return s
  4678  }
  4679  
  4680  // SetAdTriggers sets the AdTriggers field's value.
  4681  func (s *HlsPackage) SetAdTriggers(v []*string) *HlsPackage {
  4682  	s.AdTriggers = v
  4683  	return s
  4684  }
  4685  
  4686  // SetAdsOnDeliveryRestrictions sets the AdsOnDeliveryRestrictions field's value.
  4687  func (s *HlsPackage) SetAdsOnDeliveryRestrictions(v string) *HlsPackage {
  4688  	s.AdsOnDeliveryRestrictions = &v
  4689  	return s
  4690  }
  4691  
  4692  // SetEncryption sets the Encryption field's value.
  4693  func (s *HlsPackage) SetEncryption(v *HlsEncryption) *HlsPackage {
  4694  	s.Encryption = v
  4695  	return s
  4696  }
  4697  
  4698  // SetIncludeIframeOnlyStream sets the IncludeIframeOnlyStream field's value.
  4699  func (s *HlsPackage) SetIncludeIframeOnlyStream(v bool) *HlsPackage {
  4700  	s.IncludeIframeOnlyStream = &v
  4701  	return s
  4702  }
  4703  
  4704  // SetPlaylistType sets the PlaylistType field's value.
  4705  func (s *HlsPackage) SetPlaylistType(v string) *HlsPackage {
  4706  	s.PlaylistType = &v
  4707  	return s
  4708  }
  4709  
  4710  // SetPlaylistWindowSeconds sets the PlaylistWindowSeconds field's value.
  4711  func (s *HlsPackage) SetPlaylistWindowSeconds(v int64) *HlsPackage {
  4712  	s.PlaylistWindowSeconds = &v
  4713  	return s
  4714  }
  4715  
  4716  // SetProgramDateTimeIntervalSeconds sets the ProgramDateTimeIntervalSeconds field's value.
  4717  func (s *HlsPackage) SetProgramDateTimeIntervalSeconds(v int64) *HlsPackage {
  4718  	s.ProgramDateTimeIntervalSeconds = &v
  4719  	return s
  4720  }
  4721  
  4722  // SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
  4723  func (s *HlsPackage) SetSegmentDurationSeconds(v int64) *HlsPackage {
  4724  	s.SegmentDurationSeconds = &v
  4725  	return s
  4726  }
  4727  
  4728  // SetStreamSelection sets the StreamSelection field's value.
  4729  func (s *HlsPackage) SetStreamSelection(v *StreamSelection) *HlsPackage {
  4730  	s.StreamSelection = v
  4731  	return s
  4732  }
  4733  
  4734  // SetUseAudioRenditionGroup sets the UseAudioRenditionGroup field's value.
  4735  func (s *HlsPackage) SetUseAudioRenditionGroup(v bool) *HlsPackage {
  4736  	s.UseAudioRenditionGroup = &v
  4737  	return s
  4738  }
  4739  
  4740  // An endpoint for ingesting source content for a Channel.
  4741  type IngestEndpoint struct {
  4742  	_ struct{} `type:"structure"`
  4743  
  4744  	// The system generated unique identifier for the IngestEndpoint
  4745  	Id *string `locationName:"id" type:"string"`
  4746  
  4747  	// The system generated password for ingest authentication.
  4748  	Password *string `locationName:"password" type:"string"`
  4749  
  4750  	// The ingest URL to which the source stream should be sent.
  4751  	Url *string `locationName:"url" type:"string"`
  4752  
  4753  	// The system generated username for ingest authentication.
  4754  	Username *string `locationName:"username" type:"string"`
  4755  }
  4756  
  4757  // String returns the string representation.
  4758  //
  4759  // API parameter values that are decorated as "sensitive" in the API will not
  4760  // be included in the string output. The member name will be present, but the
  4761  // value will be replaced with "sensitive".
  4762  func (s IngestEndpoint) String() string {
  4763  	return awsutil.Prettify(s)
  4764  }
  4765  
  4766  // GoString returns the string representation.
  4767  //
  4768  // API parameter values that are decorated as "sensitive" in the API will not
  4769  // be included in the string output. The member name will be present, but the
  4770  // value will be replaced with "sensitive".
  4771  func (s IngestEndpoint) GoString() string {
  4772  	return s.String()
  4773  }
  4774  
  4775  // SetId sets the Id field's value.
  4776  func (s *IngestEndpoint) SetId(v string) *IngestEndpoint {
  4777  	s.Id = &v
  4778  	return s
  4779  }
  4780  
  4781  // SetPassword sets the Password field's value.
  4782  func (s *IngestEndpoint) SetPassword(v string) *IngestEndpoint {
  4783  	s.Password = &v
  4784  	return s
  4785  }
  4786  
  4787  // SetUrl sets the Url field's value.
  4788  func (s *IngestEndpoint) SetUrl(v string) *IngestEndpoint {
  4789  	s.Url = &v
  4790  	return s
  4791  }
  4792  
  4793  // SetUsername sets the Username field's value.
  4794  func (s *IngestEndpoint) SetUsername(v string) *IngestEndpoint {
  4795  	s.Username = &v
  4796  	return s
  4797  }
  4798  
  4799  // Configure ingress access logging.
  4800  type IngressAccessLogs struct {
  4801  	_ struct{} `type:"structure"`
  4802  
  4803  	// Customize the log group name.
  4804  	LogGroupName *string `locationName:"logGroupName" type:"string"`
  4805  }
  4806  
  4807  // String returns the string representation.
  4808  //
  4809  // API parameter values that are decorated as "sensitive" in the API will not
  4810  // be included in the string output. The member name will be present, but the
  4811  // value will be replaced with "sensitive".
  4812  func (s IngressAccessLogs) String() string {
  4813  	return awsutil.Prettify(s)
  4814  }
  4815  
  4816  // GoString returns the string representation.
  4817  //
  4818  // API parameter values that are decorated as "sensitive" in the API will not
  4819  // be included in the string output. The member name will be present, but the
  4820  // value will be replaced with "sensitive".
  4821  func (s IngressAccessLogs) GoString() string {
  4822  	return s.String()
  4823  }
  4824  
  4825  // SetLogGroupName sets the LogGroupName field's value.
  4826  func (s *IngressAccessLogs) SetLogGroupName(v string) *IngressAccessLogs {
  4827  	s.LogGroupName = &v
  4828  	return s
  4829  }
  4830  
  4831  type InternalServerErrorException struct {
  4832  	_            struct{}                  `type:"structure"`
  4833  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4834  
  4835  	Message_ *string `locationName:"message" type:"string"`
  4836  }
  4837  
  4838  // String returns the string representation.
  4839  //
  4840  // API parameter values that are decorated as "sensitive" in the API will not
  4841  // be included in the string output. The member name will be present, but the
  4842  // value will be replaced with "sensitive".
  4843  func (s InternalServerErrorException) String() string {
  4844  	return awsutil.Prettify(s)
  4845  }
  4846  
  4847  // GoString returns the string representation.
  4848  //
  4849  // API parameter values that are decorated as "sensitive" in the API will not
  4850  // be included in the string output. The member name will be present, but the
  4851  // value will be replaced with "sensitive".
  4852  func (s InternalServerErrorException) GoString() string {
  4853  	return s.String()
  4854  }
  4855  
  4856  func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
  4857  	return &InternalServerErrorException{
  4858  		RespMetadata: v,
  4859  	}
  4860  }
  4861  
  4862  // Code returns the exception type name.
  4863  func (s *InternalServerErrorException) Code() string {
  4864  	return "InternalServerErrorException"
  4865  }
  4866  
  4867  // Message returns the exception's message.
  4868  func (s *InternalServerErrorException) Message() string {
  4869  	if s.Message_ != nil {
  4870  		return *s.Message_
  4871  	}
  4872  	return ""
  4873  }
  4874  
  4875  // OrigErr always returns nil, satisfies awserr.Error interface.
  4876  func (s *InternalServerErrorException) OrigErr() error {
  4877  	return nil
  4878  }
  4879  
  4880  func (s *InternalServerErrorException) Error() string {
  4881  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4882  }
  4883  
  4884  // Status code returns the HTTP status code for the request's response error.
  4885  func (s *InternalServerErrorException) StatusCode() int {
  4886  	return s.RespMetadata.StatusCode
  4887  }
  4888  
  4889  // RequestID returns the service's response RequestID for request.
  4890  func (s *InternalServerErrorException) RequestID() string {
  4891  	return s.RespMetadata.RequestID
  4892  }
  4893  
  4894  type ListChannelsInput struct {
  4895  	_ struct{} `type:"structure" nopayload:"true"`
  4896  
  4897  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  4898  
  4899  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  4900  }
  4901  
  4902  // String returns the string representation.
  4903  //
  4904  // API parameter values that are decorated as "sensitive" in the API will not
  4905  // be included in the string output. The member name will be present, but the
  4906  // value will be replaced with "sensitive".
  4907  func (s ListChannelsInput) String() string {
  4908  	return awsutil.Prettify(s)
  4909  }
  4910  
  4911  // GoString returns the string representation.
  4912  //
  4913  // API parameter values that are decorated as "sensitive" in the API will not
  4914  // be included in the string output. The member name will be present, but the
  4915  // value will be replaced with "sensitive".
  4916  func (s ListChannelsInput) GoString() string {
  4917  	return s.String()
  4918  }
  4919  
  4920  // Validate inspects the fields of the type to determine if they are valid.
  4921  func (s *ListChannelsInput) Validate() error {
  4922  	invalidParams := request.ErrInvalidParams{Context: "ListChannelsInput"}
  4923  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4924  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4925  	}
  4926  
  4927  	if invalidParams.Len() > 0 {
  4928  		return invalidParams
  4929  	}
  4930  	return nil
  4931  }
  4932  
  4933  // SetMaxResults sets the MaxResults field's value.
  4934  func (s *ListChannelsInput) SetMaxResults(v int64) *ListChannelsInput {
  4935  	s.MaxResults = &v
  4936  	return s
  4937  }
  4938  
  4939  // SetNextToken sets the NextToken field's value.
  4940  func (s *ListChannelsInput) SetNextToken(v string) *ListChannelsInput {
  4941  	s.NextToken = &v
  4942  	return s
  4943  }
  4944  
  4945  type ListChannelsOutput struct {
  4946  	_ struct{} `type:"structure"`
  4947  
  4948  	Channels []*Channel `locationName:"channels" type:"list"`
  4949  
  4950  	NextToken *string `locationName:"nextToken" type:"string"`
  4951  }
  4952  
  4953  // String returns the string representation.
  4954  //
  4955  // API parameter values that are decorated as "sensitive" in the API will not
  4956  // be included in the string output. The member name will be present, but the
  4957  // value will be replaced with "sensitive".
  4958  func (s ListChannelsOutput) String() string {
  4959  	return awsutil.Prettify(s)
  4960  }
  4961  
  4962  // GoString returns the string representation.
  4963  //
  4964  // API parameter values that are decorated as "sensitive" in the API will not
  4965  // be included in the string output. The member name will be present, but the
  4966  // value will be replaced with "sensitive".
  4967  func (s ListChannelsOutput) GoString() string {
  4968  	return s.String()
  4969  }
  4970  
  4971  // SetChannels sets the Channels field's value.
  4972  func (s *ListChannelsOutput) SetChannels(v []*Channel) *ListChannelsOutput {
  4973  	s.Channels = v
  4974  	return s
  4975  }
  4976  
  4977  // SetNextToken sets the NextToken field's value.
  4978  func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput {
  4979  	s.NextToken = &v
  4980  	return s
  4981  }
  4982  
  4983  type ListHarvestJobsInput struct {
  4984  	_ struct{} `type:"structure" nopayload:"true"`
  4985  
  4986  	IncludeChannelId *string `location:"querystring" locationName:"includeChannelId" type:"string"`
  4987  
  4988  	IncludeStatus *string `location:"querystring" locationName:"includeStatus" type:"string"`
  4989  
  4990  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  4991  
  4992  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  4993  }
  4994  
  4995  // String returns the string representation.
  4996  //
  4997  // API parameter values that are decorated as "sensitive" in the API will not
  4998  // be included in the string output. The member name will be present, but the
  4999  // value will be replaced with "sensitive".
  5000  func (s ListHarvestJobsInput) String() string {
  5001  	return awsutil.Prettify(s)
  5002  }
  5003  
  5004  // GoString returns the string representation.
  5005  //
  5006  // API parameter values that are decorated as "sensitive" in the API will not
  5007  // be included in the string output. The member name will be present, but the
  5008  // value will be replaced with "sensitive".
  5009  func (s ListHarvestJobsInput) GoString() string {
  5010  	return s.String()
  5011  }
  5012  
  5013  // Validate inspects the fields of the type to determine if they are valid.
  5014  func (s *ListHarvestJobsInput) Validate() error {
  5015  	invalidParams := request.ErrInvalidParams{Context: "ListHarvestJobsInput"}
  5016  	if s.MaxResults != nil && *s.MaxResults < 1 {
  5017  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  5018  	}
  5019  
  5020  	if invalidParams.Len() > 0 {
  5021  		return invalidParams
  5022  	}
  5023  	return nil
  5024  }
  5025  
  5026  // SetIncludeChannelId sets the IncludeChannelId field's value.
  5027  func (s *ListHarvestJobsInput) SetIncludeChannelId(v string) *ListHarvestJobsInput {
  5028  	s.IncludeChannelId = &v
  5029  	return s
  5030  }
  5031  
  5032  // SetIncludeStatus sets the IncludeStatus field's value.
  5033  func (s *ListHarvestJobsInput) SetIncludeStatus(v string) *ListHarvestJobsInput {
  5034  	s.IncludeStatus = &v
  5035  	return s
  5036  }
  5037  
  5038  // SetMaxResults sets the MaxResults field's value.
  5039  func (s *ListHarvestJobsInput) SetMaxResults(v int64) *ListHarvestJobsInput {
  5040  	s.MaxResults = &v
  5041  	return s
  5042  }
  5043  
  5044  // SetNextToken sets the NextToken field's value.
  5045  func (s *ListHarvestJobsInput) SetNextToken(v string) *ListHarvestJobsInput {
  5046  	s.NextToken = &v
  5047  	return s
  5048  }
  5049  
  5050  type ListHarvestJobsOutput struct {
  5051  	_ struct{} `type:"structure"`
  5052  
  5053  	HarvestJobs []*HarvestJob `locationName:"harvestJobs" type:"list"`
  5054  
  5055  	NextToken *string `locationName:"nextToken" type:"string"`
  5056  }
  5057  
  5058  // String returns the string representation.
  5059  //
  5060  // API parameter values that are decorated as "sensitive" in the API will not
  5061  // be included in the string output. The member name will be present, but the
  5062  // value will be replaced with "sensitive".
  5063  func (s ListHarvestJobsOutput) String() string {
  5064  	return awsutil.Prettify(s)
  5065  }
  5066  
  5067  // GoString returns the string representation.
  5068  //
  5069  // API parameter values that are decorated as "sensitive" in the API will not
  5070  // be included in the string output. The member name will be present, but the
  5071  // value will be replaced with "sensitive".
  5072  func (s ListHarvestJobsOutput) GoString() string {
  5073  	return s.String()
  5074  }
  5075  
  5076  // SetHarvestJobs sets the HarvestJobs field's value.
  5077  func (s *ListHarvestJobsOutput) SetHarvestJobs(v []*HarvestJob) *ListHarvestJobsOutput {
  5078  	s.HarvestJobs = v
  5079  	return s
  5080  }
  5081  
  5082  // SetNextToken sets the NextToken field's value.
  5083  func (s *ListHarvestJobsOutput) SetNextToken(v string) *ListHarvestJobsOutput {
  5084  	s.NextToken = &v
  5085  	return s
  5086  }
  5087  
  5088  type ListOriginEndpointsInput struct {
  5089  	_ struct{} `type:"structure" nopayload:"true"`
  5090  
  5091  	ChannelId *string `location:"querystring" locationName:"channelId" type:"string"`
  5092  
  5093  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  5094  
  5095  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  5096  }
  5097  
  5098  // String returns the string representation.
  5099  //
  5100  // API parameter values that are decorated as "sensitive" in the API will not
  5101  // be included in the string output. The member name will be present, but the
  5102  // value will be replaced with "sensitive".
  5103  func (s ListOriginEndpointsInput) String() string {
  5104  	return awsutil.Prettify(s)
  5105  }
  5106  
  5107  // GoString returns the string representation.
  5108  //
  5109  // API parameter values that are decorated as "sensitive" in the API will not
  5110  // be included in the string output. The member name will be present, but the
  5111  // value will be replaced with "sensitive".
  5112  func (s ListOriginEndpointsInput) GoString() string {
  5113  	return s.String()
  5114  }
  5115  
  5116  // Validate inspects the fields of the type to determine if they are valid.
  5117  func (s *ListOriginEndpointsInput) Validate() error {
  5118  	invalidParams := request.ErrInvalidParams{Context: "ListOriginEndpointsInput"}
  5119  	if s.MaxResults != nil && *s.MaxResults < 1 {
  5120  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  5121  	}
  5122  
  5123  	if invalidParams.Len() > 0 {
  5124  		return invalidParams
  5125  	}
  5126  	return nil
  5127  }
  5128  
  5129  // SetChannelId sets the ChannelId field's value.
  5130  func (s *ListOriginEndpointsInput) SetChannelId(v string) *ListOriginEndpointsInput {
  5131  	s.ChannelId = &v
  5132  	return s
  5133  }
  5134  
  5135  // SetMaxResults sets the MaxResults field's value.
  5136  func (s *ListOriginEndpointsInput) SetMaxResults(v int64) *ListOriginEndpointsInput {
  5137  	s.MaxResults = &v
  5138  	return s
  5139  }
  5140  
  5141  // SetNextToken sets the NextToken field's value.
  5142  func (s *ListOriginEndpointsInput) SetNextToken(v string) *ListOriginEndpointsInput {
  5143  	s.NextToken = &v
  5144  	return s
  5145  }
  5146  
  5147  type ListOriginEndpointsOutput struct {
  5148  	_ struct{} `type:"structure"`
  5149  
  5150  	NextToken *string `locationName:"nextToken" type:"string"`
  5151  
  5152  	OriginEndpoints []*OriginEndpoint `locationName:"originEndpoints" type:"list"`
  5153  }
  5154  
  5155  // String returns the string representation.
  5156  //
  5157  // API parameter values that are decorated as "sensitive" in the API will not
  5158  // be included in the string output. The member name will be present, but the
  5159  // value will be replaced with "sensitive".
  5160  func (s ListOriginEndpointsOutput) String() string {
  5161  	return awsutil.Prettify(s)
  5162  }
  5163  
  5164  // GoString returns the string representation.
  5165  //
  5166  // API parameter values that are decorated as "sensitive" in the API will not
  5167  // be included in the string output. The member name will be present, but the
  5168  // value will be replaced with "sensitive".
  5169  func (s ListOriginEndpointsOutput) GoString() string {
  5170  	return s.String()
  5171  }
  5172  
  5173  // SetNextToken sets the NextToken field's value.
  5174  func (s *ListOriginEndpointsOutput) SetNextToken(v string) *ListOriginEndpointsOutput {
  5175  	s.NextToken = &v
  5176  	return s
  5177  }
  5178  
  5179  // SetOriginEndpoints sets the OriginEndpoints field's value.
  5180  func (s *ListOriginEndpointsOutput) SetOriginEndpoints(v []*OriginEndpoint) *ListOriginEndpointsOutput {
  5181  	s.OriginEndpoints = v
  5182  	return s
  5183  }
  5184  
  5185  type ListTagsForResourceInput struct {
  5186  	_ struct{} `type:"structure" nopayload:"true"`
  5187  
  5188  	// ResourceArn is a required field
  5189  	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
  5190  }
  5191  
  5192  // String returns the string representation.
  5193  //
  5194  // API parameter values that are decorated as "sensitive" in the API will not
  5195  // be included in the string output. The member name will be present, but the
  5196  // value will be replaced with "sensitive".
  5197  func (s ListTagsForResourceInput) String() string {
  5198  	return awsutil.Prettify(s)
  5199  }
  5200  
  5201  // GoString returns the string representation.
  5202  //
  5203  // API parameter values that are decorated as "sensitive" in the API will not
  5204  // be included in the string output. The member name will be present, but the
  5205  // value will be replaced with "sensitive".
  5206  func (s ListTagsForResourceInput) GoString() string {
  5207  	return s.String()
  5208  }
  5209  
  5210  // Validate inspects the fields of the type to determine if they are valid.
  5211  func (s *ListTagsForResourceInput) Validate() error {
  5212  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  5213  	if s.ResourceArn == nil {
  5214  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  5215  	}
  5216  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  5217  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  5218  	}
  5219  
  5220  	if invalidParams.Len() > 0 {
  5221  		return invalidParams
  5222  	}
  5223  	return nil
  5224  }
  5225  
  5226  // SetResourceArn sets the ResourceArn field's value.
  5227  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  5228  	s.ResourceArn = &v
  5229  	return s
  5230  }
  5231  
  5232  type ListTagsForResourceOutput struct {
  5233  	_ struct{} `type:"structure"`
  5234  
  5235  	Tags map[string]*string `locationName:"tags" type:"map"`
  5236  }
  5237  
  5238  // String returns the string representation.
  5239  //
  5240  // API parameter values that are decorated as "sensitive" in the API will not
  5241  // be included in the string output. The member name will be present, but the
  5242  // value will be replaced with "sensitive".
  5243  func (s ListTagsForResourceOutput) String() string {
  5244  	return awsutil.Prettify(s)
  5245  }
  5246  
  5247  // GoString returns the string representation.
  5248  //
  5249  // API parameter values that are decorated as "sensitive" in the API will not
  5250  // be included in the string output. The member name will be present, but the
  5251  // value will be replaced with "sensitive".
  5252  func (s ListTagsForResourceOutput) GoString() string {
  5253  	return s.String()
  5254  }
  5255  
  5256  // SetTags sets the Tags field's value.
  5257  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  5258  	s.Tags = v
  5259  	return s
  5260  }
  5261  
  5262  // A Microsoft Smooth Streaming (MSS) encryption configuration.
  5263  type MssEncryption struct {
  5264  	_ struct{} `type:"structure"`
  5265  
  5266  	// A configuration for accessing an external Secure Packager and Encoder Key
  5267  	// Exchange (SPEKE) service that will provide encryption keys.
  5268  	//
  5269  	// SpekeKeyProvider is a required field
  5270  	SpekeKeyProvider *SpekeKeyProvider `locationName:"spekeKeyProvider" type:"structure" required:"true"`
  5271  }
  5272  
  5273  // String returns the string representation.
  5274  //
  5275  // API parameter values that are decorated as "sensitive" in the API will not
  5276  // be included in the string output. The member name will be present, but the
  5277  // value will be replaced with "sensitive".
  5278  func (s MssEncryption) String() string {
  5279  	return awsutil.Prettify(s)
  5280  }
  5281  
  5282  // GoString returns the string representation.
  5283  //
  5284  // API parameter values that are decorated as "sensitive" in the API will not
  5285  // be included in the string output. The member name will be present, but the
  5286  // value will be replaced with "sensitive".
  5287  func (s MssEncryption) GoString() string {
  5288  	return s.String()
  5289  }
  5290  
  5291  // Validate inspects the fields of the type to determine if they are valid.
  5292  func (s *MssEncryption) Validate() error {
  5293  	invalidParams := request.ErrInvalidParams{Context: "MssEncryption"}
  5294  	if s.SpekeKeyProvider == nil {
  5295  		invalidParams.Add(request.NewErrParamRequired("SpekeKeyProvider"))
  5296  	}
  5297  	if s.SpekeKeyProvider != nil {
  5298  		if err := s.SpekeKeyProvider.Validate(); err != nil {
  5299  			invalidParams.AddNested("SpekeKeyProvider", err.(request.ErrInvalidParams))
  5300  		}
  5301  	}
  5302  
  5303  	if invalidParams.Len() > 0 {
  5304  		return invalidParams
  5305  	}
  5306  	return nil
  5307  }
  5308  
  5309  // SetSpekeKeyProvider sets the SpekeKeyProvider field's value.
  5310  func (s *MssEncryption) SetSpekeKeyProvider(v *SpekeKeyProvider) *MssEncryption {
  5311  	s.SpekeKeyProvider = v
  5312  	return s
  5313  }
  5314  
  5315  // A Microsoft Smooth Streaming (MSS) packaging configuration.
  5316  type MssPackage struct {
  5317  	_ struct{} `type:"structure"`
  5318  
  5319  	// A Microsoft Smooth Streaming (MSS) encryption configuration.
  5320  	Encryption *MssEncryption `locationName:"encryption" type:"structure"`
  5321  
  5322  	// The time window (in seconds) contained in each manifest.
  5323  	ManifestWindowSeconds *int64 `locationName:"manifestWindowSeconds" type:"integer"`
  5324  
  5325  	// The duration (in seconds) of each segment.
  5326  	SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"`
  5327  
  5328  	// A StreamSelection configuration.
  5329  	StreamSelection *StreamSelection `locationName:"streamSelection" type:"structure"`
  5330  }
  5331  
  5332  // String returns the string representation.
  5333  //
  5334  // API parameter values that are decorated as "sensitive" in the API will not
  5335  // be included in the string output. The member name will be present, but the
  5336  // value will be replaced with "sensitive".
  5337  func (s MssPackage) String() string {
  5338  	return awsutil.Prettify(s)
  5339  }
  5340  
  5341  // GoString returns the string representation.
  5342  //
  5343  // API parameter values that are decorated as "sensitive" in the API will not
  5344  // be included in the string output. The member name will be present, but the
  5345  // value will be replaced with "sensitive".
  5346  func (s MssPackage) GoString() string {
  5347  	return s.String()
  5348  }
  5349  
  5350  // Validate inspects the fields of the type to determine if they are valid.
  5351  func (s *MssPackage) Validate() error {
  5352  	invalidParams := request.ErrInvalidParams{Context: "MssPackage"}
  5353  	if s.Encryption != nil {
  5354  		if err := s.Encryption.Validate(); err != nil {
  5355  			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
  5356  		}
  5357  	}
  5358  
  5359  	if invalidParams.Len() > 0 {
  5360  		return invalidParams
  5361  	}
  5362  	return nil
  5363  }
  5364  
  5365  // SetEncryption sets the Encryption field's value.
  5366  func (s *MssPackage) SetEncryption(v *MssEncryption) *MssPackage {
  5367  	s.Encryption = v
  5368  	return s
  5369  }
  5370  
  5371  // SetManifestWindowSeconds sets the ManifestWindowSeconds field's value.
  5372  func (s *MssPackage) SetManifestWindowSeconds(v int64) *MssPackage {
  5373  	s.ManifestWindowSeconds = &v
  5374  	return s
  5375  }
  5376  
  5377  // SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value.
  5378  func (s *MssPackage) SetSegmentDurationSeconds(v int64) *MssPackage {
  5379  	s.SegmentDurationSeconds = &v
  5380  	return s
  5381  }
  5382  
  5383  // SetStreamSelection sets the StreamSelection field's value.
  5384  func (s *MssPackage) SetStreamSelection(v *StreamSelection) *MssPackage {
  5385  	s.StreamSelection = v
  5386  	return s
  5387  }
  5388  
  5389  type NotFoundException struct {
  5390  	_            struct{}                  `type:"structure"`
  5391  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5392  
  5393  	Message_ *string `locationName:"message" type:"string"`
  5394  }
  5395  
  5396  // String returns the string representation.
  5397  //
  5398  // API parameter values that are decorated as "sensitive" in the API will not
  5399  // be included in the string output. The member name will be present, but the
  5400  // value will be replaced with "sensitive".
  5401  func (s NotFoundException) String() string {
  5402  	return awsutil.Prettify(s)
  5403  }
  5404  
  5405  // GoString returns the string representation.
  5406  //
  5407  // API parameter values that are decorated as "sensitive" in the API will not
  5408  // be included in the string output. The member name will be present, but the
  5409  // value will be replaced with "sensitive".
  5410  func (s NotFoundException) GoString() string {
  5411  	return s.String()
  5412  }
  5413  
  5414  func newErrorNotFoundException(v protocol.ResponseMetadata) error {
  5415  	return &NotFoundException{
  5416  		RespMetadata: v,
  5417  	}
  5418  }
  5419  
  5420  // Code returns the exception type name.
  5421  func (s *NotFoundException) Code() string {
  5422  	return "NotFoundException"
  5423  }
  5424  
  5425  // Message returns the exception's message.
  5426  func (s *NotFoundException) Message() string {
  5427  	if s.Message_ != nil {
  5428  		return *s.Message_
  5429  	}
  5430  	return ""
  5431  }
  5432  
  5433  // OrigErr always returns nil, satisfies awserr.Error interface.
  5434  func (s *NotFoundException) OrigErr() error {
  5435  	return nil
  5436  }
  5437  
  5438  func (s *NotFoundException) Error() string {
  5439  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5440  }
  5441  
  5442  // Status code returns the HTTP status code for the request's response error.
  5443  func (s *NotFoundException) StatusCode() int {
  5444  	return s.RespMetadata.StatusCode
  5445  }
  5446  
  5447  // RequestID returns the service's response RequestID for request.
  5448  func (s *NotFoundException) RequestID() string {
  5449  	return s.RespMetadata.RequestID
  5450  }
  5451  
  5452  // An OriginEndpoint resource configuration.
  5453  type OriginEndpoint struct {
  5454  	_ struct{} `type:"structure"`
  5455  
  5456  	// The Amazon Resource Name (ARN) assigned to the OriginEndpoint.
  5457  	Arn *string `locationName:"arn" type:"string"`
  5458  
  5459  	// CDN Authorization credentials
  5460  	Authorization *Authorization `locationName:"authorization" type:"structure"`
  5461  
  5462  	// The ID of the Channel the OriginEndpoint is associated with.
  5463  	ChannelId *string `locationName:"channelId" type:"string"`
  5464  
  5465  	// A Common Media Application Format (CMAF) packaging configuration.
  5466  	CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"`
  5467  
  5468  	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
  5469  	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
  5470  
  5471  	// A short text description of the OriginEndpoint.
  5472  	Description *string `locationName:"description" type:"string"`
  5473  
  5474  	// An HTTP Live Streaming (HLS) packaging configuration.
  5475  	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
  5476  
  5477  	// The ID of the OriginEndpoint.
  5478  	Id *string `locationName:"id" type:"string"`
  5479  
  5480  	// A short string appended to the end of the OriginEndpoint URL.
  5481  	ManifestName *string `locationName:"manifestName" type:"string"`
  5482  
  5483  	// A Microsoft Smooth Streaming (MSS) packaging configuration.
  5484  	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
  5485  
  5486  	// Control whether origination of video is allowed for this OriginEndpoint.
  5487  	// If set to ALLOW, the OriginEndpointmay by requested, pursuant to any other
  5488  	// form of access control. If set to DENY, the OriginEndpoint may not berequested.
  5489  	// This can be helpful for Live to VOD harvesting, or for temporarily disabling
  5490  	// origination
  5491  	Origination *string `locationName:"origination" type:"string" enum:"Origination"`
  5492  
  5493  	// Maximum duration (seconds) of content to retain for startover playback.If
  5494  	// not specified, startover playback will be disabled for the OriginEndpoint.
  5495  	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
  5496  
  5497  	// A collection of tags associated with a resource
  5498  	Tags map[string]*string `locationName:"tags" type:"map"`
  5499  
  5500  	// Amount of delay (seconds) to enforce on the playback of live content.If not
  5501  	// specified, there will be no time delay in effect for the OriginEndpoint.
  5502  	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
  5503  
  5504  	// The URL of the packaged OriginEndpoint for consumption.
  5505  	Url *string `locationName:"url" type:"string"`
  5506  
  5507  	// A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.
  5508  	Whitelist []*string `locationName:"whitelist" type:"list"`
  5509  }
  5510  
  5511  // String returns the string representation.
  5512  //
  5513  // API parameter values that are decorated as "sensitive" in the API will not
  5514  // be included in the string output. The member name will be present, but the
  5515  // value will be replaced with "sensitive".
  5516  func (s OriginEndpoint) String() string {
  5517  	return awsutil.Prettify(s)
  5518  }
  5519  
  5520  // GoString returns the string representation.
  5521  //
  5522  // API parameter values that are decorated as "sensitive" in the API will not
  5523  // be included in the string output. The member name will be present, but the
  5524  // value will be replaced with "sensitive".
  5525  func (s OriginEndpoint) GoString() string {
  5526  	return s.String()
  5527  }
  5528  
  5529  // SetArn sets the Arn field's value.
  5530  func (s *OriginEndpoint) SetArn(v string) *OriginEndpoint {
  5531  	s.Arn = &v
  5532  	return s
  5533  }
  5534  
  5535  // SetAuthorization sets the Authorization field's value.
  5536  func (s *OriginEndpoint) SetAuthorization(v *Authorization) *OriginEndpoint {
  5537  	s.Authorization = v
  5538  	return s
  5539  }
  5540  
  5541  // SetChannelId sets the ChannelId field's value.
  5542  func (s *OriginEndpoint) SetChannelId(v string) *OriginEndpoint {
  5543  	s.ChannelId = &v
  5544  	return s
  5545  }
  5546  
  5547  // SetCmafPackage sets the CmafPackage field's value.
  5548  func (s *OriginEndpoint) SetCmafPackage(v *CmafPackage) *OriginEndpoint {
  5549  	s.CmafPackage = v
  5550  	return s
  5551  }
  5552  
  5553  // SetDashPackage sets the DashPackage field's value.
  5554  func (s *OriginEndpoint) SetDashPackage(v *DashPackage) *OriginEndpoint {
  5555  	s.DashPackage = v
  5556  	return s
  5557  }
  5558  
  5559  // SetDescription sets the Description field's value.
  5560  func (s *OriginEndpoint) SetDescription(v string) *OriginEndpoint {
  5561  	s.Description = &v
  5562  	return s
  5563  }
  5564  
  5565  // SetHlsPackage sets the HlsPackage field's value.
  5566  func (s *OriginEndpoint) SetHlsPackage(v *HlsPackage) *OriginEndpoint {
  5567  	s.HlsPackage = v
  5568  	return s
  5569  }
  5570  
  5571  // SetId sets the Id field's value.
  5572  func (s *OriginEndpoint) SetId(v string) *OriginEndpoint {
  5573  	s.Id = &v
  5574  	return s
  5575  }
  5576  
  5577  // SetManifestName sets the ManifestName field's value.
  5578  func (s *OriginEndpoint) SetManifestName(v string) *OriginEndpoint {
  5579  	s.ManifestName = &v
  5580  	return s
  5581  }
  5582  
  5583  // SetMssPackage sets the MssPackage field's value.
  5584  func (s *OriginEndpoint) SetMssPackage(v *MssPackage) *OriginEndpoint {
  5585  	s.MssPackage = v
  5586  	return s
  5587  }
  5588  
  5589  // SetOrigination sets the Origination field's value.
  5590  func (s *OriginEndpoint) SetOrigination(v string) *OriginEndpoint {
  5591  	s.Origination = &v
  5592  	return s
  5593  }
  5594  
  5595  // SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
  5596  func (s *OriginEndpoint) SetStartoverWindowSeconds(v int64) *OriginEndpoint {
  5597  	s.StartoverWindowSeconds = &v
  5598  	return s
  5599  }
  5600  
  5601  // SetTags sets the Tags field's value.
  5602  func (s *OriginEndpoint) SetTags(v map[string]*string) *OriginEndpoint {
  5603  	s.Tags = v
  5604  	return s
  5605  }
  5606  
  5607  // SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
  5608  func (s *OriginEndpoint) SetTimeDelaySeconds(v int64) *OriginEndpoint {
  5609  	s.TimeDelaySeconds = &v
  5610  	return s
  5611  }
  5612  
  5613  // SetUrl sets the Url field's value.
  5614  func (s *OriginEndpoint) SetUrl(v string) *OriginEndpoint {
  5615  	s.Url = &v
  5616  	return s
  5617  }
  5618  
  5619  // SetWhitelist sets the Whitelist field's value.
  5620  func (s *OriginEndpoint) SetWhitelist(v []*string) *OriginEndpoint {
  5621  	s.Whitelist = v
  5622  	return s
  5623  }
  5624  
  5625  // Deprecated: RotateChannelCredentialsInput has been deprecated
  5626  type RotateChannelCredentialsInput struct {
  5627  	_ struct{} `deprecated:"true" type:"structure" nopayload:"true"`
  5628  
  5629  	// Id is a required field
  5630  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  5631  }
  5632  
  5633  // String returns the string representation.
  5634  //
  5635  // API parameter values that are decorated as "sensitive" in the API will not
  5636  // be included in the string output. The member name will be present, but the
  5637  // value will be replaced with "sensitive".
  5638  func (s RotateChannelCredentialsInput) String() string {
  5639  	return awsutil.Prettify(s)
  5640  }
  5641  
  5642  // GoString returns the string representation.
  5643  //
  5644  // API parameter values that are decorated as "sensitive" in the API will not
  5645  // be included in the string output. The member name will be present, but the
  5646  // value will be replaced with "sensitive".
  5647  func (s RotateChannelCredentialsInput) GoString() string {
  5648  	return s.String()
  5649  }
  5650  
  5651  // Validate inspects the fields of the type to determine if they are valid.
  5652  func (s *RotateChannelCredentialsInput) Validate() error {
  5653  	invalidParams := request.ErrInvalidParams{Context: "RotateChannelCredentialsInput"}
  5654  	if s.Id == nil {
  5655  		invalidParams.Add(request.NewErrParamRequired("Id"))
  5656  	}
  5657  	if s.Id != nil && len(*s.Id) < 1 {
  5658  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  5659  	}
  5660  
  5661  	if invalidParams.Len() > 0 {
  5662  		return invalidParams
  5663  	}
  5664  	return nil
  5665  }
  5666  
  5667  // SetId sets the Id field's value.
  5668  func (s *RotateChannelCredentialsInput) SetId(v string) *RotateChannelCredentialsInput {
  5669  	s.Id = &v
  5670  	return s
  5671  }
  5672  
  5673  // Deprecated: RotateChannelCredentialsOutput has been deprecated
  5674  type RotateChannelCredentialsOutput struct {
  5675  	_ struct{} `deprecated:"true" type:"structure"`
  5676  
  5677  	Arn *string `locationName:"arn" type:"string"`
  5678  
  5679  	Description *string `locationName:"description" type:"string"`
  5680  
  5681  	// Configure egress access logging.
  5682  	EgressAccessLogs *EgressAccessLogs `locationName:"egressAccessLogs" type:"structure"`
  5683  
  5684  	// An HTTP Live Streaming (HLS) ingest resource configuration.
  5685  	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
  5686  
  5687  	Id *string `locationName:"id" type:"string"`
  5688  
  5689  	// Configure ingress access logging.
  5690  	IngressAccessLogs *IngressAccessLogs `locationName:"ingressAccessLogs" type:"structure"`
  5691  
  5692  	// A collection of tags associated with a resource
  5693  	Tags map[string]*string `locationName:"tags" type:"map"`
  5694  }
  5695  
  5696  // String returns the string representation.
  5697  //
  5698  // API parameter values that are decorated as "sensitive" in the API will not
  5699  // be included in the string output. The member name will be present, but the
  5700  // value will be replaced with "sensitive".
  5701  func (s RotateChannelCredentialsOutput) String() string {
  5702  	return awsutil.Prettify(s)
  5703  }
  5704  
  5705  // GoString returns the string representation.
  5706  //
  5707  // API parameter values that are decorated as "sensitive" in the API will not
  5708  // be included in the string output. The member name will be present, but the
  5709  // value will be replaced with "sensitive".
  5710  func (s RotateChannelCredentialsOutput) GoString() string {
  5711  	return s.String()
  5712  }
  5713  
  5714  // SetArn sets the Arn field's value.
  5715  func (s *RotateChannelCredentialsOutput) SetArn(v string) *RotateChannelCredentialsOutput {
  5716  	s.Arn = &v
  5717  	return s
  5718  }
  5719  
  5720  // SetDescription sets the Description field's value.
  5721  func (s *RotateChannelCredentialsOutput) SetDescription(v string) *RotateChannelCredentialsOutput {
  5722  	s.Description = &v
  5723  	return s
  5724  }
  5725  
  5726  // SetEgressAccessLogs sets the EgressAccessLogs field's value.
  5727  func (s *RotateChannelCredentialsOutput) SetEgressAccessLogs(v *EgressAccessLogs) *RotateChannelCredentialsOutput {
  5728  	s.EgressAccessLogs = v
  5729  	return s
  5730  }
  5731  
  5732  // SetHlsIngest sets the HlsIngest field's value.
  5733  func (s *RotateChannelCredentialsOutput) SetHlsIngest(v *HlsIngest) *RotateChannelCredentialsOutput {
  5734  	s.HlsIngest = v
  5735  	return s
  5736  }
  5737  
  5738  // SetId sets the Id field's value.
  5739  func (s *RotateChannelCredentialsOutput) SetId(v string) *RotateChannelCredentialsOutput {
  5740  	s.Id = &v
  5741  	return s
  5742  }
  5743  
  5744  // SetIngressAccessLogs sets the IngressAccessLogs field's value.
  5745  func (s *RotateChannelCredentialsOutput) SetIngressAccessLogs(v *IngressAccessLogs) *RotateChannelCredentialsOutput {
  5746  	s.IngressAccessLogs = v
  5747  	return s
  5748  }
  5749  
  5750  // SetTags sets the Tags field's value.
  5751  func (s *RotateChannelCredentialsOutput) SetTags(v map[string]*string) *RotateChannelCredentialsOutput {
  5752  	s.Tags = v
  5753  	return s
  5754  }
  5755  
  5756  type RotateIngestEndpointCredentialsInput struct {
  5757  	_ struct{} `type:"structure" nopayload:"true"`
  5758  
  5759  	// Id is a required field
  5760  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  5761  
  5762  	// IngestEndpointId is a required field
  5763  	IngestEndpointId *string `location:"uri" locationName:"ingest_endpoint_id" type:"string" required:"true"`
  5764  }
  5765  
  5766  // String returns the string representation.
  5767  //
  5768  // API parameter values that are decorated as "sensitive" in the API will not
  5769  // be included in the string output. The member name will be present, but the
  5770  // value will be replaced with "sensitive".
  5771  func (s RotateIngestEndpointCredentialsInput) String() string {
  5772  	return awsutil.Prettify(s)
  5773  }
  5774  
  5775  // GoString returns the string representation.
  5776  //
  5777  // API parameter values that are decorated as "sensitive" in the API will not
  5778  // be included in the string output. The member name will be present, but the
  5779  // value will be replaced with "sensitive".
  5780  func (s RotateIngestEndpointCredentialsInput) GoString() string {
  5781  	return s.String()
  5782  }
  5783  
  5784  // Validate inspects the fields of the type to determine if they are valid.
  5785  func (s *RotateIngestEndpointCredentialsInput) Validate() error {
  5786  	invalidParams := request.ErrInvalidParams{Context: "RotateIngestEndpointCredentialsInput"}
  5787  	if s.Id == nil {
  5788  		invalidParams.Add(request.NewErrParamRequired("Id"))
  5789  	}
  5790  	if s.Id != nil && len(*s.Id) < 1 {
  5791  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  5792  	}
  5793  	if s.IngestEndpointId == nil {
  5794  		invalidParams.Add(request.NewErrParamRequired("IngestEndpointId"))
  5795  	}
  5796  	if s.IngestEndpointId != nil && len(*s.IngestEndpointId) < 1 {
  5797  		invalidParams.Add(request.NewErrParamMinLen("IngestEndpointId", 1))
  5798  	}
  5799  
  5800  	if invalidParams.Len() > 0 {
  5801  		return invalidParams
  5802  	}
  5803  	return nil
  5804  }
  5805  
  5806  // SetId sets the Id field's value.
  5807  func (s *RotateIngestEndpointCredentialsInput) SetId(v string) *RotateIngestEndpointCredentialsInput {
  5808  	s.Id = &v
  5809  	return s
  5810  }
  5811  
  5812  // SetIngestEndpointId sets the IngestEndpointId field's value.
  5813  func (s *RotateIngestEndpointCredentialsInput) SetIngestEndpointId(v string) *RotateIngestEndpointCredentialsInput {
  5814  	s.IngestEndpointId = &v
  5815  	return s
  5816  }
  5817  
  5818  type RotateIngestEndpointCredentialsOutput struct {
  5819  	_ struct{} `type:"structure"`
  5820  
  5821  	Arn *string `locationName:"arn" type:"string"`
  5822  
  5823  	Description *string `locationName:"description" type:"string"`
  5824  
  5825  	// Configure egress access logging.
  5826  	EgressAccessLogs *EgressAccessLogs `locationName:"egressAccessLogs" type:"structure"`
  5827  
  5828  	// An HTTP Live Streaming (HLS) ingest resource configuration.
  5829  	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
  5830  
  5831  	Id *string `locationName:"id" type:"string"`
  5832  
  5833  	// Configure ingress access logging.
  5834  	IngressAccessLogs *IngressAccessLogs `locationName:"ingressAccessLogs" type:"structure"`
  5835  
  5836  	// A collection of tags associated with a resource
  5837  	Tags map[string]*string `locationName:"tags" type:"map"`
  5838  }
  5839  
  5840  // String returns the string representation.
  5841  //
  5842  // API parameter values that are decorated as "sensitive" in the API will not
  5843  // be included in the string output. The member name will be present, but the
  5844  // value will be replaced with "sensitive".
  5845  func (s RotateIngestEndpointCredentialsOutput) String() string {
  5846  	return awsutil.Prettify(s)
  5847  }
  5848  
  5849  // GoString returns the string representation.
  5850  //
  5851  // API parameter values that are decorated as "sensitive" in the API will not
  5852  // be included in the string output. The member name will be present, but the
  5853  // value will be replaced with "sensitive".
  5854  func (s RotateIngestEndpointCredentialsOutput) GoString() string {
  5855  	return s.String()
  5856  }
  5857  
  5858  // SetArn sets the Arn field's value.
  5859  func (s *RotateIngestEndpointCredentialsOutput) SetArn(v string) *RotateIngestEndpointCredentialsOutput {
  5860  	s.Arn = &v
  5861  	return s
  5862  }
  5863  
  5864  // SetDescription sets the Description field's value.
  5865  func (s *RotateIngestEndpointCredentialsOutput) SetDescription(v string) *RotateIngestEndpointCredentialsOutput {
  5866  	s.Description = &v
  5867  	return s
  5868  }
  5869  
  5870  // SetEgressAccessLogs sets the EgressAccessLogs field's value.
  5871  func (s *RotateIngestEndpointCredentialsOutput) SetEgressAccessLogs(v *EgressAccessLogs) *RotateIngestEndpointCredentialsOutput {
  5872  	s.EgressAccessLogs = v
  5873  	return s
  5874  }
  5875  
  5876  // SetHlsIngest sets the HlsIngest field's value.
  5877  func (s *RotateIngestEndpointCredentialsOutput) SetHlsIngest(v *HlsIngest) *RotateIngestEndpointCredentialsOutput {
  5878  	s.HlsIngest = v
  5879  	return s
  5880  }
  5881  
  5882  // SetId sets the Id field's value.
  5883  func (s *RotateIngestEndpointCredentialsOutput) SetId(v string) *RotateIngestEndpointCredentialsOutput {
  5884  	s.Id = &v
  5885  	return s
  5886  }
  5887  
  5888  // SetIngressAccessLogs sets the IngressAccessLogs field's value.
  5889  func (s *RotateIngestEndpointCredentialsOutput) SetIngressAccessLogs(v *IngressAccessLogs) *RotateIngestEndpointCredentialsOutput {
  5890  	s.IngressAccessLogs = v
  5891  	return s
  5892  }
  5893  
  5894  // SetTags sets the Tags field's value.
  5895  func (s *RotateIngestEndpointCredentialsOutput) SetTags(v map[string]*string) *RotateIngestEndpointCredentialsOutput {
  5896  	s.Tags = v
  5897  	return s
  5898  }
  5899  
  5900  // Configuration parameters for where in an S3 bucket to place the harvested
  5901  // content
  5902  type S3Destination struct {
  5903  	_ struct{} `type:"structure"`
  5904  
  5905  	// The name of an S3 bucket within which harvested content will be exported
  5906  	//
  5907  	// BucketName is a required field
  5908  	BucketName *string `locationName:"bucketName" type:"string" required:"true"`
  5909  
  5910  	// The key in the specified S3 bucket where the harvested top-level manifest
  5911  	// will be placed.
  5912  	//
  5913  	// ManifestKey is a required field
  5914  	ManifestKey *string `locationName:"manifestKey" type:"string" required:"true"`
  5915  
  5916  	// The IAM role used to write to the specified S3 bucket
  5917  	//
  5918  	// RoleArn is a required field
  5919  	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
  5920  }
  5921  
  5922  // String returns the string representation.
  5923  //
  5924  // API parameter values that are decorated as "sensitive" in the API will not
  5925  // be included in the string output. The member name will be present, but the
  5926  // value will be replaced with "sensitive".
  5927  func (s S3Destination) String() string {
  5928  	return awsutil.Prettify(s)
  5929  }
  5930  
  5931  // GoString returns the string representation.
  5932  //
  5933  // API parameter values that are decorated as "sensitive" in the API will not
  5934  // be included in the string output. The member name will be present, but the
  5935  // value will be replaced with "sensitive".
  5936  func (s S3Destination) GoString() string {
  5937  	return s.String()
  5938  }
  5939  
  5940  // Validate inspects the fields of the type to determine if they are valid.
  5941  func (s *S3Destination) Validate() error {
  5942  	invalidParams := request.ErrInvalidParams{Context: "S3Destination"}
  5943  	if s.BucketName == nil {
  5944  		invalidParams.Add(request.NewErrParamRequired("BucketName"))
  5945  	}
  5946  	if s.ManifestKey == nil {
  5947  		invalidParams.Add(request.NewErrParamRequired("ManifestKey"))
  5948  	}
  5949  	if s.RoleArn == nil {
  5950  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  5951  	}
  5952  
  5953  	if invalidParams.Len() > 0 {
  5954  		return invalidParams
  5955  	}
  5956  	return nil
  5957  }
  5958  
  5959  // SetBucketName sets the BucketName field's value.
  5960  func (s *S3Destination) SetBucketName(v string) *S3Destination {
  5961  	s.BucketName = &v
  5962  	return s
  5963  }
  5964  
  5965  // SetManifestKey sets the ManifestKey field's value.
  5966  func (s *S3Destination) SetManifestKey(v string) *S3Destination {
  5967  	s.ManifestKey = &v
  5968  	return s
  5969  }
  5970  
  5971  // SetRoleArn sets the RoleArn field's value.
  5972  func (s *S3Destination) SetRoleArn(v string) *S3Destination {
  5973  	s.RoleArn = &v
  5974  	return s
  5975  }
  5976  
  5977  type ServiceUnavailableException struct {
  5978  	_            struct{}                  `type:"structure"`
  5979  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5980  
  5981  	Message_ *string `locationName:"message" type:"string"`
  5982  }
  5983  
  5984  // String returns the string representation.
  5985  //
  5986  // API parameter values that are decorated as "sensitive" in the API will not
  5987  // be included in the string output. The member name will be present, but the
  5988  // value will be replaced with "sensitive".
  5989  func (s ServiceUnavailableException) String() string {
  5990  	return awsutil.Prettify(s)
  5991  }
  5992  
  5993  // GoString returns the string representation.
  5994  //
  5995  // API parameter values that are decorated as "sensitive" in the API will not
  5996  // be included in the string output. The member name will be present, but the
  5997  // value will be replaced with "sensitive".
  5998  func (s ServiceUnavailableException) GoString() string {
  5999  	return s.String()
  6000  }
  6001  
  6002  func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
  6003  	return &ServiceUnavailableException{
  6004  		RespMetadata: v,
  6005  	}
  6006  }
  6007  
  6008  // Code returns the exception type name.
  6009  func (s *ServiceUnavailableException) Code() string {
  6010  	return "ServiceUnavailableException"
  6011  }
  6012  
  6013  // Message returns the exception's message.
  6014  func (s *ServiceUnavailableException) Message() string {
  6015  	if s.Message_ != nil {
  6016  		return *s.Message_
  6017  	}
  6018  	return ""
  6019  }
  6020  
  6021  // OrigErr always returns nil, satisfies awserr.Error interface.
  6022  func (s *ServiceUnavailableException) OrigErr() error {
  6023  	return nil
  6024  }
  6025  
  6026  func (s *ServiceUnavailableException) Error() string {
  6027  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6028  }
  6029  
  6030  // Status code returns the HTTP status code for the request's response error.
  6031  func (s *ServiceUnavailableException) StatusCode() int {
  6032  	return s.RespMetadata.StatusCode
  6033  }
  6034  
  6035  // RequestID returns the service's response RequestID for request.
  6036  func (s *ServiceUnavailableException) RequestID() string {
  6037  	return s.RespMetadata.RequestID
  6038  }
  6039  
  6040  // A configuration for accessing an external Secure Packager and Encoder Key
  6041  // Exchange (SPEKE) service that will provide encryption keys.
  6042  type SpekeKeyProvider struct {
  6043  	_ struct{} `type:"structure"`
  6044  
  6045  	// An Amazon Resource Name (ARN) of a Certificate Manager certificatethat MediaPackage
  6046  	// will use for enforcing secure end-to-end datatransfer with the key provider
  6047  	// service.
  6048  	CertificateArn *string `locationName:"certificateArn" type:"string"`
  6049  
  6050  	// Use encryptionContractConfiguration to configure one or more content encryption
  6051  	// keys for your endpoints that use SPEKE 2.0. The encryption contract defines
  6052  	// which content keys are used to encrypt the audio and video tracks in your
  6053  	// stream. To configure the encryption contract, specify which audio and video
  6054  	// encryption presets to use.Note the following considerations when using encryptionContractConfiguration:encryptionContractConfiguration
  6055  	// can be used for DASH or CMAF endpoints that use SPEKE 2.0. SPEKE 2.0 relies
  6056  	// on the CPIX 2.3 specification.You must disable key rotation for this endpoint
  6057  	// by setting keyRotationIntervalSeconds to 0.
  6058  	EncryptionContractConfiguration *EncryptionContractConfiguration `locationName:"encryptionContractConfiguration" type:"structure"`
  6059  
  6060  	// The resource ID to include in key requests.
  6061  	//
  6062  	// ResourceId is a required field
  6063  	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
  6064  
  6065  	// An Amazon Resource Name (ARN) of an IAM role that AWS ElementalMediaPackage
  6066  	// will assume when accessing the key provider service.
  6067  	//
  6068  	// RoleArn is a required field
  6069  	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
  6070  
  6071  	// The system IDs to include in key requests.
  6072  	//
  6073  	// SystemIds is a required field
  6074  	SystemIds []*string `locationName:"systemIds" type:"list" required:"true"`
  6075  
  6076  	// The URL of the external key provider service.
  6077  	//
  6078  	// Url is a required field
  6079  	Url *string `locationName:"url" type:"string" required:"true"`
  6080  }
  6081  
  6082  // String returns the string representation.
  6083  //
  6084  // API parameter values that are decorated as "sensitive" in the API will not
  6085  // be included in the string output. The member name will be present, but the
  6086  // value will be replaced with "sensitive".
  6087  func (s SpekeKeyProvider) String() string {
  6088  	return awsutil.Prettify(s)
  6089  }
  6090  
  6091  // GoString returns the string representation.
  6092  //
  6093  // API parameter values that are decorated as "sensitive" in the API will not
  6094  // be included in the string output. The member name will be present, but the
  6095  // value will be replaced with "sensitive".
  6096  func (s SpekeKeyProvider) GoString() string {
  6097  	return s.String()
  6098  }
  6099  
  6100  // Validate inspects the fields of the type to determine if they are valid.
  6101  func (s *SpekeKeyProvider) Validate() error {
  6102  	invalidParams := request.ErrInvalidParams{Context: "SpekeKeyProvider"}
  6103  	if s.ResourceId == nil {
  6104  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  6105  	}
  6106  	if s.RoleArn == nil {
  6107  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  6108  	}
  6109  	if s.SystemIds == nil {
  6110  		invalidParams.Add(request.NewErrParamRequired("SystemIds"))
  6111  	}
  6112  	if s.Url == nil {
  6113  		invalidParams.Add(request.NewErrParamRequired("Url"))
  6114  	}
  6115  	if s.EncryptionContractConfiguration != nil {
  6116  		if err := s.EncryptionContractConfiguration.Validate(); err != nil {
  6117  			invalidParams.AddNested("EncryptionContractConfiguration", err.(request.ErrInvalidParams))
  6118  		}
  6119  	}
  6120  
  6121  	if invalidParams.Len() > 0 {
  6122  		return invalidParams
  6123  	}
  6124  	return nil
  6125  }
  6126  
  6127  // SetCertificateArn sets the CertificateArn field's value.
  6128  func (s *SpekeKeyProvider) SetCertificateArn(v string) *SpekeKeyProvider {
  6129  	s.CertificateArn = &v
  6130  	return s
  6131  }
  6132  
  6133  // SetEncryptionContractConfiguration sets the EncryptionContractConfiguration field's value.
  6134  func (s *SpekeKeyProvider) SetEncryptionContractConfiguration(v *EncryptionContractConfiguration) *SpekeKeyProvider {
  6135  	s.EncryptionContractConfiguration = v
  6136  	return s
  6137  }
  6138  
  6139  // SetResourceId sets the ResourceId field's value.
  6140  func (s *SpekeKeyProvider) SetResourceId(v string) *SpekeKeyProvider {
  6141  	s.ResourceId = &v
  6142  	return s
  6143  }
  6144  
  6145  // SetRoleArn sets the RoleArn field's value.
  6146  func (s *SpekeKeyProvider) SetRoleArn(v string) *SpekeKeyProvider {
  6147  	s.RoleArn = &v
  6148  	return s
  6149  }
  6150  
  6151  // SetSystemIds sets the SystemIds field's value.
  6152  func (s *SpekeKeyProvider) SetSystemIds(v []*string) *SpekeKeyProvider {
  6153  	s.SystemIds = v
  6154  	return s
  6155  }
  6156  
  6157  // SetUrl sets the Url field's value.
  6158  func (s *SpekeKeyProvider) SetUrl(v string) *SpekeKeyProvider {
  6159  	s.Url = &v
  6160  	return s
  6161  }
  6162  
  6163  // A StreamSelection configuration.
  6164  type StreamSelection struct {
  6165  	_ struct{} `type:"structure"`
  6166  
  6167  	// The maximum video bitrate (bps) to include in output.
  6168  	MaxVideoBitsPerSecond *int64 `locationName:"maxVideoBitsPerSecond" type:"integer"`
  6169  
  6170  	// The minimum video bitrate (bps) to include in output.
  6171  	MinVideoBitsPerSecond *int64 `locationName:"minVideoBitsPerSecond" type:"integer"`
  6172  
  6173  	// A directive that determines the order of streams in the output.
  6174  	StreamOrder *string `locationName:"streamOrder" type:"string" enum:"StreamOrder"`
  6175  }
  6176  
  6177  // String returns the string representation.
  6178  //
  6179  // API parameter values that are decorated as "sensitive" in the API will not
  6180  // be included in the string output. The member name will be present, but the
  6181  // value will be replaced with "sensitive".
  6182  func (s StreamSelection) String() string {
  6183  	return awsutil.Prettify(s)
  6184  }
  6185  
  6186  // GoString returns the string representation.
  6187  //
  6188  // API parameter values that are decorated as "sensitive" in the API will not
  6189  // be included in the string output. The member name will be present, but the
  6190  // value will be replaced with "sensitive".
  6191  func (s StreamSelection) GoString() string {
  6192  	return s.String()
  6193  }
  6194  
  6195  // SetMaxVideoBitsPerSecond sets the MaxVideoBitsPerSecond field's value.
  6196  func (s *StreamSelection) SetMaxVideoBitsPerSecond(v int64) *StreamSelection {
  6197  	s.MaxVideoBitsPerSecond = &v
  6198  	return s
  6199  }
  6200  
  6201  // SetMinVideoBitsPerSecond sets the MinVideoBitsPerSecond field's value.
  6202  func (s *StreamSelection) SetMinVideoBitsPerSecond(v int64) *StreamSelection {
  6203  	s.MinVideoBitsPerSecond = &v
  6204  	return s
  6205  }
  6206  
  6207  // SetStreamOrder sets the StreamOrder field's value.
  6208  func (s *StreamSelection) SetStreamOrder(v string) *StreamSelection {
  6209  	s.StreamOrder = &v
  6210  	return s
  6211  }
  6212  
  6213  type TagResourceInput struct {
  6214  	_ struct{} `type:"structure"`
  6215  
  6216  	// ResourceArn is a required field
  6217  	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
  6218  
  6219  	// Tags is a required field
  6220  	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
  6221  }
  6222  
  6223  // String returns the string representation.
  6224  //
  6225  // API parameter values that are decorated as "sensitive" in the API will not
  6226  // be included in the string output. The member name will be present, but the
  6227  // value will be replaced with "sensitive".
  6228  func (s TagResourceInput) String() string {
  6229  	return awsutil.Prettify(s)
  6230  }
  6231  
  6232  // GoString returns the string representation.
  6233  //
  6234  // API parameter values that are decorated as "sensitive" in the API will not
  6235  // be included in the string output. The member name will be present, but the
  6236  // value will be replaced with "sensitive".
  6237  func (s TagResourceInput) GoString() string {
  6238  	return s.String()
  6239  }
  6240  
  6241  // Validate inspects the fields of the type to determine if they are valid.
  6242  func (s *TagResourceInput) Validate() error {
  6243  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  6244  	if s.ResourceArn == nil {
  6245  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  6246  	}
  6247  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  6248  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  6249  	}
  6250  	if s.Tags == nil {
  6251  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  6252  	}
  6253  
  6254  	if invalidParams.Len() > 0 {
  6255  		return invalidParams
  6256  	}
  6257  	return nil
  6258  }
  6259  
  6260  // SetResourceArn sets the ResourceArn field's value.
  6261  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  6262  	s.ResourceArn = &v
  6263  	return s
  6264  }
  6265  
  6266  // SetTags sets the Tags field's value.
  6267  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
  6268  	s.Tags = v
  6269  	return s
  6270  }
  6271  
  6272  type TagResourceOutput struct {
  6273  	_ struct{} `type:"structure" nopayload:"true"`
  6274  }
  6275  
  6276  // String returns the string representation.
  6277  //
  6278  // API parameter values that are decorated as "sensitive" in the API will not
  6279  // be included in the string output. The member name will be present, but the
  6280  // value will be replaced with "sensitive".
  6281  func (s TagResourceOutput) String() string {
  6282  	return awsutil.Prettify(s)
  6283  }
  6284  
  6285  // GoString returns the string representation.
  6286  //
  6287  // API parameter values that are decorated as "sensitive" in the API will not
  6288  // be included in the string output. The member name will be present, but the
  6289  // value will be replaced with "sensitive".
  6290  func (s TagResourceOutput) GoString() string {
  6291  	return s.String()
  6292  }
  6293  
  6294  type TooManyRequestsException struct {
  6295  	_            struct{}                  `type:"structure"`
  6296  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6297  
  6298  	Message_ *string `locationName:"message" type:"string"`
  6299  }
  6300  
  6301  // String returns the string representation.
  6302  //
  6303  // API parameter values that are decorated as "sensitive" in the API will not
  6304  // be included in the string output. The member name will be present, but the
  6305  // value will be replaced with "sensitive".
  6306  func (s TooManyRequestsException) String() string {
  6307  	return awsutil.Prettify(s)
  6308  }
  6309  
  6310  // GoString returns the string representation.
  6311  //
  6312  // API parameter values that are decorated as "sensitive" in the API will not
  6313  // be included in the string output. The member name will be present, but the
  6314  // value will be replaced with "sensitive".
  6315  func (s TooManyRequestsException) GoString() string {
  6316  	return s.String()
  6317  }
  6318  
  6319  func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
  6320  	return &TooManyRequestsException{
  6321  		RespMetadata: v,
  6322  	}
  6323  }
  6324  
  6325  // Code returns the exception type name.
  6326  func (s *TooManyRequestsException) Code() string {
  6327  	return "TooManyRequestsException"
  6328  }
  6329  
  6330  // Message returns the exception's message.
  6331  func (s *TooManyRequestsException) Message() string {
  6332  	if s.Message_ != nil {
  6333  		return *s.Message_
  6334  	}
  6335  	return ""
  6336  }
  6337  
  6338  // OrigErr always returns nil, satisfies awserr.Error interface.
  6339  func (s *TooManyRequestsException) OrigErr() error {
  6340  	return nil
  6341  }
  6342  
  6343  func (s *TooManyRequestsException) Error() string {
  6344  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6345  }
  6346  
  6347  // Status code returns the HTTP status code for the request's response error.
  6348  func (s *TooManyRequestsException) StatusCode() int {
  6349  	return s.RespMetadata.StatusCode
  6350  }
  6351  
  6352  // RequestID returns the service's response RequestID for request.
  6353  func (s *TooManyRequestsException) RequestID() string {
  6354  	return s.RespMetadata.RequestID
  6355  }
  6356  
  6357  type UnprocessableEntityException struct {
  6358  	_            struct{}                  `type:"structure"`
  6359  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6360  
  6361  	Message_ *string `locationName:"message" type:"string"`
  6362  }
  6363  
  6364  // String returns the string representation.
  6365  //
  6366  // API parameter values that are decorated as "sensitive" in the API will not
  6367  // be included in the string output. The member name will be present, but the
  6368  // value will be replaced with "sensitive".
  6369  func (s UnprocessableEntityException) String() string {
  6370  	return awsutil.Prettify(s)
  6371  }
  6372  
  6373  // GoString returns the string representation.
  6374  //
  6375  // API parameter values that are decorated as "sensitive" in the API will not
  6376  // be included in the string output. The member name will be present, but the
  6377  // value will be replaced with "sensitive".
  6378  func (s UnprocessableEntityException) GoString() string {
  6379  	return s.String()
  6380  }
  6381  
  6382  func newErrorUnprocessableEntityException(v protocol.ResponseMetadata) error {
  6383  	return &UnprocessableEntityException{
  6384  		RespMetadata: v,
  6385  	}
  6386  }
  6387  
  6388  // Code returns the exception type name.
  6389  func (s *UnprocessableEntityException) Code() string {
  6390  	return "UnprocessableEntityException"
  6391  }
  6392  
  6393  // Message returns the exception's message.
  6394  func (s *UnprocessableEntityException) Message() string {
  6395  	if s.Message_ != nil {
  6396  		return *s.Message_
  6397  	}
  6398  	return ""
  6399  }
  6400  
  6401  // OrigErr always returns nil, satisfies awserr.Error interface.
  6402  func (s *UnprocessableEntityException) OrigErr() error {
  6403  	return nil
  6404  }
  6405  
  6406  func (s *UnprocessableEntityException) Error() string {
  6407  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6408  }
  6409  
  6410  // Status code returns the HTTP status code for the request's response error.
  6411  func (s *UnprocessableEntityException) StatusCode() int {
  6412  	return s.RespMetadata.StatusCode
  6413  }
  6414  
  6415  // RequestID returns the service's response RequestID for request.
  6416  func (s *UnprocessableEntityException) RequestID() string {
  6417  	return s.RespMetadata.RequestID
  6418  }
  6419  
  6420  type UntagResourceInput struct {
  6421  	_ struct{} `type:"structure" nopayload:"true"`
  6422  
  6423  	// ResourceArn is a required field
  6424  	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
  6425  
  6426  	// TagKeys is a required field
  6427  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
  6428  }
  6429  
  6430  // String returns the string representation.
  6431  //
  6432  // API parameter values that are decorated as "sensitive" in the API will not
  6433  // be included in the string output. The member name will be present, but the
  6434  // value will be replaced with "sensitive".
  6435  func (s UntagResourceInput) String() string {
  6436  	return awsutil.Prettify(s)
  6437  }
  6438  
  6439  // GoString returns the string representation.
  6440  //
  6441  // API parameter values that are decorated as "sensitive" in the API will not
  6442  // be included in the string output. The member name will be present, but the
  6443  // value will be replaced with "sensitive".
  6444  func (s UntagResourceInput) GoString() string {
  6445  	return s.String()
  6446  }
  6447  
  6448  // Validate inspects the fields of the type to determine if they are valid.
  6449  func (s *UntagResourceInput) Validate() error {
  6450  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  6451  	if s.ResourceArn == nil {
  6452  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  6453  	}
  6454  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  6455  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  6456  	}
  6457  	if s.TagKeys == nil {
  6458  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  6459  	}
  6460  
  6461  	if invalidParams.Len() > 0 {
  6462  		return invalidParams
  6463  	}
  6464  	return nil
  6465  }
  6466  
  6467  // SetResourceArn sets the ResourceArn field's value.
  6468  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  6469  	s.ResourceArn = &v
  6470  	return s
  6471  }
  6472  
  6473  // SetTagKeys sets the TagKeys field's value.
  6474  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  6475  	s.TagKeys = v
  6476  	return s
  6477  }
  6478  
  6479  type UntagResourceOutput struct {
  6480  	_ struct{} `type:"structure" nopayload:"true"`
  6481  }
  6482  
  6483  // String returns the string representation.
  6484  //
  6485  // API parameter values that are decorated as "sensitive" in the API will not
  6486  // be included in the string output. The member name will be present, but the
  6487  // value will be replaced with "sensitive".
  6488  func (s UntagResourceOutput) String() string {
  6489  	return awsutil.Prettify(s)
  6490  }
  6491  
  6492  // GoString returns the string representation.
  6493  //
  6494  // API parameter values that are decorated as "sensitive" in the API will not
  6495  // be included in the string output. The member name will be present, but the
  6496  // value will be replaced with "sensitive".
  6497  func (s UntagResourceOutput) GoString() string {
  6498  	return s.String()
  6499  }
  6500  
  6501  type UpdateChannelInput struct {
  6502  	_ struct{} `type:"structure"`
  6503  
  6504  	Description *string `locationName:"description" type:"string"`
  6505  
  6506  	// Id is a required field
  6507  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  6508  }
  6509  
  6510  // String returns the string representation.
  6511  //
  6512  // API parameter values that are decorated as "sensitive" in the API will not
  6513  // be included in the string output. The member name will be present, but the
  6514  // value will be replaced with "sensitive".
  6515  func (s UpdateChannelInput) String() string {
  6516  	return awsutil.Prettify(s)
  6517  }
  6518  
  6519  // GoString returns the string representation.
  6520  //
  6521  // API parameter values that are decorated as "sensitive" in the API will not
  6522  // be included in the string output. The member name will be present, but the
  6523  // value will be replaced with "sensitive".
  6524  func (s UpdateChannelInput) GoString() string {
  6525  	return s.String()
  6526  }
  6527  
  6528  // Validate inspects the fields of the type to determine if they are valid.
  6529  func (s *UpdateChannelInput) Validate() error {
  6530  	invalidParams := request.ErrInvalidParams{Context: "UpdateChannelInput"}
  6531  	if s.Id == nil {
  6532  		invalidParams.Add(request.NewErrParamRequired("Id"))
  6533  	}
  6534  	if s.Id != nil && len(*s.Id) < 1 {
  6535  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  6536  	}
  6537  
  6538  	if invalidParams.Len() > 0 {
  6539  		return invalidParams
  6540  	}
  6541  	return nil
  6542  }
  6543  
  6544  // SetDescription sets the Description field's value.
  6545  func (s *UpdateChannelInput) SetDescription(v string) *UpdateChannelInput {
  6546  	s.Description = &v
  6547  	return s
  6548  }
  6549  
  6550  // SetId sets the Id field's value.
  6551  func (s *UpdateChannelInput) SetId(v string) *UpdateChannelInput {
  6552  	s.Id = &v
  6553  	return s
  6554  }
  6555  
  6556  type UpdateChannelOutput struct {
  6557  	_ struct{} `type:"structure"`
  6558  
  6559  	Arn *string `locationName:"arn" type:"string"`
  6560  
  6561  	Description *string `locationName:"description" type:"string"`
  6562  
  6563  	// Configure egress access logging.
  6564  	EgressAccessLogs *EgressAccessLogs `locationName:"egressAccessLogs" type:"structure"`
  6565  
  6566  	// An HTTP Live Streaming (HLS) ingest resource configuration.
  6567  	HlsIngest *HlsIngest `locationName:"hlsIngest" type:"structure"`
  6568  
  6569  	Id *string `locationName:"id" type:"string"`
  6570  
  6571  	// Configure ingress access logging.
  6572  	IngressAccessLogs *IngressAccessLogs `locationName:"ingressAccessLogs" type:"structure"`
  6573  
  6574  	// A collection of tags associated with a resource
  6575  	Tags map[string]*string `locationName:"tags" type:"map"`
  6576  }
  6577  
  6578  // String returns the string representation.
  6579  //
  6580  // API parameter values that are decorated as "sensitive" in the API will not
  6581  // be included in the string output. The member name will be present, but the
  6582  // value will be replaced with "sensitive".
  6583  func (s UpdateChannelOutput) String() string {
  6584  	return awsutil.Prettify(s)
  6585  }
  6586  
  6587  // GoString returns the string representation.
  6588  //
  6589  // API parameter values that are decorated as "sensitive" in the API will not
  6590  // be included in the string output. The member name will be present, but the
  6591  // value will be replaced with "sensitive".
  6592  func (s UpdateChannelOutput) GoString() string {
  6593  	return s.String()
  6594  }
  6595  
  6596  // SetArn sets the Arn field's value.
  6597  func (s *UpdateChannelOutput) SetArn(v string) *UpdateChannelOutput {
  6598  	s.Arn = &v
  6599  	return s
  6600  }
  6601  
  6602  // SetDescription sets the Description field's value.
  6603  func (s *UpdateChannelOutput) SetDescription(v string) *UpdateChannelOutput {
  6604  	s.Description = &v
  6605  	return s
  6606  }
  6607  
  6608  // SetEgressAccessLogs sets the EgressAccessLogs field's value.
  6609  func (s *UpdateChannelOutput) SetEgressAccessLogs(v *EgressAccessLogs) *UpdateChannelOutput {
  6610  	s.EgressAccessLogs = v
  6611  	return s
  6612  }
  6613  
  6614  // SetHlsIngest sets the HlsIngest field's value.
  6615  func (s *UpdateChannelOutput) SetHlsIngest(v *HlsIngest) *UpdateChannelOutput {
  6616  	s.HlsIngest = v
  6617  	return s
  6618  }
  6619  
  6620  // SetId sets the Id field's value.
  6621  func (s *UpdateChannelOutput) SetId(v string) *UpdateChannelOutput {
  6622  	s.Id = &v
  6623  	return s
  6624  }
  6625  
  6626  // SetIngressAccessLogs sets the IngressAccessLogs field's value.
  6627  func (s *UpdateChannelOutput) SetIngressAccessLogs(v *IngressAccessLogs) *UpdateChannelOutput {
  6628  	s.IngressAccessLogs = v
  6629  	return s
  6630  }
  6631  
  6632  // SetTags sets the Tags field's value.
  6633  func (s *UpdateChannelOutput) SetTags(v map[string]*string) *UpdateChannelOutput {
  6634  	s.Tags = v
  6635  	return s
  6636  }
  6637  
  6638  type UpdateOriginEndpointInput struct {
  6639  	_ struct{} `type:"structure"`
  6640  
  6641  	// CDN Authorization credentials
  6642  	Authorization *Authorization `locationName:"authorization" type:"structure"`
  6643  
  6644  	// A Common Media Application Format (CMAF) packaging configuration.
  6645  	CmafPackage *CmafPackageCreateOrUpdateParameters `locationName:"cmafPackage" type:"structure"`
  6646  
  6647  	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
  6648  	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
  6649  
  6650  	Description *string `locationName:"description" type:"string"`
  6651  
  6652  	// An HTTP Live Streaming (HLS) packaging configuration.
  6653  	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
  6654  
  6655  	// Id is a required field
  6656  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  6657  
  6658  	ManifestName *string `locationName:"manifestName" type:"string"`
  6659  
  6660  	// A Microsoft Smooth Streaming (MSS) packaging configuration.
  6661  	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
  6662  
  6663  	Origination *string `locationName:"origination" type:"string" enum:"Origination"`
  6664  
  6665  	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
  6666  
  6667  	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
  6668  
  6669  	Whitelist []*string `locationName:"whitelist" type:"list"`
  6670  }
  6671  
  6672  // String returns the string representation.
  6673  //
  6674  // API parameter values that are decorated as "sensitive" in the API will not
  6675  // be included in the string output. The member name will be present, but the
  6676  // value will be replaced with "sensitive".
  6677  func (s UpdateOriginEndpointInput) String() string {
  6678  	return awsutil.Prettify(s)
  6679  }
  6680  
  6681  // GoString returns the string representation.
  6682  //
  6683  // API parameter values that are decorated as "sensitive" in the API will not
  6684  // be included in the string output. The member name will be present, but the
  6685  // value will be replaced with "sensitive".
  6686  func (s UpdateOriginEndpointInput) GoString() string {
  6687  	return s.String()
  6688  }
  6689  
  6690  // Validate inspects the fields of the type to determine if they are valid.
  6691  func (s *UpdateOriginEndpointInput) Validate() error {
  6692  	invalidParams := request.ErrInvalidParams{Context: "UpdateOriginEndpointInput"}
  6693  	if s.Id == nil {
  6694  		invalidParams.Add(request.NewErrParamRequired("Id"))
  6695  	}
  6696  	if s.Id != nil && len(*s.Id) < 1 {
  6697  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  6698  	}
  6699  	if s.Authorization != nil {
  6700  		if err := s.Authorization.Validate(); err != nil {
  6701  			invalidParams.AddNested("Authorization", err.(request.ErrInvalidParams))
  6702  		}
  6703  	}
  6704  	if s.CmafPackage != nil {
  6705  		if err := s.CmafPackage.Validate(); err != nil {
  6706  			invalidParams.AddNested("CmafPackage", err.(request.ErrInvalidParams))
  6707  		}
  6708  	}
  6709  	if s.DashPackage != nil {
  6710  		if err := s.DashPackage.Validate(); err != nil {
  6711  			invalidParams.AddNested("DashPackage", err.(request.ErrInvalidParams))
  6712  		}
  6713  	}
  6714  	if s.HlsPackage != nil {
  6715  		if err := s.HlsPackage.Validate(); err != nil {
  6716  			invalidParams.AddNested("HlsPackage", err.(request.ErrInvalidParams))
  6717  		}
  6718  	}
  6719  	if s.MssPackage != nil {
  6720  		if err := s.MssPackage.Validate(); err != nil {
  6721  			invalidParams.AddNested("MssPackage", err.(request.ErrInvalidParams))
  6722  		}
  6723  	}
  6724  
  6725  	if invalidParams.Len() > 0 {
  6726  		return invalidParams
  6727  	}
  6728  	return nil
  6729  }
  6730  
  6731  // SetAuthorization sets the Authorization field's value.
  6732  func (s *UpdateOriginEndpointInput) SetAuthorization(v *Authorization) *UpdateOriginEndpointInput {
  6733  	s.Authorization = v
  6734  	return s
  6735  }
  6736  
  6737  // SetCmafPackage sets the CmafPackage field's value.
  6738  func (s *UpdateOriginEndpointInput) SetCmafPackage(v *CmafPackageCreateOrUpdateParameters) *UpdateOriginEndpointInput {
  6739  	s.CmafPackage = v
  6740  	return s
  6741  }
  6742  
  6743  // SetDashPackage sets the DashPackage field's value.
  6744  func (s *UpdateOriginEndpointInput) SetDashPackage(v *DashPackage) *UpdateOriginEndpointInput {
  6745  	s.DashPackage = v
  6746  	return s
  6747  }
  6748  
  6749  // SetDescription sets the Description field's value.
  6750  func (s *UpdateOriginEndpointInput) SetDescription(v string) *UpdateOriginEndpointInput {
  6751  	s.Description = &v
  6752  	return s
  6753  }
  6754  
  6755  // SetHlsPackage sets the HlsPackage field's value.
  6756  func (s *UpdateOriginEndpointInput) SetHlsPackage(v *HlsPackage) *UpdateOriginEndpointInput {
  6757  	s.HlsPackage = v
  6758  	return s
  6759  }
  6760  
  6761  // SetId sets the Id field's value.
  6762  func (s *UpdateOriginEndpointInput) SetId(v string) *UpdateOriginEndpointInput {
  6763  	s.Id = &v
  6764  	return s
  6765  }
  6766  
  6767  // SetManifestName sets the ManifestName field's value.
  6768  func (s *UpdateOriginEndpointInput) SetManifestName(v string) *UpdateOriginEndpointInput {
  6769  	s.ManifestName = &v
  6770  	return s
  6771  }
  6772  
  6773  // SetMssPackage sets the MssPackage field's value.
  6774  func (s *UpdateOriginEndpointInput) SetMssPackage(v *MssPackage) *UpdateOriginEndpointInput {
  6775  	s.MssPackage = v
  6776  	return s
  6777  }
  6778  
  6779  // SetOrigination sets the Origination field's value.
  6780  func (s *UpdateOriginEndpointInput) SetOrigination(v string) *UpdateOriginEndpointInput {
  6781  	s.Origination = &v
  6782  	return s
  6783  }
  6784  
  6785  // SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
  6786  func (s *UpdateOriginEndpointInput) SetStartoverWindowSeconds(v int64) *UpdateOriginEndpointInput {
  6787  	s.StartoverWindowSeconds = &v
  6788  	return s
  6789  }
  6790  
  6791  // SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
  6792  func (s *UpdateOriginEndpointInput) SetTimeDelaySeconds(v int64) *UpdateOriginEndpointInput {
  6793  	s.TimeDelaySeconds = &v
  6794  	return s
  6795  }
  6796  
  6797  // SetWhitelist sets the Whitelist field's value.
  6798  func (s *UpdateOriginEndpointInput) SetWhitelist(v []*string) *UpdateOriginEndpointInput {
  6799  	s.Whitelist = v
  6800  	return s
  6801  }
  6802  
  6803  type UpdateOriginEndpointOutput struct {
  6804  	_ struct{} `type:"structure"`
  6805  
  6806  	Arn *string `locationName:"arn" type:"string"`
  6807  
  6808  	// CDN Authorization credentials
  6809  	Authorization *Authorization `locationName:"authorization" type:"structure"`
  6810  
  6811  	ChannelId *string `locationName:"channelId" type:"string"`
  6812  
  6813  	// A Common Media Application Format (CMAF) packaging configuration.
  6814  	CmafPackage *CmafPackage `locationName:"cmafPackage" type:"structure"`
  6815  
  6816  	// A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
  6817  	DashPackage *DashPackage `locationName:"dashPackage" type:"structure"`
  6818  
  6819  	Description *string `locationName:"description" type:"string"`
  6820  
  6821  	// An HTTP Live Streaming (HLS) packaging configuration.
  6822  	HlsPackage *HlsPackage `locationName:"hlsPackage" type:"structure"`
  6823  
  6824  	Id *string `locationName:"id" type:"string"`
  6825  
  6826  	ManifestName *string `locationName:"manifestName" type:"string"`
  6827  
  6828  	// A Microsoft Smooth Streaming (MSS) packaging configuration.
  6829  	MssPackage *MssPackage `locationName:"mssPackage" type:"structure"`
  6830  
  6831  	Origination *string `locationName:"origination" type:"string" enum:"Origination"`
  6832  
  6833  	StartoverWindowSeconds *int64 `locationName:"startoverWindowSeconds" type:"integer"`
  6834  
  6835  	// A collection of tags associated with a resource
  6836  	Tags map[string]*string `locationName:"tags" type:"map"`
  6837  
  6838  	TimeDelaySeconds *int64 `locationName:"timeDelaySeconds" type:"integer"`
  6839  
  6840  	Url *string `locationName:"url" type:"string"`
  6841  
  6842  	Whitelist []*string `locationName:"whitelist" type:"list"`
  6843  }
  6844  
  6845  // String returns the string representation.
  6846  //
  6847  // API parameter values that are decorated as "sensitive" in the API will not
  6848  // be included in the string output. The member name will be present, but the
  6849  // value will be replaced with "sensitive".
  6850  func (s UpdateOriginEndpointOutput) String() string {
  6851  	return awsutil.Prettify(s)
  6852  }
  6853  
  6854  // GoString returns the string representation.
  6855  //
  6856  // API parameter values that are decorated as "sensitive" in the API will not
  6857  // be included in the string output. The member name will be present, but the
  6858  // value will be replaced with "sensitive".
  6859  func (s UpdateOriginEndpointOutput) GoString() string {
  6860  	return s.String()
  6861  }
  6862  
  6863  // SetArn sets the Arn field's value.
  6864  func (s *UpdateOriginEndpointOutput) SetArn(v string) *UpdateOriginEndpointOutput {
  6865  	s.Arn = &v
  6866  	return s
  6867  }
  6868  
  6869  // SetAuthorization sets the Authorization field's value.
  6870  func (s *UpdateOriginEndpointOutput) SetAuthorization(v *Authorization) *UpdateOriginEndpointOutput {
  6871  	s.Authorization = v
  6872  	return s
  6873  }
  6874  
  6875  // SetChannelId sets the ChannelId field's value.
  6876  func (s *UpdateOriginEndpointOutput) SetChannelId(v string) *UpdateOriginEndpointOutput {
  6877  	s.ChannelId = &v
  6878  	return s
  6879  }
  6880  
  6881  // SetCmafPackage sets the CmafPackage field's value.
  6882  func (s *UpdateOriginEndpointOutput) SetCmafPackage(v *CmafPackage) *UpdateOriginEndpointOutput {
  6883  	s.CmafPackage = v
  6884  	return s
  6885  }
  6886  
  6887  // SetDashPackage sets the DashPackage field's value.
  6888  func (s *UpdateOriginEndpointOutput) SetDashPackage(v *DashPackage) *UpdateOriginEndpointOutput {
  6889  	s.DashPackage = v
  6890  	return s
  6891  }
  6892  
  6893  // SetDescription sets the Description field's value.
  6894  func (s *UpdateOriginEndpointOutput) SetDescription(v string) *UpdateOriginEndpointOutput {
  6895  	s.Description = &v
  6896  	return s
  6897  }
  6898  
  6899  // SetHlsPackage sets the HlsPackage field's value.
  6900  func (s *UpdateOriginEndpointOutput) SetHlsPackage(v *HlsPackage) *UpdateOriginEndpointOutput {
  6901  	s.HlsPackage = v
  6902  	return s
  6903  }
  6904  
  6905  // SetId sets the Id field's value.
  6906  func (s *UpdateOriginEndpointOutput) SetId(v string) *UpdateOriginEndpointOutput {
  6907  	s.Id = &v
  6908  	return s
  6909  }
  6910  
  6911  // SetManifestName sets the ManifestName field's value.
  6912  func (s *UpdateOriginEndpointOutput) SetManifestName(v string) *UpdateOriginEndpointOutput {
  6913  	s.ManifestName = &v
  6914  	return s
  6915  }
  6916  
  6917  // SetMssPackage sets the MssPackage field's value.
  6918  func (s *UpdateOriginEndpointOutput) SetMssPackage(v *MssPackage) *UpdateOriginEndpointOutput {
  6919  	s.MssPackage = v
  6920  	return s
  6921  }
  6922  
  6923  // SetOrigination sets the Origination field's value.
  6924  func (s *UpdateOriginEndpointOutput) SetOrigination(v string) *UpdateOriginEndpointOutput {
  6925  	s.Origination = &v
  6926  	return s
  6927  }
  6928  
  6929  // SetStartoverWindowSeconds sets the StartoverWindowSeconds field's value.
  6930  func (s *UpdateOriginEndpointOutput) SetStartoverWindowSeconds(v int64) *UpdateOriginEndpointOutput {
  6931  	s.StartoverWindowSeconds = &v
  6932  	return s
  6933  }
  6934  
  6935  // SetTags sets the Tags field's value.
  6936  func (s *UpdateOriginEndpointOutput) SetTags(v map[string]*string) *UpdateOriginEndpointOutput {
  6937  	s.Tags = v
  6938  	return s
  6939  }
  6940  
  6941  // SetTimeDelaySeconds sets the TimeDelaySeconds field's value.
  6942  func (s *UpdateOriginEndpointOutput) SetTimeDelaySeconds(v int64) *UpdateOriginEndpointOutput {
  6943  	s.TimeDelaySeconds = &v
  6944  	return s
  6945  }
  6946  
  6947  // SetUrl sets the Url field's value.
  6948  func (s *UpdateOriginEndpointOutput) SetUrl(v string) *UpdateOriginEndpointOutput {
  6949  	s.Url = &v
  6950  	return s
  6951  }
  6952  
  6953  // SetWhitelist sets the Whitelist field's value.
  6954  func (s *UpdateOriginEndpointOutput) SetWhitelist(v []*string) *UpdateOriginEndpointOutput {
  6955  	s.Whitelist = v
  6956  	return s
  6957  }
  6958  
  6959  const (
  6960  	// AdMarkersNone is a AdMarkers enum value
  6961  	AdMarkersNone = "NONE"
  6962  
  6963  	// AdMarkersScte35Enhanced is a AdMarkers enum value
  6964  	AdMarkersScte35Enhanced = "SCTE35_ENHANCED"
  6965  
  6966  	// AdMarkersPassthrough is a AdMarkers enum value
  6967  	AdMarkersPassthrough = "PASSTHROUGH"
  6968  
  6969  	// AdMarkersDaterange is a AdMarkers enum value
  6970  	AdMarkersDaterange = "DATERANGE"
  6971  )
  6972  
  6973  // AdMarkers_Values returns all elements of the AdMarkers enum
  6974  func AdMarkers_Values() []string {
  6975  	return []string{
  6976  		AdMarkersNone,
  6977  		AdMarkersScte35Enhanced,
  6978  		AdMarkersPassthrough,
  6979  		AdMarkersDaterange,
  6980  	}
  6981  }
  6982  
  6983  // This setting allows the delivery restriction flags on SCTE-35 segmentation
  6984  // descriptors todetermine whether a message signals an ad. Choosing "NONE"
  6985  // means no SCTE-35 messages becomeads. Choosing "RESTRICTED" means SCTE-35
  6986  // messages of the types specified in AdTriggers thatcontain delivery restrictions
  6987  // will be treated as ads. Choosing "UNRESTRICTED" means SCTE-35messages of
  6988  // the types specified in AdTriggers that do not contain delivery restrictions
  6989  // willbe treated as ads. Choosing "BOTH" means all SCTE-35 messages of the
  6990  // types specified inAdTriggers will be treated as ads. Note that Splice Insert
  6991  // messages do not have these flagsand are always treated as ads if specified
  6992  // in AdTriggers.
  6993  const (
  6994  	// AdsOnDeliveryRestrictionsNone is a AdsOnDeliveryRestrictions enum value
  6995  	AdsOnDeliveryRestrictionsNone = "NONE"
  6996  
  6997  	// AdsOnDeliveryRestrictionsRestricted is a AdsOnDeliveryRestrictions enum value
  6998  	AdsOnDeliveryRestrictionsRestricted = "RESTRICTED"
  6999  
  7000  	// AdsOnDeliveryRestrictionsUnrestricted is a AdsOnDeliveryRestrictions enum value
  7001  	AdsOnDeliveryRestrictionsUnrestricted = "UNRESTRICTED"
  7002  
  7003  	// AdsOnDeliveryRestrictionsBoth is a AdsOnDeliveryRestrictions enum value
  7004  	AdsOnDeliveryRestrictionsBoth = "BOTH"
  7005  )
  7006  
  7007  // AdsOnDeliveryRestrictions_Values returns all elements of the AdsOnDeliveryRestrictions enum
  7008  func AdsOnDeliveryRestrictions_Values() []string {
  7009  	return []string{
  7010  		AdsOnDeliveryRestrictionsNone,
  7011  		AdsOnDeliveryRestrictionsRestricted,
  7012  		AdsOnDeliveryRestrictionsUnrestricted,
  7013  		AdsOnDeliveryRestrictionsBoth,
  7014  	}
  7015  }
  7016  
  7017  const (
  7018  	// EncryptionMethodAes128 is a EncryptionMethod enum value
  7019  	EncryptionMethodAes128 = "AES_128"
  7020  
  7021  	// EncryptionMethodSampleAes is a EncryptionMethod enum value
  7022  	EncryptionMethodSampleAes = "SAMPLE_AES"
  7023  )
  7024  
  7025  // EncryptionMethod_Values returns all elements of the EncryptionMethod enum
  7026  func EncryptionMethod_Values() []string {
  7027  	return []string{
  7028  		EncryptionMethodAes128,
  7029  		EncryptionMethodSampleAes,
  7030  	}
  7031  }
  7032  
  7033  const (
  7034  	// ManifestLayoutFull is a ManifestLayout enum value
  7035  	ManifestLayoutFull = "FULL"
  7036  
  7037  	// ManifestLayoutCompact is a ManifestLayout enum value
  7038  	ManifestLayoutCompact = "COMPACT"
  7039  )
  7040  
  7041  // ManifestLayout_Values returns all elements of the ManifestLayout enum
  7042  func ManifestLayout_Values() []string {
  7043  	return []string{
  7044  		ManifestLayoutFull,
  7045  		ManifestLayoutCompact,
  7046  	}
  7047  }
  7048  
  7049  const (
  7050  	// OriginationAllow is a Origination enum value
  7051  	OriginationAllow = "ALLOW"
  7052  
  7053  	// OriginationDeny is a Origination enum value
  7054  	OriginationDeny = "DENY"
  7055  )
  7056  
  7057  // Origination_Values returns all elements of the Origination enum
  7058  func Origination_Values() []string {
  7059  	return []string{
  7060  		OriginationAllow,
  7061  		OriginationDeny,
  7062  	}
  7063  }
  7064  
  7065  const (
  7066  	// PlaylistTypeNone is a PlaylistType enum value
  7067  	PlaylistTypeNone = "NONE"
  7068  
  7069  	// PlaylistTypeEvent is a PlaylistType enum value
  7070  	PlaylistTypeEvent = "EVENT"
  7071  
  7072  	// PlaylistTypeVod is a PlaylistType enum value
  7073  	PlaylistTypeVod = "VOD"
  7074  )
  7075  
  7076  // PlaylistType_Values returns all elements of the PlaylistType enum
  7077  func PlaylistType_Values() []string {
  7078  	return []string{
  7079  		PlaylistTypeNone,
  7080  		PlaylistTypeEvent,
  7081  		PlaylistTypeVod,
  7082  	}
  7083  }
  7084  
  7085  const (
  7086  	// PresetSpeke20AudioPresetAudio1 is a PresetSpeke20Audio enum value
  7087  	PresetSpeke20AudioPresetAudio1 = "PRESET-AUDIO-1"
  7088  )
  7089  
  7090  // PresetSpeke20Audio_Values returns all elements of the PresetSpeke20Audio enum
  7091  func PresetSpeke20Audio_Values() []string {
  7092  	return []string{
  7093  		PresetSpeke20AudioPresetAudio1,
  7094  	}
  7095  }
  7096  
  7097  const (
  7098  	// PresetSpeke20VideoPresetVideo1 is a PresetSpeke20Video enum value
  7099  	PresetSpeke20VideoPresetVideo1 = "PRESET-VIDEO-1"
  7100  )
  7101  
  7102  // PresetSpeke20Video_Values returns all elements of the PresetSpeke20Video enum
  7103  func PresetSpeke20Video_Values() []string {
  7104  	return []string{
  7105  		PresetSpeke20VideoPresetVideo1,
  7106  	}
  7107  }
  7108  
  7109  const (
  7110  	// ProfileNone is a Profile enum value
  7111  	ProfileNone = "NONE"
  7112  
  7113  	// ProfileHbbtv15 is a Profile enum value
  7114  	ProfileHbbtv15 = "HBBTV_1_5"
  7115  )
  7116  
  7117  // Profile_Values returns all elements of the Profile enum
  7118  func Profile_Values() []string {
  7119  	return []string{
  7120  		ProfileNone,
  7121  		ProfileHbbtv15,
  7122  	}
  7123  }
  7124  
  7125  const (
  7126  	// SegmentTemplateFormatNumberWithTimeline is a SegmentTemplateFormat enum value
  7127  	SegmentTemplateFormatNumberWithTimeline = "NUMBER_WITH_TIMELINE"
  7128  
  7129  	// SegmentTemplateFormatTimeWithTimeline is a SegmentTemplateFormat enum value
  7130  	SegmentTemplateFormatTimeWithTimeline = "TIME_WITH_TIMELINE"
  7131  
  7132  	// SegmentTemplateFormatNumberWithDuration is a SegmentTemplateFormat enum value
  7133  	SegmentTemplateFormatNumberWithDuration = "NUMBER_WITH_DURATION"
  7134  )
  7135  
  7136  // SegmentTemplateFormat_Values returns all elements of the SegmentTemplateFormat enum
  7137  func SegmentTemplateFormat_Values() []string {
  7138  	return []string{
  7139  		SegmentTemplateFormatNumberWithTimeline,
  7140  		SegmentTemplateFormatTimeWithTimeline,
  7141  		SegmentTemplateFormatNumberWithDuration,
  7142  	}
  7143  }
  7144  
  7145  const (
  7146  	// StatusInProgress is a Status enum value
  7147  	StatusInProgress = "IN_PROGRESS"
  7148  
  7149  	// StatusSucceeded is a Status enum value
  7150  	StatusSucceeded = "SUCCEEDED"
  7151  
  7152  	// StatusFailed is a Status enum value
  7153  	StatusFailed = "FAILED"
  7154  )
  7155  
  7156  // Status_Values returns all elements of the Status enum
  7157  func Status_Values() []string {
  7158  	return []string{
  7159  		StatusInProgress,
  7160  		StatusSucceeded,
  7161  		StatusFailed,
  7162  	}
  7163  }
  7164  
  7165  const (
  7166  	// StreamOrderOriginal is a StreamOrder enum value
  7167  	StreamOrderOriginal = "ORIGINAL"
  7168  
  7169  	// StreamOrderVideoBitrateAscending is a StreamOrder enum value
  7170  	StreamOrderVideoBitrateAscending = "VIDEO_BITRATE_ASCENDING"
  7171  
  7172  	// StreamOrderVideoBitrateDescending is a StreamOrder enum value
  7173  	StreamOrderVideoBitrateDescending = "VIDEO_BITRATE_DESCENDING"
  7174  )
  7175  
  7176  // StreamOrder_Values returns all elements of the StreamOrder enum
  7177  func StreamOrder_Values() []string {
  7178  	return []string{
  7179  		StreamOrderOriginal,
  7180  		StreamOrderVideoBitrateAscending,
  7181  		StreamOrderVideoBitrateDescending,
  7182  	}
  7183  }
  7184  
  7185  const (
  7186  	// UtcTimingNone is a UtcTiming enum value
  7187  	UtcTimingNone = "NONE"
  7188  
  7189  	// UtcTimingHttpHead is a UtcTiming enum value
  7190  	UtcTimingHttpHead = "HTTP-HEAD"
  7191  
  7192  	// UtcTimingHttpIso is a UtcTiming enum value
  7193  	UtcTimingHttpIso = "HTTP-ISO"
  7194  )
  7195  
  7196  // UtcTiming_Values returns all elements of the UtcTiming enum
  7197  func UtcTiming_Values() []string {
  7198  	return []string{
  7199  		UtcTimingNone,
  7200  		UtcTimingHttpHead,
  7201  		UtcTimingHttpIso,
  7202  	}
  7203  }
  7204  
  7205  const (
  7206  	// __AdTriggersElementSpliceInsert is a __AdTriggersElement enum value
  7207  	__AdTriggersElementSpliceInsert = "SPLICE_INSERT"
  7208  
  7209  	// __AdTriggersElementBreak is a __AdTriggersElement enum value
  7210  	__AdTriggersElementBreak = "BREAK"
  7211  
  7212  	// __AdTriggersElementProviderAdvertisement is a __AdTriggersElement enum value
  7213  	__AdTriggersElementProviderAdvertisement = "PROVIDER_ADVERTISEMENT"
  7214  
  7215  	// __AdTriggersElementDistributorAdvertisement is a __AdTriggersElement enum value
  7216  	__AdTriggersElementDistributorAdvertisement = "DISTRIBUTOR_ADVERTISEMENT"
  7217  
  7218  	// __AdTriggersElementProviderPlacementOpportunity is a __AdTriggersElement enum value
  7219  	__AdTriggersElementProviderPlacementOpportunity = "PROVIDER_PLACEMENT_OPPORTUNITY"
  7220  
  7221  	// __AdTriggersElementDistributorPlacementOpportunity is a __AdTriggersElement enum value
  7222  	__AdTriggersElementDistributorPlacementOpportunity = "DISTRIBUTOR_PLACEMENT_OPPORTUNITY"
  7223  
  7224  	// __AdTriggersElementProviderOverlayPlacementOpportunity is a __AdTriggersElement enum value
  7225  	__AdTriggersElementProviderOverlayPlacementOpportunity = "PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY"
  7226  
  7227  	// __AdTriggersElementDistributorOverlayPlacementOpportunity is a __AdTriggersElement enum value
  7228  	__AdTriggersElementDistributorOverlayPlacementOpportunity = "DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY"
  7229  )
  7230  
  7231  // __AdTriggersElement_Values returns all elements of the __AdTriggersElement enum
  7232  func __AdTriggersElement_Values() []string {
  7233  	return []string{
  7234  		__AdTriggersElementSpliceInsert,
  7235  		__AdTriggersElementBreak,
  7236  		__AdTriggersElementProviderAdvertisement,
  7237  		__AdTriggersElementDistributorAdvertisement,
  7238  		__AdTriggersElementProviderPlacementOpportunity,
  7239  		__AdTriggersElementDistributorPlacementOpportunity,
  7240  		__AdTriggersElementProviderOverlayPlacementOpportunity,
  7241  		__AdTriggersElementDistributorOverlayPlacementOpportunity,
  7242  	}
  7243  }
  7244  
  7245  const (
  7246  	// __PeriodTriggersElementAds is a __PeriodTriggersElement enum value
  7247  	__PeriodTriggersElementAds = "ADS"
  7248  )
  7249  
  7250  // __PeriodTriggersElement_Values returns all elements of the __PeriodTriggersElement enum
  7251  func __PeriodTriggersElement_Values() []string {
  7252  	return []string{
  7253  		__PeriodTriggersElementAds,
  7254  	}
  7255  }