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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package directconnect
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    14  )
    15  
    16  const opAcceptDirectConnectGatewayAssociationProposal = "AcceptDirectConnectGatewayAssociationProposal"
    17  
    18  // AcceptDirectConnectGatewayAssociationProposalRequest generates a "aws/request.Request" representing the
    19  // client's request for the AcceptDirectConnectGatewayAssociationProposal operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See AcceptDirectConnectGatewayAssociationProposal for more information on using the AcceptDirectConnectGatewayAssociationProposal
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the AcceptDirectConnectGatewayAssociationProposalRequest method.
    34  //    req, resp := client.AcceptDirectConnectGatewayAssociationProposalRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AcceptDirectConnectGatewayAssociationProposal
    42  func (c *DirectConnect) AcceptDirectConnectGatewayAssociationProposalRequest(input *AcceptDirectConnectGatewayAssociationProposalInput) (req *request.Request, output *AcceptDirectConnectGatewayAssociationProposalOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAcceptDirectConnectGatewayAssociationProposal,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AcceptDirectConnectGatewayAssociationProposalInput{}
    51  	}
    52  
    53  	output = &AcceptDirectConnectGatewayAssociationProposalOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // AcceptDirectConnectGatewayAssociationProposal API operation for AWS Direct Connect.
    59  //
    60  // Accepts a proposal request to attach a virtual private gateway or transit
    61  // gateway to a Direct Connect gateway.
    62  //
    63  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    64  // with awserr.Error's Code and Message methods to get detailed information about
    65  // the error.
    66  //
    67  // See the AWS API reference guide for AWS Direct Connect's
    68  // API operation AcceptDirectConnectGatewayAssociationProposal for usage and error information.
    69  //
    70  // Returned Error Types:
    71  //   * ServerException
    72  //   A server-side error occurred.
    73  //
    74  //   * ClientException
    75  //   One or more parameters are not valid.
    76  //
    77  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AcceptDirectConnectGatewayAssociationProposal
    78  func (c *DirectConnect) AcceptDirectConnectGatewayAssociationProposal(input *AcceptDirectConnectGatewayAssociationProposalInput) (*AcceptDirectConnectGatewayAssociationProposalOutput, error) {
    79  	req, out := c.AcceptDirectConnectGatewayAssociationProposalRequest(input)
    80  	return out, req.Send()
    81  }
    82  
    83  // AcceptDirectConnectGatewayAssociationProposalWithContext is the same as AcceptDirectConnectGatewayAssociationProposal with the addition of
    84  // the ability to pass a context and additional request options.
    85  //
    86  // See AcceptDirectConnectGatewayAssociationProposal for details on how to use this API operation.
    87  //
    88  // The context must be non-nil and will be used for request cancellation. If
    89  // the context is nil a panic will occur. In the future the SDK may create
    90  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    91  // for more information on using Contexts.
    92  func (c *DirectConnect) AcceptDirectConnectGatewayAssociationProposalWithContext(ctx aws.Context, input *AcceptDirectConnectGatewayAssociationProposalInput, opts ...request.Option) (*AcceptDirectConnectGatewayAssociationProposalOutput, error) {
    93  	req, out := c.AcceptDirectConnectGatewayAssociationProposalRequest(input)
    94  	req.SetContext(ctx)
    95  	req.ApplyOptions(opts...)
    96  	return out, req.Send()
    97  }
    98  
    99  const opAllocateConnectionOnInterconnect = "AllocateConnectionOnInterconnect"
   100  
   101  // AllocateConnectionOnInterconnectRequest generates a "aws/request.Request" representing the
   102  // client's request for the AllocateConnectionOnInterconnect operation. The "output" return
   103  // value will be populated with the request's response once the request completes
   104  // successfully.
   105  //
   106  // Use "Send" method on the returned Request to send the API call to the service.
   107  // the "output" return value is not valid until after Send returns without error.
   108  //
   109  // See AllocateConnectionOnInterconnect for more information on using the AllocateConnectionOnInterconnect
   110  // API call, and error handling.
   111  //
   112  // This method is useful when you want to inject custom logic or configuration
   113  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   114  //
   115  //
   116  //    // Example sending a request using the AllocateConnectionOnInterconnectRequest method.
   117  //    req, resp := client.AllocateConnectionOnInterconnectRequest(params)
   118  //
   119  //    err := req.Send()
   120  //    if err == nil { // resp is now filled
   121  //        fmt.Println(resp)
   122  //    }
   123  //
   124  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocateConnectionOnInterconnect
   125  //
   126  // Deprecated: AllocateConnectionOnInterconnect has been deprecated
   127  func (c *DirectConnect) AllocateConnectionOnInterconnectRequest(input *AllocateConnectionOnInterconnectInput) (req *request.Request, output *Connection) {
   128  	if c.Client.Config.Logger != nil {
   129  		c.Client.Config.Logger.Log("This operation, AllocateConnectionOnInterconnect, has been deprecated")
   130  	}
   131  	op := &request.Operation{
   132  		Name:       opAllocateConnectionOnInterconnect,
   133  		HTTPMethod: "POST",
   134  		HTTPPath:   "/",
   135  	}
   136  
   137  	if input == nil {
   138  		input = &AllocateConnectionOnInterconnectInput{}
   139  	}
   140  
   141  	output = &Connection{}
   142  	req = c.newRequest(op, input, output)
   143  	return
   144  }
   145  
   146  // AllocateConnectionOnInterconnect API operation for AWS Direct Connect.
   147  //
   148  // Deprecated. Use AllocateHostedConnection instead.
   149  //
   150  // Creates a hosted connection on an interconnect.
   151  //
   152  // Allocates a VLAN number and a specified amount of bandwidth for use by a
   153  // hosted connection on the specified interconnect.
   154  //
   155  // Intended for use by Direct Connect Partners only.
   156  //
   157  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   158  // with awserr.Error's Code and Message methods to get detailed information about
   159  // the error.
   160  //
   161  // See the AWS API reference guide for AWS Direct Connect's
   162  // API operation AllocateConnectionOnInterconnect for usage and error information.
   163  //
   164  // Returned Error Types:
   165  //   * ServerException
   166  //   A server-side error occurred.
   167  //
   168  //   * ClientException
   169  //   One or more parameters are not valid.
   170  //
   171  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocateConnectionOnInterconnect
   172  //
   173  // Deprecated: AllocateConnectionOnInterconnect has been deprecated
   174  func (c *DirectConnect) AllocateConnectionOnInterconnect(input *AllocateConnectionOnInterconnectInput) (*Connection, error) {
   175  	req, out := c.AllocateConnectionOnInterconnectRequest(input)
   176  	return out, req.Send()
   177  }
   178  
   179  // AllocateConnectionOnInterconnectWithContext is the same as AllocateConnectionOnInterconnect with the addition of
   180  // the ability to pass a context and additional request options.
   181  //
   182  // See AllocateConnectionOnInterconnect for details on how to use this API operation.
   183  //
   184  // The context must be non-nil and will be used for request cancellation. If
   185  // the context is nil a panic will occur. In the future the SDK may create
   186  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   187  // for more information on using Contexts.
   188  //
   189  // Deprecated: AllocateConnectionOnInterconnectWithContext has been deprecated
   190  func (c *DirectConnect) AllocateConnectionOnInterconnectWithContext(ctx aws.Context, input *AllocateConnectionOnInterconnectInput, opts ...request.Option) (*Connection, error) {
   191  	req, out := c.AllocateConnectionOnInterconnectRequest(input)
   192  	req.SetContext(ctx)
   193  	req.ApplyOptions(opts...)
   194  	return out, req.Send()
   195  }
   196  
   197  const opAllocateHostedConnection = "AllocateHostedConnection"
   198  
   199  // AllocateHostedConnectionRequest generates a "aws/request.Request" representing the
   200  // client's request for the AllocateHostedConnection operation. The "output" return
   201  // value will be populated with the request's response once the request completes
   202  // successfully.
   203  //
   204  // Use "Send" method on the returned Request to send the API call to the service.
   205  // the "output" return value is not valid until after Send returns without error.
   206  //
   207  // See AllocateHostedConnection for more information on using the AllocateHostedConnection
   208  // API call, and error handling.
   209  //
   210  // This method is useful when you want to inject custom logic or configuration
   211  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   212  //
   213  //
   214  //    // Example sending a request using the AllocateHostedConnectionRequest method.
   215  //    req, resp := client.AllocateHostedConnectionRequest(params)
   216  //
   217  //    err := req.Send()
   218  //    if err == nil { // resp is now filled
   219  //        fmt.Println(resp)
   220  //    }
   221  //
   222  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocateHostedConnection
   223  func (c *DirectConnect) AllocateHostedConnectionRequest(input *AllocateHostedConnectionInput) (req *request.Request, output *Connection) {
   224  	op := &request.Operation{
   225  		Name:       opAllocateHostedConnection,
   226  		HTTPMethod: "POST",
   227  		HTTPPath:   "/",
   228  	}
   229  
   230  	if input == nil {
   231  		input = &AllocateHostedConnectionInput{}
   232  	}
   233  
   234  	output = &Connection{}
   235  	req = c.newRequest(op, input, output)
   236  	return
   237  }
   238  
   239  // AllocateHostedConnection API operation for AWS Direct Connect.
   240  //
   241  // Creates a hosted connection on the specified interconnect or a link aggregation
   242  // group (LAG) of interconnects.
   243  //
   244  // Allocates a VLAN number and a specified amount of capacity (bandwidth) for
   245  // use by a hosted connection on the specified interconnect or LAG of interconnects.
   246  // Amazon Web Services polices the hosted connection for the specified capacity
   247  // and the Direct Connect Partner must also police the hosted connection for
   248  // the specified capacity.
   249  //
   250  // Intended for use by Direct Connect Partners only.
   251  //
   252  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   253  // with awserr.Error's Code and Message methods to get detailed information about
   254  // the error.
   255  //
   256  // See the AWS API reference guide for AWS Direct Connect's
   257  // API operation AllocateHostedConnection for usage and error information.
   258  //
   259  // Returned Error Types:
   260  //   * DuplicateTagKeysException
   261  //   A tag key was specified more than once.
   262  //
   263  //   * TooManyTagsException
   264  //   You have reached the limit on the number of tags that can be assigned.
   265  //
   266  //   * ServerException
   267  //   A server-side error occurred.
   268  //
   269  //   * ClientException
   270  //   One or more parameters are not valid.
   271  //
   272  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocateHostedConnection
   273  func (c *DirectConnect) AllocateHostedConnection(input *AllocateHostedConnectionInput) (*Connection, error) {
   274  	req, out := c.AllocateHostedConnectionRequest(input)
   275  	return out, req.Send()
   276  }
   277  
   278  // AllocateHostedConnectionWithContext is the same as AllocateHostedConnection with the addition of
   279  // the ability to pass a context and additional request options.
   280  //
   281  // See AllocateHostedConnection for details on how to use this API operation.
   282  //
   283  // The context must be non-nil and will be used for request cancellation. If
   284  // the context is nil a panic will occur. In the future the SDK may create
   285  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   286  // for more information on using Contexts.
   287  func (c *DirectConnect) AllocateHostedConnectionWithContext(ctx aws.Context, input *AllocateHostedConnectionInput, opts ...request.Option) (*Connection, error) {
   288  	req, out := c.AllocateHostedConnectionRequest(input)
   289  	req.SetContext(ctx)
   290  	req.ApplyOptions(opts...)
   291  	return out, req.Send()
   292  }
   293  
   294  const opAllocatePrivateVirtualInterface = "AllocatePrivateVirtualInterface"
   295  
   296  // AllocatePrivateVirtualInterfaceRequest generates a "aws/request.Request" representing the
   297  // client's request for the AllocatePrivateVirtualInterface operation. The "output" return
   298  // value will be populated with the request's response once the request completes
   299  // successfully.
   300  //
   301  // Use "Send" method on the returned Request to send the API call to the service.
   302  // the "output" return value is not valid until after Send returns without error.
   303  //
   304  // See AllocatePrivateVirtualInterface for more information on using the AllocatePrivateVirtualInterface
   305  // API call, and error handling.
   306  //
   307  // This method is useful when you want to inject custom logic or configuration
   308  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   309  //
   310  //
   311  //    // Example sending a request using the AllocatePrivateVirtualInterfaceRequest method.
   312  //    req, resp := client.AllocatePrivateVirtualInterfaceRequest(params)
   313  //
   314  //    err := req.Send()
   315  //    if err == nil { // resp is now filled
   316  //        fmt.Println(resp)
   317  //    }
   318  //
   319  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocatePrivateVirtualInterface
   320  func (c *DirectConnect) AllocatePrivateVirtualInterfaceRequest(input *AllocatePrivateVirtualInterfaceInput) (req *request.Request, output *VirtualInterface) {
   321  	op := &request.Operation{
   322  		Name:       opAllocatePrivateVirtualInterface,
   323  		HTTPMethod: "POST",
   324  		HTTPPath:   "/",
   325  	}
   326  
   327  	if input == nil {
   328  		input = &AllocatePrivateVirtualInterfaceInput{}
   329  	}
   330  
   331  	output = &VirtualInterface{}
   332  	req = c.newRequest(op, input, output)
   333  	return
   334  }
   335  
   336  // AllocatePrivateVirtualInterface API operation for AWS Direct Connect.
   337  //
   338  // Provisions a private virtual interface to be owned by the specified account.
   339  //
   340  // Virtual interfaces created using this action must be confirmed by the owner
   341  // using ConfirmPrivateVirtualInterface. Until then, the virtual interface is
   342  // in the Confirming state and is not available to handle traffic.
   343  //
   344  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   345  // with awserr.Error's Code and Message methods to get detailed information about
   346  // the error.
   347  //
   348  // See the AWS API reference guide for AWS Direct Connect's
   349  // API operation AllocatePrivateVirtualInterface for usage and error information.
   350  //
   351  // Returned Error Types:
   352  //   * DuplicateTagKeysException
   353  //   A tag key was specified more than once.
   354  //
   355  //   * TooManyTagsException
   356  //   You have reached the limit on the number of tags that can be assigned.
   357  //
   358  //   * ServerException
   359  //   A server-side error occurred.
   360  //
   361  //   * ClientException
   362  //   One or more parameters are not valid.
   363  //
   364  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocatePrivateVirtualInterface
   365  func (c *DirectConnect) AllocatePrivateVirtualInterface(input *AllocatePrivateVirtualInterfaceInput) (*VirtualInterface, error) {
   366  	req, out := c.AllocatePrivateVirtualInterfaceRequest(input)
   367  	return out, req.Send()
   368  }
   369  
   370  // AllocatePrivateVirtualInterfaceWithContext is the same as AllocatePrivateVirtualInterface with the addition of
   371  // the ability to pass a context and additional request options.
   372  //
   373  // See AllocatePrivateVirtualInterface for details on how to use this API operation.
   374  //
   375  // The context must be non-nil and will be used for request cancellation. If
   376  // the context is nil a panic will occur. In the future the SDK may create
   377  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   378  // for more information on using Contexts.
   379  func (c *DirectConnect) AllocatePrivateVirtualInterfaceWithContext(ctx aws.Context, input *AllocatePrivateVirtualInterfaceInput, opts ...request.Option) (*VirtualInterface, error) {
   380  	req, out := c.AllocatePrivateVirtualInterfaceRequest(input)
   381  	req.SetContext(ctx)
   382  	req.ApplyOptions(opts...)
   383  	return out, req.Send()
   384  }
   385  
   386  const opAllocatePublicVirtualInterface = "AllocatePublicVirtualInterface"
   387  
   388  // AllocatePublicVirtualInterfaceRequest generates a "aws/request.Request" representing the
   389  // client's request for the AllocatePublicVirtualInterface operation. The "output" return
   390  // value will be populated with the request's response once the request completes
   391  // successfully.
   392  //
   393  // Use "Send" method on the returned Request to send the API call to the service.
   394  // the "output" return value is not valid until after Send returns without error.
   395  //
   396  // See AllocatePublicVirtualInterface for more information on using the AllocatePublicVirtualInterface
   397  // API call, and error handling.
   398  //
   399  // This method is useful when you want to inject custom logic or configuration
   400  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   401  //
   402  //
   403  //    // Example sending a request using the AllocatePublicVirtualInterfaceRequest method.
   404  //    req, resp := client.AllocatePublicVirtualInterfaceRequest(params)
   405  //
   406  //    err := req.Send()
   407  //    if err == nil { // resp is now filled
   408  //        fmt.Println(resp)
   409  //    }
   410  //
   411  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocatePublicVirtualInterface
   412  func (c *DirectConnect) AllocatePublicVirtualInterfaceRequest(input *AllocatePublicVirtualInterfaceInput) (req *request.Request, output *VirtualInterface) {
   413  	op := &request.Operation{
   414  		Name:       opAllocatePublicVirtualInterface,
   415  		HTTPMethod: "POST",
   416  		HTTPPath:   "/",
   417  	}
   418  
   419  	if input == nil {
   420  		input = &AllocatePublicVirtualInterfaceInput{}
   421  	}
   422  
   423  	output = &VirtualInterface{}
   424  	req = c.newRequest(op, input, output)
   425  	return
   426  }
   427  
   428  // AllocatePublicVirtualInterface API operation for AWS Direct Connect.
   429  //
   430  // Provisions a public virtual interface to be owned by the specified account.
   431  //
   432  // The owner of a connection calls this function to provision a public virtual
   433  // interface to be owned by the specified account.
   434  //
   435  // Virtual interfaces created using this function must be confirmed by the owner
   436  // using ConfirmPublicVirtualInterface. Until this step has been completed,
   437  // the virtual interface is in the confirming state and is not available to
   438  // handle traffic.
   439  //
   440  // When creating an IPv6 public virtual interface, omit the Amazon address and
   441  // customer address. IPv6 addresses are automatically assigned from the Amazon
   442  // pool of IPv6 addresses; you cannot specify custom IPv6 addresses.
   443  //
   444  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   445  // with awserr.Error's Code and Message methods to get detailed information about
   446  // the error.
   447  //
   448  // See the AWS API reference guide for AWS Direct Connect's
   449  // API operation AllocatePublicVirtualInterface for usage and error information.
   450  //
   451  // Returned Error Types:
   452  //   * DuplicateTagKeysException
   453  //   A tag key was specified more than once.
   454  //
   455  //   * TooManyTagsException
   456  //   You have reached the limit on the number of tags that can be assigned.
   457  //
   458  //   * ServerException
   459  //   A server-side error occurred.
   460  //
   461  //   * ClientException
   462  //   One or more parameters are not valid.
   463  //
   464  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocatePublicVirtualInterface
   465  func (c *DirectConnect) AllocatePublicVirtualInterface(input *AllocatePublicVirtualInterfaceInput) (*VirtualInterface, error) {
   466  	req, out := c.AllocatePublicVirtualInterfaceRequest(input)
   467  	return out, req.Send()
   468  }
   469  
   470  // AllocatePublicVirtualInterfaceWithContext is the same as AllocatePublicVirtualInterface with the addition of
   471  // the ability to pass a context and additional request options.
   472  //
   473  // See AllocatePublicVirtualInterface for details on how to use this API operation.
   474  //
   475  // The context must be non-nil and will be used for request cancellation. If
   476  // the context is nil a panic will occur. In the future the SDK may create
   477  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   478  // for more information on using Contexts.
   479  func (c *DirectConnect) AllocatePublicVirtualInterfaceWithContext(ctx aws.Context, input *AllocatePublicVirtualInterfaceInput, opts ...request.Option) (*VirtualInterface, error) {
   480  	req, out := c.AllocatePublicVirtualInterfaceRequest(input)
   481  	req.SetContext(ctx)
   482  	req.ApplyOptions(opts...)
   483  	return out, req.Send()
   484  }
   485  
   486  const opAllocateTransitVirtualInterface = "AllocateTransitVirtualInterface"
   487  
   488  // AllocateTransitVirtualInterfaceRequest generates a "aws/request.Request" representing the
   489  // client's request for the AllocateTransitVirtualInterface operation. The "output" return
   490  // value will be populated with the request's response once the request completes
   491  // successfully.
   492  //
   493  // Use "Send" method on the returned Request to send the API call to the service.
   494  // the "output" return value is not valid until after Send returns without error.
   495  //
   496  // See AllocateTransitVirtualInterface for more information on using the AllocateTransitVirtualInterface
   497  // API call, and error handling.
   498  //
   499  // This method is useful when you want to inject custom logic or configuration
   500  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   501  //
   502  //
   503  //    // Example sending a request using the AllocateTransitVirtualInterfaceRequest method.
   504  //    req, resp := client.AllocateTransitVirtualInterfaceRequest(params)
   505  //
   506  //    err := req.Send()
   507  //    if err == nil { // resp is now filled
   508  //        fmt.Println(resp)
   509  //    }
   510  //
   511  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocateTransitVirtualInterface
   512  func (c *DirectConnect) AllocateTransitVirtualInterfaceRequest(input *AllocateTransitVirtualInterfaceInput) (req *request.Request, output *AllocateTransitVirtualInterfaceOutput) {
   513  	op := &request.Operation{
   514  		Name:       opAllocateTransitVirtualInterface,
   515  		HTTPMethod: "POST",
   516  		HTTPPath:   "/",
   517  	}
   518  
   519  	if input == nil {
   520  		input = &AllocateTransitVirtualInterfaceInput{}
   521  	}
   522  
   523  	output = &AllocateTransitVirtualInterfaceOutput{}
   524  	req = c.newRequest(op, input, output)
   525  	return
   526  }
   527  
   528  // AllocateTransitVirtualInterface API operation for AWS Direct Connect.
   529  //
   530  // Provisions a transit virtual interface to be owned by the specified account.
   531  // Use this type of interface to connect a transit gateway to your Direct Connect
   532  // gateway.
   533  //
   534  // The owner of a connection provisions a transit virtual interface to be owned
   535  // by the specified account.
   536  //
   537  // After you create a transit virtual interface, it must be confirmed by the
   538  // owner using ConfirmTransitVirtualInterface. Until this step has been completed,
   539  // the transit virtual interface is in the requested state and is not available
   540  // to handle traffic.
   541  //
   542  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   543  // with awserr.Error's Code and Message methods to get detailed information about
   544  // the error.
   545  //
   546  // See the AWS API reference guide for AWS Direct Connect's
   547  // API operation AllocateTransitVirtualInterface for usage and error information.
   548  //
   549  // Returned Error Types:
   550  //   * DuplicateTagKeysException
   551  //   A tag key was specified more than once.
   552  //
   553  //   * TooManyTagsException
   554  //   You have reached the limit on the number of tags that can be assigned.
   555  //
   556  //   * ServerException
   557  //   A server-side error occurred.
   558  //
   559  //   * ClientException
   560  //   One or more parameters are not valid.
   561  //
   562  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocateTransitVirtualInterface
   563  func (c *DirectConnect) AllocateTransitVirtualInterface(input *AllocateTransitVirtualInterfaceInput) (*AllocateTransitVirtualInterfaceOutput, error) {
   564  	req, out := c.AllocateTransitVirtualInterfaceRequest(input)
   565  	return out, req.Send()
   566  }
   567  
   568  // AllocateTransitVirtualInterfaceWithContext is the same as AllocateTransitVirtualInterface with the addition of
   569  // the ability to pass a context and additional request options.
   570  //
   571  // See AllocateTransitVirtualInterface for details on how to use this API operation.
   572  //
   573  // The context must be non-nil and will be used for request cancellation. If
   574  // the context is nil a panic will occur. In the future the SDK may create
   575  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   576  // for more information on using Contexts.
   577  func (c *DirectConnect) AllocateTransitVirtualInterfaceWithContext(ctx aws.Context, input *AllocateTransitVirtualInterfaceInput, opts ...request.Option) (*AllocateTransitVirtualInterfaceOutput, error) {
   578  	req, out := c.AllocateTransitVirtualInterfaceRequest(input)
   579  	req.SetContext(ctx)
   580  	req.ApplyOptions(opts...)
   581  	return out, req.Send()
   582  }
   583  
   584  const opAssociateConnectionWithLag = "AssociateConnectionWithLag"
   585  
   586  // AssociateConnectionWithLagRequest generates a "aws/request.Request" representing the
   587  // client's request for the AssociateConnectionWithLag operation. The "output" return
   588  // value will be populated with the request's response once the request completes
   589  // successfully.
   590  //
   591  // Use "Send" method on the returned Request to send the API call to the service.
   592  // the "output" return value is not valid until after Send returns without error.
   593  //
   594  // See AssociateConnectionWithLag for more information on using the AssociateConnectionWithLag
   595  // API call, and error handling.
   596  //
   597  // This method is useful when you want to inject custom logic or configuration
   598  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   599  //
   600  //
   601  //    // Example sending a request using the AssociateConnectionWithLagRequest method.
   602  //    req, resp := client.AssociateConnectionWithLagRequest(params)
   603  //
   604  //    err := req.Send()
   605  //    if err == nil { // resp is now filled
   606  //        fmt.Println(resp)
   607  //    }
   608  //
   609  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AssociateConnectionWithLag
   610  func (c *DirectConnect) AssociateConnectionWithLagRequest(input *AssociateConnectionWithLagInput) (req *request.Request, output *Connection) {
   611  	op := &request.Operation{
   612  		Name:       opAssociateConnectionWithLag,
   613  		HTTPMethod: "POST",
   614  		HTTPPath:   "/",
   615  	}
   616  
   617  	if input == nil {
   618  		input = &AssociateConnectionWithLagInput{}
   619  	}
   620  
   621  	output = &Connection{}
   622  	req = c.newRequest(op, input, output)
   623  	return
   624  }
   625  
   626  // AssociateConnectionWithLag API operation for AWS Direct Connect.
   627  //
   628  // Associates an existing connection with a link aggregation group (LAG). The
   629  // connection is interrupted and re-established as a member of the LAG (connectivity
   630  // to Amazon Web Services is interrupted). The connection must be hosted on
   631  // the same Direct Connect endpoint as the LAG, and its bandwidth must match
   632  // the bandwidth for the LAG. You can re-associate a connection that's currently
   633  // associated with a different LAG; however, if removing the connection would
   634  // cause the original LAG to fall below its setting for minimum number of operational
   635  // connections, the request fails.
   636  //
   637  // Any virtual interfaces that are directly associated with the connection are
   638  // automatically re-associated with the LAG. If the connection was originally
   639  // associated with a different LAG, the virtual interfaces remain associated
   640  // with the original LAG.
   641  //
   642  // For interconnects, any hosted connections are automatically re-associated
   643  // with the LAG. If the interconnect was originally associated with a different
   644  // LAG, the hosted connections remain associated with the original LAG.
   645  //
   646  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   647  // with awserr.Error's Code and Message methods to get detailed information about
   648  // the error.
   649  //
   650  // See the AWS API reference guide for AWS Direct Connect's
   651  // API operation AssociateConnectionWithLag for usage and error information.
   652  //
   653  // Returned Error Types:
   654  //   * ServerException
   655  //   A server-side error occurred.
   656  //
   657  //   * ClientException
   658  //   One or more parameters are not valid.
   659  //
   660  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AssociateConnectionWithLag
   661  func (c *DirectConnect) AssociateConnectionWithLag(input *AssociateConnectionWithLagInput) (*Connection, error) {
   662  	req, out := c.AssociateConnectionWithLagRequest(input)
   663  	return out, req.Send()
   664  }
   665  
   666  // AssociateConnectionWithLagWithContext is the same as AssociateConnectionWithLag with the addition of
   667  // the ability to pass a context and additional request options.
   668  //
   669  // See AssociateConnectionWithLag for details on how to use this API operation.
   670  //
   671  // The context must be non-nil and will be used for request cancellation. If
   672  // the context is nil a panic will occur. In the future the SDK may create
   673  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   674  // for more information on using Contexts.
   675  func (c *DirectConnect) AssociateConnectionWithLagWithContext(ctx aws.Context, input *AssociateConnectionWithLagInput, opts ...request.Option) (*Connection, error) {
   676  	req, out := c.AssociateConnectionWithLagRequest(input)
   677  	req.SetContext(ctx)
   678  	req.ApplyOptions(opts...)
   679  	return out, req.Send()
   680  }
   681  
   682  const opAssociateHostedConnection = "AssociateHostedConnection"
   683  
   684  // AssociateHostedConnectionRequest generates a "aws/request.Request" representing the
   685  // client's request for the AssociateHostedConnection operation. The "output" return
   686  // value will be populated with the request's response once the request completes
   687  // successfully.
   688  //
   689  // Use "Send" method on the returned Request to send the API call to the service.
   690  // the "output" return value is not valid until after Send returns without error.
   691  //
   692  // See AssociateHostedConnection for more information on using the AssociateHostedConnection
   693  // API call, and error handling.
   694  //
   695  // This method is useful when you want to inject custom logic or configuration
   696  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   697  //
   698  //
   699  //    // Example sending a request using the AssociateHostedConnectionRequest method.
   700  //    req, resp := client.AssociateHostedConnectionRequest(params)
   701  //
   702  //    err := req.Send()
   703  //    if err == nil { // resp is now filled
   704  //        fmt.Println(resp)
   705  //    }
   706  //
   707  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AssociateHostedConnection
   708  func (c *DirectConnect) AssociateHostedConnectionRequest(input *AssociateHostedConnectionInput) (req *request.Request, output *Connection) {
   709  	op := &request.Operation{
   710  		Name:       opAssociateHostedConnection,
   711  		HTTPMethod: "POST",
   712  		HTTPPath:   "/",
   713  	}
   714  
   715  	if input == nil {
   716  		input = &AssociateHostedConnectionInput{}
   717  	}
   718  
   719  	output = &Connection{}
   720  	req = c.newRequest(op, input, output)
   721  	return
   722  }
   723  
   724  // AssociateHostedConnection API operation for AWS Direct Connect.
   725  //
   726  // Associates a hosted connection and its virtual interfaces with a link aggregation
   727  // group (LAG) or interconnect. If the target interconnect or LAG has an existing
   728  // hosted connection with a conflicting VLAN number or IP address, the operation
   729  // fails. This action temporarily interrupts the hosted connection's connectivity
   730  // to Amazon Web Services as it is being migrated.
   731  //
   732  // Intended for use by Direct Connect Partners only.
   733  //
   734  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   735  // with awserr.Error's Code and Message methods to get detailed information about
   736  // the error.
   737  //
   738  // See the AWS API reference guide for AWS Direct Connect's
   739  // API operation AssociateHostedConnection for usage and error information.
   740  //
   741  // Returned Error Types:
   742  //   * ServerException
   743  //   A server-side error occurred.
   744  //
   745  //   * ClientException
   746  //   One or more parameters are not valid.
   747  //
   748  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AssociateHostedConnection
   749  func (c *DirectConnect) AssociateHostedConnection(input *AssociateHostedConnectionInput) (*Connection, error) {
   750  	req, out := c.AssociateHostedConnectionRequest(input)
   751  	return out, req.Send()
   752  }
   753  
   754  // AssociateHostedConnectionWithContext is the same as AssociateHostedConnection with the addition of
   755  // the ability to pass a context and additional request options.
   756  //
   757  // See AssociateHostedConnection for details on how to use this API operation.
   758  //
   759  // The context must be non-nil and will be used for request cancellation. If
   760  // the context is nil a panic will occur. In the future the SDK may create
   761  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   762  // for more information on using Contexts.
   763  func (c *DirectConnect) AssociateHostedConnectionWithContext(ctx aws.Context, input *AssociateHostedConnectionInput, opts ...request.Option) (*Connection, error) {
   764  	req, out := c.AssociateHostedConnectionRequest(input)
   765  	req.SetContext(ctx)
   766  	req.ApplyOptions(opts...)
   767  	return out, req.Send()
   768  }
   769  
   770  const opAssociateMacSecKey = "AssociateMacSecKey"
   771  
   772  // AssociateMacSecKeyRequest generates a "aws/request.Request" representing the
   773  // client's request for the AssociateMacSecKey operation. The "output" return
   774  // value will be populated with the request's response once the request completes
   775  // successfully.
   776  //
   777  // Use "Send" method on the returned Request to send the API call to the service.
   778  // the "output" return value is not valid until after Send returns without error.
   779  //
   780  // See AssociateMacSecKey for more information on using the AssociateMacSecKey
   781  // API call, and error handling.
   782  //
   783  // This method is useful when you want to inject custom logic or configuration
   784  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   785  //
   786  //
   787  //    // Example sending a request using the AssociateMacSecKeyRequest method.
   788  //    req, resp := client.AssociateMacSecKeyRequest(params)
   789  //
   790  //    err := req.Send()
   791  //    if err == nil { // resp is now filled
   792  //        fmt.Println(resp)
   793  //    }
   794  //
   795  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AssociateMacSecKey
   796  func (c *DirectConnect) AssociateMacSecKeyRequest(input *AssociateMacSecKeyInput) (req *request.Request, output *AssociateMacSecKeyOutput) {
   797  	op := &request.Operation{
   798  		Name:       opAssociateMacSecKey,
   799  		HTTPMethod: "POST",
   800  		HTTPPath:   "/",
   801  	}
   802  
   803  	if input == nil {
   804  		input = &AssociateMacSecKeyInput{}
   805  	}
   806  
   807  	output = &AssociateMacSecKeyOutput{}
   808  	req = c.newRequest(op, input, output)
   809  	return
   810  }
   811  
   812  // AssociateMacSecKey API operation for AWS Direct Connect.
   813  //
   814  // Associates a MAC Security (MACsec) Connection Key Name (CKN)/ Connectivity
   815  // Association Key (CAK) pair with an Direct Connect dedicated connection.
   816  //
   817  // You must supply either the secretARN, or the CKN/CAK (ckn and cak) pair in
   818  // the request.
   819  //
   820  // For information about MAC Security (MACsec) key considerations, see MACsec
   821  // pre-shared CKN/CAK key considerations (https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-key-consideration)
   822  // in the Direct Connect User Guide.
   823  //
   824  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   825  // with awserr.Error's Code and Message methods to get detailed information about
   826  // the error.
   827  //
   828  // See the AWS API reference guide for AWS Direct Connect's
   829  // API operation AssociateMacSecKey for usage and error information.
   830  //
   831  // Returned Error Types:
   832  //   * ServerException
   833  //   A server-side error occurred.
   834  //
   835  //   * ClientException
   836  //   One or more parameters are not valid.
   837  //
   838  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AssociateMacSecKey
   839  func (c *DirectConnect) AssociateMacSecKey(input *AssociateMacSecKeyInput) (*AssociateMacSecKeyOutput, error) {
   840  	req, out := c.AssociateMacSecKeyRequest(input)
   841  	return out, req.Send()
   842  }
   843  
   844  // AssociateMacSecKeyWithContext is the same as AssociateMacSecKey with the addition of
   845  // the ability to pass a context and additional request options.
   846  //
   847  // See AssociateMacSecKey for details on how to use this API operation.
   848  //
   849  // The context must be non-nil and will be used for request cancellation. If
   850  // the context is nil a panic will occur. In the future the SDK may create
   851  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   852  // for more information on using Contexts.
   853  func (c *DirectConnect) AssociateMacSecKeyWithContext(ctx aws.Context, input *AssociateMacSecKeyInput, opts ...request.Option) (*AssociateMacSecKeyOutput, error) {
   854  	req, out := c.AssociateMacSecKeyRequest(input)
   855  	req.SetContext(ctx)
   856  	req.ApplyOptions(opts...)
   857  	return out, req.Send()
   858  }
   859  
   860  const opAssociateVirtualInterface = "AssociateVirtualInterface"
   861  
   862  // AssociateVirtualInterfaceRequest generates a "aws/request.Request" representing the
   863  // client's request for the AssociateVirtualInterface operation. The "output" return
   864  // value will be populated with the request's response once the request completes
   865  // successfully.
   866  //
   867  // Use "Send" method on the returned Request to send the API call to the service.
   868  // the "output" return value is not valid until after Send returns without error.
   869  //
   870  // See AssociateVirtualInterface for more information on using the AssociateVirtualInterface
   871  // API call, and error handling.
   872  //
   873  // This method is useful when you want to inject custom logic or configuration
   874  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   875  //
   876  //
   877  //    // Example sending a request using the AssociateVirtualInterfaceRequest method.
   878  //    req, resp := client.AssociateVirtualInterfaceRequest(params)
   879  //
   880  //    err := req.Send()
   881  //    if err == nil { // resp is now filled
   882  //        fmt.Println(resp)
   883  //    }
   884  //
   885  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AssociateVirtualInterface
   886  func (c *DirectConnect) AssociateVirtualInterfaceRequest(input *AssociateVirtualInterfaceInput) (req *request.Request, output *VirtualInterface) {
   887  	op := &request.Operation{
   888  		Name:       opAssociateVirtualInterface,
   889  		HTTPMethod: "POST",
   890  		HTTPPath:   "/",
   891  	}
   892  
   893  	if input == nil {
   894  		input = &AssociateVirtualInterfaceInput{}
   895  	}
   896  
   897  	output = &VirtualInterface{}
   898  	req = c.newRequest(op, input, output)
   899  	return
   900  }
   901  
   902  // AssociateVirtualInterface API operation for AWS Direct Connect.
   903  //
   904  // Associates a virtual interface with a specified link aggregation group (LAG)
   905  // or connection. Connectivity to Amazon Web Services is temporarily interrupted
   906  // as the virtual interface is being migrated. If the target connection or LAG
   907  // has an associated virtual interface with a conflicting VLAN number or a conflicting
   908  // IP address, the operation fails.
   909  //
   910  // Virtual interfaces associated with a hosted connection cannot be associated
   911  // with a LAG; hosted connections must be migrated along with their virtual
   912  // interfaces using AssociateHostedConnection.
   913  //
   914  // To reassociate a virtual interface to a new connection or LAG, the requester
   915  // must own either the virtual interface itself or the connection to which the
   916  // virtual interface is currently associated. Additionally, the requester must
   917  // own the connection or LAG for the association.
   918  //
   919  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   920  // with awserr.Error's Code and Message methods to get detailed information about
   921  // the error.
   922  //
   923  // See the AWS API reference guide for AWS Direct Connect's
   924  // API operation AssociateVirtualInterface for usage and error information.
   925  //
   926  // Returned Error Types:
   927  //   * ServerException
   928  //   A server-side error occurred.
   929  //
   930  //   * ClientException
   931  //   One or more parameters are not valid.
   932  //
   933  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AssociateVirtualInterface
   934  func (c *DirectConnect) AssociateVirtualInterface(input *AssociateVirtualInterfaceInput) (*VirtualInterface, error) {
   935  	req, out := c.AssociateVirtualInterfaceRequest(input)
   936  	return out, req.Send()
   937  }
   938  
   939  // AssociateVirtualInterfaceWithContext is the same as AssociateVirtualInterface with the addition of
   940  // the ability to pass a context and additional request options.
   941  //
   942  // See AssociateVirtualInterface for details on how to use this API operation.
   943  //
   944  // The context must be non-nil and will be used for request cancellation. If
   945  // the context is nil a panic will occur. In the future the SDK may create
   946  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   947  // for more information on using Contexts.
   948  func (c *DirectConnect) AssociateVirtualInterfaceWithContext(ctx aws.Context, input *AssociateVirtualInterfaceInput, opts ...request.Option) (*VirtualInterface, error) {
   949  	req, out := c.AssociateVirtualInterfaceRequest(input)
   950  	req.SetContext(ctx)
   951  	req.ApplyOptions(opts...)
   952  	return out, req.Send()
   953  }
   954  
   955  const opConfirmConnection = "ConfirmConnection"
   956  
   957  // ConfirmConnectionRequest generates a "aws/request.Request" representing the
   958  // client's request for the ConfirmConnection 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 ConfirmConnection for more information on using the ConfirmConnection
   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 ConfirmConnectionRequest method.
   973  //    req, resp := client.ConfirmConnectionRequest(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/directconnect-2012-10-25/ConfirmConnection
   981  func (c *DirectConnect) ConfirmConnectionRequest(input *ConfirmConnectionInput) (req *request.Request, output *ConfirmConnectionOutput) {
   982  	op := &request.Operation{
   983  		Name:       opConfirmConnection,
   984  		HTTPMethod: "POST",
   985  		HTTPPath:   "/",
   986  	}
   987  
   988  	if input == nil {
   989  		input = &ConfirmConnectionInput{}
   990  	}
   991  
   992  	output = &ConfirmConnectionOutput{}
   993  	req = c.newRequest(op, input, output)
   994  	return
   995  }
   996  
   997  // ConfirmConnection API operation for AWS Direct Connect.
   998  //
   999  // Confirms the creation of the specified hosted connection on an interconnect.
  1000  //
  1001  // Upon creation, the hosted connection is initially in the Ordering state,
  1002  // and remains in this state until the owner confirms creation of the hosted
  1003  // connection.
  1004  //
  1005  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1006  // with awserr.Error's Code and Message methods to get detailed information about
  1007  // the error.
  1008  //
  1009  // See the AWS API reference guide for AWS Direct Connect's
  1010  // API operation ConfirmConnection for usage and error information.
  1011  //
  1012  // Returned Error Types:
  1013  //   * ServerException
  1014  //   A server-side error occurred.
  1015  //
  1016  //   * ClientException
  1017  //   One or more parameters are not valid.
  1018  //
  1019  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ConfirmConnection
  1020  func (c *DirectConnect) ConfirmConnection(input *ConfirmConnectionInput) (*ConfirmConnectionOutput, error) {
  1021  	req, out := c.ConfirmConnectionRequest(input)
  1022  	return out, req.Send()
  1023  }
  1024  
  1025  // ConfirmConnectionWithContext is the same as ConfirmConnection with the addition of
  1026  // the ability to pass a context and additional request options.
  1027  //
  1028  // See ConfirmConnection for details on how to use this API operation.
  1029  //
  1030  // The context must be non-nil and will be used for request cancellation. If
  1031  // the context is nil a panic will occur. In the future the SDK may create
  1032  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1033  // for more information on using Contexts.
  1034  func (c *DirectConnect) ConfirmConnectionWithContext(ctx aws.Context, input *ConfirmConnectionInput, opts ...request.Option) (*ConfirmConnectionOutput, error) {
  1035  	req, out := c.ConfirmConnectionRequest(input)
  1036  	req.SetContext(ctx)
  1037  	req.ApplyOptions(opts...)
  1038  	return out, req.Send()
  1039  }
  1040  
  1041  const opConfirmPrivateVirtualInterface = "ConfirmPrivateVirtualInterface"
  1042  
  1043  // ConfirmPrivateVirtualInterfaceRequest generates a "aws/request.Request" representing the
  1044  // client's request for the ConfirmPrivateVirtualInterface operation. The "output" return
  1045  // value will be populated with the request's response once the request completes
  1046  // successfully.
  1047  //
  1048  // Use "Send" method on the returned Request to send the API call to the service.
  1049  // the "output" return value is not valid until after Send returns without error.
  1050  //
  1051  // See ConfirmPrivateVirtualInterface for more information on using the ConfirmPrivateVirtualInterface
  1052  // API call, and error handling.
  1053  //
  1054  // This method is useful when you want to inject custom logic or configuration
  1055  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1056  //
  1057  //
  1058  //    // Example sending a request using the ConfirmPrivateVirtualInterfaceRequest method.
  1059  //    req, resp := client.ConfirmPrivateVirtualInterfaceRequest(params)
  1060  //
  1061  //    err := req.Send()
  1062  //    if err == nil { // resp is now filled
  1063  //        fmt.Println(resp)
  1064  //    }
  1065  //
  1066  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ConfirmPrivateVirtualInterface
  1067  func (c *DirectConnect) ConfirmPrivateVirtualInterfaceRequest(input *ConfirmPrivateVirtualInterfaceInput) (req *request.Request, output *ConfirmPrivateVirtualInterfaceOutput) {
  1068  	op := &request.Operation{
  1069  		Name:       opConfirmPrivateVirtualInterface,
  1070  		HTTPMethod: "POST",
  1071  		HTTPPath:   "/",
  1072  	}
  1073  
  1074  	if input == nil {
  1075  		input = &ConfirmPrivateVirtualInterfaceInput{}
  1076  	}
  1077  
  1078  	output = &ConfirmPrivateVirtualInterfaceOutput{}
  1079  	req = c.newRequest(op, input, output)
  1080  	return
  1081  }
  1082  
  1083  // ConfirmPrivateVirtualInterface API operation for AWS Direct Connect.
  1084  //
  1085  // Accepts ownership of a private virtual interface created by another account.
  1086  //
  1087  // After the virtual interface owner makes this call, the virtual interface
  1088  // is created and attached to the specified virtual private gateway or Direct
  1089  // Connect gateway, and is made available to handle traffic.
  1090  //
  1091  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1092  // with awserr.Error's Code and Message methods to get detailed information about
  1093  // the error.
  1094  //
  1095  // See the AWS API reference guide for AWS Direct Connect's
  1096  // API operation ConfirmPrivateVirtualInterface for usage and error information.
  1097  //
  1098  // Returned Error Types:
  1099  //   * ServerException
  1100  //   A server-side error occurred.
  1101  //
  1102  //   * ClientException
  1103  //   One or more parameters are not valid.
  1104  //
  1105  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ConfirmPrivateVirtualInterface
  1106  func (c *DirectConnect) ConfirmPrivateVirtualInterface(input *ConfirmPrivateVirtualInterfaceInput) (*ConfirmPrivateVirtualInterfaceOutput, error) {
  1107  	req, out := c.ConfirmPrivateVirtualInterfaceRequest(input)
  1108  	return out, req.Send()
  1109  }
  1110  
  1111  // ConfirmPrivateVirtualInterfaceWithContext is the same as ConfirmPrivateVirtualInterface with the addition of
  1112  // the ability to pass a context and additional request options.
  1113  //
  1114  // See ConfirmPrivateVirtualInterface for details on how to use this API operation.
  1115  //
  1116  // The context must be non-nil and will be used for request cancellation. If
  1117  // the context is nil a panic will occur. In the future the SDK may create
  1118  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1119  // for more information on using Contexts.
  1120  func (c *DirectConnect) ConfirmPrivateVirtualInterfaceWithContext(ctx aws.Context, input *ConfirmPrivateVirtualInterfaceInput, opts ...request.Option) (*ConfirmPrivateVirtualInterfaceOutput, error) {
  1121  	req, out := c.ConfirmPrivateVirtualInterfaceRequest(input)
  1122  	req.SetContext(ctx)
  1123  	req.ApplyOptions(opts...)
  1124  	return out, req.Send()
  1125  }
  1126  
  1127  const opConfirmPublicVirtualInterface = "ConfirmPublicVirtualInterface"
  1128  
  1129  // ConfirmPublicVirtualInterfaceRequest generates a "aws/request.Request" representing the
  1130  // client's request for the ConfirmPublicVirtualInterface operation. The "output" return
  1131  // value will be populated with the request's response once the request completes
  1132  // successfully.
  1133  //
  1134  // Use "Send" method on the returned Request to send the API call to the service.
  1135  // the "output" return value is not valid until after Send returns without error.
  1136  //
  1137  // See ConfirmPublicVirtualInterface for more information on using the ConfirmPublicVirtualInterface
  1138  // API call, and error handling.
  1139  //
  1140  // This method is useful when you want to inject custom logic or configuration
  1141  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1142  //
  1143  //
  1144  //    // Example sending a request using the ConfirmPublicVirtualInterfaceRequest method.
  1145  //    req, resp := client.ConfirmPublicVirtualInterfaceRequest(params)
  1146  //
  1147  //    err := req.Send()
  1148  //    if err == nil { // resp is now filled
  1149  //        fmt.Println(resp)
  1150  //    }
  1151  //
  1152  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ConfirmPublicVirtualInterface
  1153  func (c *DirectConnect) ConfirmPublicVirtualInterfaceRequest(input *ConfirmPublicVirtualInterfaceInput) (req *request.Request, output *ConfirmPublicVirtualInterfaceOutput) {
  1154  	op := &request.Operation{
  1155  		Name:       opConfirmPublicVirtualInterface,
  1156  		HTTPMethod: "POST",
  1157  		HTTPPath:   "/",
  1158  	}
  1159  
  1160  	if input == nil {
  1161  		input = &ConfirmPublicVirtualInterfaceInput{}
  1162  	}
  1163  
  1164  	output = &ConfirmPublicVirtualInterfaceOutput{}
  1165  	req = c.newRequest(op, input, output)
  1166  	return
  1167  }
  1168  
  1169  // ConfirmPublicVirtualInterface API operation for AWS Direct Connect.
  1170  //
  1171  // Accepts ownership of a public virtual interface created by another account.
  1172  //
  1173  // After the virtual interface owner makes this call, the specified virtual
  1174  // interface is created and made available to handle traffic.
  1175  //
  1176  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1177  // with awserr.Error's Code and Message methods to get detailed information about
  1178  // the error.
  1179  //
  1180  // See the AWS API reference guide for AWS Direct Connect's
  1181  // API operation ConfirmPublicVirtualInterface for usage and error information.
  1182  //
  1183  // Returned Error Types:
  1184  //   * ServerException
  1185  //   A server-side error occurred.
  1186  //
  1187  //   * ClientException
  1188  //   One or more parameters are not valid.
  1189  //
  1190  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ConfirmPublicVirtualInterface
  1191  func (c *DirectConnect) ConfirmPublicVirtualInterface(input *ConfirmPublicVirtualInterfaceInput) (*ConfirmPublicVirtualInterfaceOutput, error) {
  1192  	req, out := c.ConfirmPublicVirtualInterfaceRequest(input)
  1193  	return out, req.Send()
  1194  }
  1195  
  1196  // ConfirmPublicVirtualInterfaceWithContext is the same as ConfirmPublicVirtualInterface with the addition of
  1197  // the ability to pass a context and additional request options.
  1198  //
  1199  // See ConfirmPublicVirtualInterface for details on how to use this API operation.
  1200  //
  1201  // The context must be non-nil and will be used for request cancellation. If
  1202  // the context is nil a panic will occur. In the future the SDK may create
  1203  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1204  // for more information on using Contexts.
  1205  func (c *DirectConnect) ConfirmPublicVirtualInterfaceWithContext(ctx aws.Context, input *ConfirmPublicVirtualInterfaceInput, opts ...request.Option) (*ConfirmPublicVirtualInterfaceOutput, error) {
  1206  	req, out := c.ConfirmPublicVirtualInterfaceRequest(input)
  1207  	req.SetContext(ctx)
  1208  	req.ApplyOptions(opts...)
  1209  	return out, req.Send()
  1210  }
  1211  
  1212  const opConfirmTransitVirtualInterface = "ConfirmTransitVirtualInterface"
  1213  
  1214  // ConfirmTransitVirtualInterfaceRequest generates a "aws/request.Request" representing the
  1215  // client's request for the ConfirmTransitVirtualInterface operation. The "output" return
  1216  // value will be populated with the request's response once the request completes
  1217  // successfully.
  1218  //
  1219  // Use "Send" method on the returned Request to send the API call to the service.
  1220  // the "output" return value is not valid until after Send returns without error.
  1221  //
  1222  // See ConfirmTransitVirtualInterface for more information on using the ConfirmTransitVirtualInterface
  1223  // API call, and error handling.
  1224  //
  1225  // This method is useful when you want to inject custom logic or configuration
  1226  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1227  //
  1228  //
  1229  //    // Example sending a request using the ConfirmTransitVirtualInterfaceRequest method.
  1230  //    req, resp := client.ConfirmTransitVirtualInterfaceRequest(params)
  1231  //
  1232  //    err := req.Send()
  1233  //    if err == nil { // resp is now filled
  1234  //        fmt.Println(resp)
  1235  //    }
  1236  //
  1237  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ConfirmTransitVirtualInterface
  1238  func (c *DirectConnect) ConfirmTransitVirtualInterfaceRequest(input *ConfirmTransitVirtualInterfaceInput) (req *request.Request, output *ConfirmTransitVirtualInterfaceOutput) {
  1239  	op := &request.Operation{
  1240  		Name:       opConfirmTransitVirtualInterface,
  1241  		HTTPMethod: "POST",
  1242  		HTTPPath:   "/",
  1243  	}
  1244  
  1245  	if input == nil {
  1246  		input = &ConfirmTransitVirtualInterfaceInput{}
  1247  	}
  1248  
  1249  	output = &ConfirmTransitVirtualInterfaceOutput{}
  1250  	req = c.newRequest(op, input, output)
  1251  	return
  1252  }
  1253  
  1254  // ConfirmTransitVirtualInterface API operation for AWS Direct Connect.
  1255  //
  1256  // Accepts ownership of a transit virtual interface created by another account.
  1257  //
  1258  // After the owner of the transit virtual interface makes this call, the specified
  1259  // transit virtual interface is created and made available to handle traffic.
  1260  //
  1261  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1262  // with awserr.Error's Code and Message methods to get detailed information about
  1263  // the error.
  1264  //
  1265  // See the AWS API reference guide for AWS Direct Connect's
  1266  // API operation ConfirmTransitVirtualInterface for usage and error information.
  1267  //
  1268  // Returned Error Types:
  1269  //   * ServerException
  1270  //   A server-side error occurred.
  1271  //
  1272  //   * ClientException
  1273  //   One or more parameters are not valid.
  1274  //
  1275  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ConfirmTransitVirtualInterface
  1276  func (c *DirectConnect) ConfirmTransitVirtualInterface(input *ConfirmTransitVirtualInterfaceInput) (*ConfirmTransitVirtualInterfaceOutput, error) {
  1277  	req, out := c.ConfirmTransitVirtualInterfaceRequest(input)
  1278  	return out, req.Send()
  1279  }
  1280  
  1281  // ConfirmTransitVirtualInterfaceWithContext is the same as ConfirmTransitVirtualInterface with the addition of
  1282  // the ability to pass a context and additional request options.
  1283  //
  1284  // See ConfirmTransitVirtualInterface for details on how to use this API operation.
  1285  //
  1286  // The context must be non-nil and will be used for request cancellation. If
  1287  // the context is nil a panic will occur. In the future the SDK may create
  1288  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1289  // for more information on using Contexts.
  1290  func (c *DirectConnect) ConfirmTransitVirtualInterfaceWithContext(ctx aws.Context, input *ConfirmTransitVirtualInterfaceInput, opts ...request.Option) (*ConfirmTransitVirtualInterfaceOutput, error) {
  1291  	req, out := c.ConfirmTransitVirtualInterfaceRequest(input)
  1292  	req.SetContext(ctx)
  1293  	req.ApplyOptions(opts...)
  1294  	return out, req.Send()
  1295  }
  1296  
  1297  const opCreateBGPPeer = "CreateBGPPeer"
  1298  
  1299  // CreateBGPPeerRequest generates a "aws/request.Request" representing the
  1300  // client's request for the CreateBGPPeer operation. The "output" return
  1301  // value will be populated with the request's response once the request completes
  1302  // successfully.
  1303  //
  1304  // Use "Send" method on the returned Request to send the API call to the service.
  1305  // the "output" return value is not valid until after Send returns without error.
  1306  //
  1307  // See CreateBGPPeer for more information on using the CreateBGPPeer
  1308  // API call, and error handling.
  1309  //
  1310  // This method is useful when you want to inject custom logic or configuration
  1311  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1312  //
  1313  //
  1314  //    // Example sending a request using the CreateBGPPeerRequest method.
  1315  //    req, resp := client.CreateBGPPeerRequest(params)
  1316  //
  1317  //    err := req.Send()
  1318  //    if err == nil { // resp is now filled
  1319  //        fmt.Println(resp)
  1320  //    }
  1321  //
  1322  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateBGPPeer
  1323  func (c *DirectConnect) CreateBGPPeerRequest(input *CreateBGPPeerInput) (req *request.Request, output *CreateBGPPeerOutput) {
  1324  	op := &request.Operation{
  1325  		Name:       opCreateBGPPeer,
  1326  		HTTPMethod: "POST",
  1327  		HTTPPath:   "/",
  1328  	}
  1329  
  1330  	if input == nil {
  1331  		input = &CreateBGPPeerInput{}
  1332  	}
  1333  
  1334  	output = &CreateBGPPeerOutput{}
  1335  	req = c.newRequest(op, input, output)
  1336  	return
  1337  }
  1338  
  1339  // CreateBGPPeer API operation for AWS Direct Connect.
  1340  //
  1341  // Creates a BGP peer on the specified virtual interface.
  1342  //
  1343  // You must create a BGP peer for the corresponding address family (IPv4/IPv6)
  1344  // in order to access Amazon Web Services resources that also use that address
  1345  // family.
  1346  //
  1347  // If logical redundancy is not supported by the connection, interconnect, or
  1348  // LAG, the BGP peer cannot be in the same address family as an existing BGP
  1349  // peer on the virtual interface.
  1350  //
  1351  // When creating a IPv6 BGP peer, omit the Amazon address and customer address.
  1352  // IPv6 addresses are automatically assigned from the Amazon pool of IPv6 addresses;
  1353  // you cannot specify custom IPv6 addresses.
  1354  //
  1355  // For a public virtual interface, the Autonomous System Number (ASN) must be
  1356  // private or already on the allow list for the virtual interface.
  1357  //
  1358  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1359  // with awserr.Error's Code and Message methods to get detailed information about
  1360  // the error.
  1361  //
  1362  // See the AWS API reference guide for AWS Direct Connect's
  1363  // API operation CreateBGPPeer for usage and error information.
  1364  //
  1365  // Returned Error Types:
  1366  //   * ServerException
  1367  //   A server-side error occurred.
  1368  //
  1369  //   * ClientException
  1370  //   One or more parameters are not valid.
  1371  //
  1372  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateBGPPeer
  1373  func (c *DirectConnect) CreateBGPPeer(input *CreateBGPPeerInput) (*CreateBGPPeerOutput, error) {
  1374  	req, out := c.CreateBGPPeerRequest(input)
  1375  	return out, req.Send()
  1376  }
  1377  
  1378  // CreateBGPPeerWithContext is the same as CreateBGPPeer with the addition of
  1379  // the ability to pass a context and additional request options.
  1380  //
  1381  // See CreateBGPPeer for details on how to use this API operation.
  1382  //
  1383  // The context must be non-nil and will be used for request cancellation. If
  1384  // the context is nil a panic will occur. In the future the SDK may create
  1385  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1386  // for more information on using Contexts.
  1387  func (c *DirectConnect) CreateBGPPeerWithContext(ctx aws.Context, input *CreateBGPPeerInput, opts ...request.Option) (*CreateBGPPeerOutput, error) {
  1388  	req, out := c.CreateBGPPeerRequest(input)
  1389  	req.SetContext(ctx)
  1390  	req.ApplyOptions(opts...)
  1391  	return out, req.Send()
  1392  }
  1393  
  1394  const opCreateConnection = "CreateConnection"
  1395  
  1396  // CreateConnectionRequest generates a "aws/request.Request" representing the
  1397  // client's request for the CreateConnection operation. The "output" return
  1398  // value will be populated with the request's response once the request completes
  1399  // successfully.
  1400  //
  1401  // Use "Send" method on the returned Request to send the API call to the service.
  1402  // the "output" return value is not valid until after Send returns without error.
  1403  //
  1404  // See CreateConnection for more information on using the CreateConnection
  1405  // API call, and error handling.
  1406  //
  1407  // This method is useful when you want to inject custom logic or configuration
  1408  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1409  //
  1410  //
  1411  //    // Example sending a request using the CreateConnectionRequest method.
  1412  //    req, resp := client.CreateConnectionRequest(params)
  1413  //
  1414  //    err := req.Send()
  1415  //    if err == nil { // resp is now filled
  1416  //        fmt.Println(resp)
  1417  //    }
  1418  //
  1419  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateConnection
  1420  func (c *DirectConnect) CreateConnectionRequest(input *CreateConnectionInput) (req *request.Request, output *Connection) {
  1421  	op := &request.Operation{
  1422  		Name:       opCreateConnection,
  1423  		HTTPMethod: "POST",
  1424  		HTTPPath:   "/",
  1425  	}
  1426  
  1427  	if input == nil {
  1428  		input = &CreateConnectionInput{}
  1429  	}
  1430  
  1431  	output = &Connection{}
  1432  	req = c.newRequest(op, input, output)
  1433  	return
  1434  }
  1435  
  1436  // CreateConnection API operation for AWS Direct Connect.
  1437  //
  1438  // Creates a connection between a customer network and a specific Direct Connect
  1439  // location.
  1440  //
  1441  // A connection links your internal network to an Direct Connect location over
  1442  // a standard Ethernet fiber-optic cable. One end of the cable is connected
  1443  // to your router, the other to an Direct Connect router.
  1444  //
  1445  // To find the locations for your Region, use DescribeLocations.
  1446  //
  1447  // You can automatically add the new connection to a link aggregation group
  1448  // (LAG) by specifying a LAG ID in the request. This ensures that the new connection
  1449  // is allocated on the same Direct Connect endpoint that hosts the specified
  1450  // LAG. If there are no available ports on the endpoint, the request fails and
  1451  // no connection is created.
  1452  //
  1453  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1454  // with awserr.Error's Code and Message methods to get detailed information about
  1455  // the error.
  1456  //
  1457  // See the AWS API reference guide for AWS Direct Connect's
  1458  // API operation CreateConnection for usage and error information.
  1459  //
  1460  // Returned Error Types:
  1461  //   * DuplicateTagKeysException
  1462  //   A tag key was specified more than once.
  1463  //
  1464  //   * TooManyTagsException
  1465  //   You have reached the limit on the number of tags that can be assigned.
  1466  //
  1467  //   * ServerException
  1468  //   A server-side error occurred.
  1469  //
  1470  //   * ClientException
  1471  //   One or more parameters are not valid.
  1472  //
  1473  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateConnection
  1474  func (c *DirectConnect) CreateConnection(input *CreateConnectionInput) (*Connection, error) {
  1475  	req, out := c.CreateConnectionRequest(input)
  1476  	return out, req.Send()
  1477  }
  1478  
  1479  // CreateConnectionWithContext is the same as CreateConnection with the addition of
  1480  // the ability to pass a context and additional request options.
  1481  //
  1482  // See CreateConnection for details on how to use this API operation.
  1483  //
  1484  // The context must be non-nil and will be used for request cancellation. If
  1485  // the context is nil a panic will occur. In the future the SDK may create
  1486  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1487  // for more information on using Contexts.
  1488  func (c *DirectConnect) CreateConnectionWithContext(ctx aws.Context, input *CreateConnectionInput, opts ...request.Option) (*Connection, error) {
  1489  	req, out := c.CreateConnectionRequest(input)
  1490  	req.SetContext(ctx)
  1491  	req.ApplyOptions(opts...)
  1492  	return out, req.Send()
  1493  }
  1494  
  1495  const opCreateDirectConnectGateway = "CreateDirectConnectGateway"
  1496  
  1497  // CreateDirectConnectGatewayRequest generates a "aws/request.Request" representing the
  1498  // client's request for the CreateDirectConnectGateway operation. The "output" return
  1499  // value will be populated with the request's response once the request completes
  1500  // successfully.
  1501  //
  1502  // Use "Send" method on the returned Request to send the API call to the service.
  1503  // the "output" return value is not valid until after Send returns without error.
  1504  //
  1505  // See CreateDirectConnectGateway for more information on using the CreateDirectConnectGateway
  1506  // API call, and error handling.
  1507  //
  1508  // This method is useful when you want to inject custom logic or configuration
  1509  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1510  //
  1511  //
  1512  //    // Example sending a request using the CreateDirectConnectGatewayRequest method.
  1513  //    req, resp := client.CreateDirectConnectGatewayRequest(params)
  1514  //
  1515  //    err := req.Send()
  1516  //    if err == nil { // resp is now filled
  1517  //        fmt.Println(resp)
  1518  //    }
  1519  //
  1520  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateDirectConnectGateway
  1521  func (c *DirectConnect) CreateDirectConnectGatewayRequest(input *CreateDirectConnectGatewayInput) (req *request.Request, output *CreateDirectConnectGatewayOutput) {
  1522  	op := &request.Operation{
  1523  		Name:       opCreateDirectConnectGateway,
  1524  		HTTPMethod: "POST",
  1525  		HTTPPath:   "/",
  1526  	}
  1527  
  1528  	if input == nil {
  1529  		input = &CreateDirectConnectGatewayInput{}
  1530  	}
  1531  
  1532  	output = &CreateDirectConnectGatewayOutput{}
  1533  	req = c.newRequest(op, input, output)
  1534  	return
  1535  }
  1536  
  1537  // CreateDirectConnectGateway API operation for AWS Direct Connect.
  1538  //
  1539  // Creates a Direct Connect gateway, which is an intermediate object that enables
  1540  // you to connect a set of virtual interfaces and virtual private gateways.
  1541  // A Direct Connect gateway is global and visible in any Region after it is
  1542  // created. The virtual interfaces and virtual private gateways that are connected
  1543  // through a Direct Connect gateway can be in different Regions. This enables
  1544  // you to connect to a VPC in any Region, regardless of the Region in which
  1545  // the virtual interfaces are located, and pass traffic between them.
  1546  //
  1547  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1548  // with awserr.Error's Code and Message methods to get detailed information about
  1549  // the error.
  1550  //
  1551  // See the AWS API reference guide for AWS Direct Connect's
  1552  // API operation CreateDirectConnectGateway for usage and error information.
  1553  //
  1554  // Returned Error Types:
  1555  //   * ServerException
  1556  //   A server-side error occurred.
  1557  //
  1558  //   * ClientException
  1559  //   One or more parameters are not valid.
  1560  //
  1561  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateDirectConnectGateway
  1562  func (c *DirectConnect) CreateDirectConnectGateway(input *CreateDirectConnectGatewayInput) (*CreateDirectConnectGatewayOutput, error) {
  1563  	req, out := c.CreateDirectConnectGatewayRequest(input)
  1564  	return out, req.Send()
  1565  }
  1566  
  1567  // CreateDirectConnectGatewayWithContext is the same as CreateDirectConnectGateway with the addition of
  1568  // the ability to pass a context and additional request options.
  1569  //
  1570  // See CreateDirectConnectGateway for details on how to use this API operation.
  1571  //
  1572  // The context must be non-nil and will be used for request cancellation. If
  1573  // the context is nil a panic will occur. In the future the SDK may create
  1574  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1575  // for more information on using Contexts.
  1576  func (c *DirectConnect) CreateDirectConnectGatewayWithContext(ctx aws.Context, input *CreateDirectConnectGatewayInput, opts ...request.Option) (*CreateDirectConnectGatewayOutput, error) {
  1577  	req, out := c.CreateDirectConnectGatewayRequest(input)
  1578  	req.SetContext(ctx)
  1579  	req.ApplyOptions(opts...)
  1580  	return out, req.Send()
  1581  }
  1582  
  1583  const opCreateDirectConnectGatewayAssociation = "CreateDirectConnectGatewayAssociation"
  1584  
  1585  // CreateDirectConnectGatewayAssociationRequest generates a "aws/request.Request" representing the
  1586  // client's request for the CreateDirectConnectGatewayAssociation operation. The "output" return
  1587  // value will be populated with the request's response once the request completes
  1588  // successfully.
  1589  //
  1590  // Use "Send" method on the returned Request to send the API call to the service.
  1591  // the "output" return value is not valid until after Send returns without error.
  1592  //
  1593  // See CreateDirectConnectGatewayAssociation for more information on using the CreateDirectConnectGatewayAssociation
  1594  // API call, and error handling.
  1595  //
  1596  // This method is useful when you want to inject custom logic or configuration
  1597  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1598  //
  1599  //
  1600  //    // Example sending a request using the CreateDirectConnectGatewayAssociationRequest method.
  1601  //    req, resp := client.CreateDirectConnectGatewayAssociationRequest(params)
  1602  //
  1603  //    err := req.Send()
  1604  //    if err == nil { // resp is now filled
  1605  //        fmt.Println(resp)
  1606  //    }
  1607  //
  1608  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateDirectConnectGatewayAssociation
  1609  func (c *DirectConnect) CreateDirectConnectGatewayAssociationRequest(input *CreateDirectConnectGatewayAssociationInput) (req *request.Request, output *CreateDirectConnectGatewayAssociationOutput) {
  1610  	op := &request.Operation{
  1611  		Name:       opCreateDirectConnectGatewayAssociation,
  1612  		HTTPMethod: "POST",
  1613  		HTTPPath:   "/",
  1614  	}
  1615  
  1616  	if input == nil {
  1617  		input = &CreateDirectConnectGatewayAssociationInput{}
  1618  	}
  1619  
  1620  	output = &CreateDirectConnectGatewayAssociationOutput{}
  1621  	req = c.newRequest(op, input, output)
  1622  	return
  1623  }
  1624  
  1625  // CreateDirectConnectGatewayAssociation API operation for AWS Direct Connect.
  1626  //
  1627  // Creates an association between a Direct Connect gateway and a virtual private
  1628  // gateway. The virtual private gateway must be attached to a VPC and must not
  1629  // be associated with another Direct Connect gateway.
  1630  //
  1631  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1632  // with awserr.Error's Code and Message methods to get detailed information about
  1633  // the error.
  1634  //
  1635  // See the AWS API reference guide for AWS Direct Connect's
  1636  // API operation CreateDirectConnectGatewayAssociation for usage and error information.
  1637  //
  1638  // Returned Error Types:
  1639  //   * ServerException
  1640  //   A server-side error occurred.
  1641  //
  1642  //   * ClientException
  1643  //   One or more parameters are not valid.
  1644  //
  1645  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateDirectConnectGatewayAssociation
  1646  func (c *DirectConnect) CreateDirectConnectGatewayAssociation(input *CreateDirectConnectGatewayAssociationInput) (*CreateDirectConnectGatewayAssociationOutput, error) {
  1647  	req, out := c.CreateDirectConnectGatewayAssociationRequest(input)
  1648  	return out, req.Send()
  1649  }
  1650  
  1651  // CreateDirectConnectGatewayAssociationWithContext is the same as CreateDirectConnectGatewayAssociation with the addition of
  1652  // the ability to pass a context and additional request options.
  1653  //
  1654  // See CreateDirectConnectGatewayAssociation for details on how to use this API operation.
  1655  //
  1656  // The context must be non-nil and will be used for request cancellation. If
  1657  // the context is nil a panic will occur. In the future the SDK may create
  1658  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1659  // for more information on using Contexts.
  1660  func (c *DirectConnect) CreateDirectConnectGatewayAssociationWithContext(ctx aws.Context, input *CreateDirectConnectGatewayAssociationInput, opts ...request.Option) (*CreateDirectConnectGatewayAssociationOutput, error) {
  1661  	req, out := c.CreateDirectConnectGatewayAssociationRequest(input)
  1662  	req.SetContext(ctx)
  1663  	req.ApplyOptions(opts...)
  1664  	return out, req.Send()
  1665  }
  1666  
  1667  const opCreateDirectConnectGatewayAssociationProposal = "CreateDirectConnectGatewayAssociationProposal"
  1668  
  1669  // CreateDirectConnectGatewayAssociationProposalRequest generates a "aws/request.Request" representing the
  1670  // client's request for the CreateDirectConnectGatewayAssociationProposal operation. The "output" return
  1671  // value will be populated with the request's response once the request completes
  1672  // successfully.
  1673  //
  1674  // Use "Send" method on the returned Request to send the API call to the service.
  1675  // the "output" return value is not valid until after Send returns without error.
  1676  //
  1677  // See CreateDirectConnectGatewayAssociationProposal for more information on using the CreateDirectConnectGatewayAssociationProposal
  1678  // API call, and error handling.
  1679  //
  1680  // This method is useful when you want to inject custom logic or configuration
  1681  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1682  //
  1683  //
  1684  //    // Example sending a request using the CreateDirectConnectGatewayAssociationProposalRequest method.
  1685  //    req, resp := client.CreateDirectConnectGatewayAssociationProposalRequest(params)
  1686  //
  1687  //    err := req.Send()
  1688  //    if err == nil { // resp is now filled
  1689  //        fmt.Println(resp)
  1690  //    }
  1691  //
  1692  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateDirectConnectGatewayAssociationProposal
  1693  func (c *DirectConnect) CreateDirectConnectGatewayAssociationProposalRequest(input *CreateDirectConnectGatewayAssociationProposalInput) (req *request.Request, output *CreateDirectConnectGatewayAssociationProposalOutput) {
  1694  	op := &request.Operation{
  1695  		Name:       opCreateDirectConnectGatewayAssociationProposal,
  1696  		HTTPMethod: "POST",
  1697  		HTTPPath:   "/",
  1698  	}
  1699  
  1700  	if input == nil {
  1701  		input = &CreateDirectConnectGatewayAssociationProposalInput{}
  1702  	}
  1703  
  1704  	output = &CreateDirectConnectGatewayAssociationProposalOutput{}
  1705  	req = c.newRequest(op, input, output)
  1706  	return
  1707  }
  1708  
  1709  // CreateDirectConnectGatewayAssociationProposal API operation for AWS Direct Connect.
  1710  //
  1711  // Creates a proposal to associate the specified virtual private gateway or
  1712  // transit gateway with the specified Direct Connect gateway.
  1713  //
  1714  // You can associate a Direct Connect gateway and virtual private gateway or
  1715  // transit gateway that is owned by any account.
  1716  //
  1717  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1718  // with awserr.Error's Code and Message methods to get detailed information about
  1719  // the error.
  1720  //
  1721  // See the AWS API reference guide for AWS Direct Connect's
  1722  // API operation CreateDirectConnectGatewayAssociationProposal for usage and error information.
  1723  //
  1724  // Returned Error Types:
  1725  //   * ServerException
  1726  //   A server-side error occurred.
  1727  //
  1728  //   * ClientException
  1729  //   One or more parameters are not valid.
  1730  //
  1731  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateDirectConnectGatewayAssociationProposal
  1732  func (c *DirectConnect) CreateDirectConnectGatewayAssociationProposal(input *CreateDirectConnectGatewayAssociationProposalInput) (*CreateDirectConnectGatewayAssociationProposalOutput, error) {
  1733  	req, out := c.CreateDirectConnectGatewayAssociationProposalRequest(input)
  1734  	return out, req.Send()
  1735  }
  1736  
  1737  // CreateDirectConnectGatewayAssociationProposalWithContext is the same as CreateDirectConnectGatewayAssociationProposal with the addition of
  1738  // the ability to pass a context and additional request options.
  1739  //
  1740  // See CreateDirectConnectGatewayAssociationProposal for details on how to use this API operation.
  1741  //
  1742  // The context must be non-nil and will be used for request cancellation. If
  1743  // the context is nil a panic will occur. In the future the SDK may create
  1744  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1745  // for more information on using Contexts.
  1746  func (c *DirectConnect) CreateDirectConnectGatewayAssociationProposalWithContext(ctx aws.Context, input *CreateDirectConnectGatewayAssociationProposalInput, opts ...request.Option) (*CreateDirectConnectGatewayAssociationProposalOutput, error) {
  1747  	req, out := c.CreateDirectConnectGatewayAssociationProposalRequest(input)
  1748  	req.SetContext(ctx)
  1749  	req.ApplyOptions(opts...)
  1750  	return out, req.Send()
  1751  }
  1752  
  1753  const opCreateInterconnect = "CreateInterconnect"
  1754  
  1755  // CreateInterconnectRequest generates a "aws/request.Request" representing the
  1756  // client's request for the CreateInterconnect operation. The "output" return
  1757  // value will be populated with the request's response once the request completes
  1758  // successfully.
  1759  //
  1760  // Use "Send" method on the returned Request to send the API call to the service.
  1761  // the "output" return value is not valid until after Send returns without error.
  1762  //
  1763  // See CreateInterconnect for more information on using the CreateInterconnect
  1764  // API call, and error handling.
  1765  //
  1766  // This method is useful when you want to inject custom logic or configuration
  1767  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1768  //
  1769  //
  1770  //    // Example sending a request using the CreateInterconnectRequest method.
  1771  //    req, resp := client.CreateInterconnectRequest(params)
  1772  //
  1773  //    err := req.Send()
  1774  //    if err == nil { // resp is now filled
  1775  //        fmt.Println(resp)
  1776  //    }
  1777  //
  1778  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateInterconnect
  1779  func (c *DirectConnect) CreateInterconnectRequest(input *CreateInterconnectInput) (req *request.Request, output *Interconnect) {
  1780  	op := &request.Operation{
  1781  		Name:       opCreateInterconnect,
  1782  		HTTPMethod: "POST",
  1783  		HTTPPath:   "/",
  1784  	}
  1785  
  1786  	if input == nil {
  1787  		input = &CreateInterconnectInput{}
  1788  	}
  1789  
  1790  	output = &Interconnect{}
  1791  	req = c.newRequest(op, input, output)
  1792  	return
  1793  }
  1794  
  1795  // CreateInterconnect API operation for AWS Direct Connect.
  1796  //
  1797  // Creates an interconnect between an Direct Connect Partner's network and a
  1798  // specific Direct Connect location.
  1799  //
  1800  // An interconnect is a connection that is capable of hosting other connections.
  1801  // The Direct Connect Partner can use an interconnect to provide Direct Connect
  1802  // hosted connections to customers through their own network services. Like
  1803  // a standard connection, an interconnect links the partner's network to an
  1804  // Direct Connect location over a standard Ethernet fiber-optic cable. One end
  1805  // is connected to the partner's router, the other to an Direct Connect router.
  1806  //
  1807  // You can automatically add the new interconnect to a link aggregation group
  1808  // (LAG) by specifying a LAG ID in the request. This ensures that the new interconnect
  1809  // is allocated on the same Direct Connect endpoint that hosts the specified
  1810  // LAG. If there are no available ports on the endpoint, the request fails and
  1811  // no interconnect is created.
  1812  //
  1813  // For each end customer, the Direct Connect Partner provisions a connection
  1814  // on their interconnect by calling AllocateHostedConnection. The end customer
  1815  // can then connect to Amazon Web Services resources by creating a virtual interface
  1816  // on their connection, using the VLAN assigned to them by the Direct Connect
  1817  // Partner.
  1818  //
  1819  // Intended for use by Direct Connect Partners only.
  1820  //
  1821  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1822  // with awserr.Error's Code and Message methods to get detailed information about
  1823  // the error.
  1824  //
  1825  // See the AWS API reference guide for AWS Direct Connect's
  1826  // API operation CreateInterconnect for usage and error information.
  1827  //
  1828  // Returned Error Types:
  1829  //   * DuplicateTagKeysException
  1830  //   A tag key was specified more than once.
  1831  //
  1832  //   * TooManyTagsException
  1833  //   You have reached the limit on the number of tags that can be assigned.
  1834  //
  1835  //   * ServerException
  1836  //   A server-side error occurred.
  1837  //
  1838  //   * ClientException
  1839  //   One or more parameters are not valid.
  1840  //
  1841  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateInterconnect
  1842  func (c *DirectConnect) CreateInterconnect(input *CreateInterconnectInput) (*Interconnect, error) {
  1843  	req, out := c.CreateInterconnectRequest(input)
  1844  	return out, req.Send()
  1845  }
  1846  
  1847  // CreateInterconnectWithContext is the same as CreateInterconnect with the addition of
  1848  // the ability to pass a context and additional request options.
  1849  //
  1850  // See CreateInterconnect for details on how to use this API operation.
  1851  //
  1852  // The context must be non-nil and will be used for request cancellation. If
  1853  // the context is nil a panic will occur. In the future the SDK may create
  1854  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1855  // for more information on using Contexts.
  1856  func (c *DirectConnect) CreateInterconnectWithContext(ctx aws.Context, input *CreateInterconnectInput, opts ...request.Option) (*Interconnect, error) {
  1857  	req, out := c.CreateInterconnectRequest(input)
  1858  	req.SetContext(ctx)
  1859  	req.ApplyOptions(opts...)
  1860  	return out, req.Send()
  1861  }
  1862  
  1863  const opCreateLag = "CreateLag"
  1864  
  1865  // CreateLagRequest generates a "aws/request.Request" representing the
  1866  // client's request for the CreateLag operation. The "output" return
  1867  // value will be populated with the request's response once the request completes
  1868  // successfully.
  1869  //
  1870  // Use "Send" method on the returned Request to send the API call to the service.
  1871  // the "output" return value is not valid until after Send returns without error.
  1872  //
  1873  // See CreateLag for more information on using the CreateLag
  1874  // API call, and error handling.
  1875  //
  1876  // This method is useful when you want to inject custom logic or configuration
  1877  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1878  //
  1879  //
  1880  //    // Example sending a request using the CreateLagRequest method.
  1881  //    req, resp := client.CreateLagRequest(params)
  1882  //
  1883  //    err := req.Send()
  1884  //    if err == nil { // resp is now filled
  1885  //        fmt.Println(resp)
  1886  //    }
  1887  //
  1888  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateLag
  1889  func (c *DirectConnect) CreateLagRequest(input *CreateLagInput) (req *request.Request, output *Lag) {
  1890  	op := &request.Operation{
  1891  		Name:       opCreateLag,
  1892  		HTTPMethod: "POST",
  1893  		HTTPPath:   "/",
  1894  	}
  1895  
  1896  	if input == nil {
  1897  		input = &CreateLagInput{}
  1898  	}
  1899  
  1900  	output = &Lag{}
  1901  	req = c.newRequest(op, input, output)
  1902  	return
  1903  }
  1904  
  1905  // CreateLag API operation for AWS Direct Connect.
  1906  //
  1907  // Creates a link aggregation group (LAG) with the specified number of bundled
  1908  // physical dedicated connections between the customer network and a specific
  1909  // Direct Connect location. A LAG is a logical interface that uses the Link
  1910  // Aggregation Control Protocol (LACP) to aggregate multiple interfaces, enabling
  1911  // you to treat them as a single interface.
  1912  //
  1913  // All connections in a LAG must use the same bandwidth (either 1Gbps or 10Gbps)
  1914  // and must terminate at the same Direct Connect endpoint.
  1915  //
  1916  // You can have up to 10 dedicated connections per LAG. Regardless of this limit,
  1917  // if you request more connections for the LAG than Direct Connect can allocate
  1918  // on a single endpoint, no LAG is created.
  1919  //
  1920  // You can specify an existing physical dedicated connection or interconnect
  1921  // to include in the LAG (which counts towards the total number of connections).
  1922  // Doing so interrupts the current physical dedicated connection, and re-establishes
  1923  // them as a member of the LAG. The LAG will be created on the same Direct Connect
  1924  // endpoint to which the dedicated connection terminates. Any virtual interfaces
  1925  // associated with the dedicated connection are automatically disassociated
  1926  // and re-associated with the LAG. The connection ID does not change.
  1927  //
  1928  // If the account used to create a LAG is a registered Direct Connect Partner,
  1929  // the LAG is automatically enabled to host sub-connections. For a LAG owned
  1930  // by a partner, any associated virtual interfaces cannot be directly configured.
  1931  //
  1932  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1933  // with awserr.Error's Code and Message methods to get detailed information about
  1934  // the error.
  1935  //
  1936  // See the AWS API reference guide for AWS Direct Connect's
  1937  // API operation CreateLag for usage and error information.
  1938  //
  1939  // Returned Error Types:
  1940  //   * DuplicateTagKeysException
  1941  //   A tag key was specified more than once.
  1942  //
  1943  //   * TooManyTagsException
  1944  //   You have reached the limit on the number of tags that can be assigned.
  1945  //
  1946  //   * ServerException
  1947  //   A server-side error occurred.
  1948  //
  1949  //   * ClientException
  1950  //   One or more parameters are not valid.
  1951  //
  1952  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateLag
  1953  func (c *DirectConnect) CreateLag(input *CreateLagInput) (*Lag, error) {
  1954  	req, out := c.CreateLagRequest(input)
  1955  	return out, req.Send()
  1956  }
  1957  
  1958  // CreateLagWithContext is the same as CreateLag with the addition of
  1959  // the ability to pass a context and additional request options.
  1960  //
  1961  // See CreateLag for details on how to use this API operation.
  1962  //
  1963  // The context must be non-nil and will be used for request cancellation. If
  1964  // the context is nil a panic will occur. In the future the SDK may create
  1965  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1966  // for more information on using Contexts.
  1967  func (c *DirectConnect) CreateLagWithContext(ctx aws.Context, input *CreateLagInput, opts ...request.Option) (*Lag, error) {
  1968  	req, out := c.CreateLagRequest(input)
  1969  	req.SetContext(ctx)
  1970  	req.ApplyOptions(opts...)
  1971  	return out, req.Send()
  1972  }
  1973  
  1974  const opCreatePrivateVirtualInterface = "CreatePrivateVirtualInterface"
  1975  
  1976  // CreatePrivateVirtualInterfaceRequest generates a "aws/request.Request" representing the
  1977  // client's request for the CreatePrivateVirtualInterface operation. The "output" return
  1978  // value will be populated with the request's response once the request completes
  1979  // successfully.
  1980  //
  1981  // Use "Send" method on the returned Request to send the API call to the service.
  1982  // the "output" return value is not valid until after Send returns without error.
  1983  //
  1984  // See CreatePrivateVirtualInterface for more information on using the CreatePrivateVirtualInterface
  1985  // API call, and error handling.
  1986  //
  1987  // This method is useful when you want to inject custom logic or configuration
  1988  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1989  //
  1990  //
  1991  //    // Example sending a request using the CreatePrivateVirtualInterfaceRequest method.
  1992  //    req, resp := client.CreatePrivateVirtualInterfaceRequest(params)
  1993  //
  1994  //    err := req.Send()
  1995  //    if err == nil { // resp is now filled
  1996  //        fmt.Println(resp)
  1997  //    }
  1998  //
  1999  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreatePrivateVirtualInterface
  2000  func (c *DirectConnect) CreatePrivateVirtualInterfaceRequest(input *CreatePrivateVirtualInterfaceInput) (req *request.Request, output *VirtualInterface) {
  2001  	op := &request.Operation{
  2002  		Name:       opCreatePrivateVirtualInterface,
  2003  		HTTPMethod: "POST",
  2004  		HTTPPath:   "/",
  2005  	}
  2006  
  2007  	if input == nil {
  2008  		input = &CreatePrivateVirtualInterfaceInput{}
  2009  	}
  2010  
  2011  	output = &VirtualInterface{}
  2012  	req = c.newRequest(op, input, output)
  2013  	return
  2014  }
  2015  
  2016  // CreatePrivateVirtualInterface API operation for AWS Direct Connect.
  2017  //
  2018  // Creates a private virtual interface. A virtual interface is the VLAN that
  2019  // transports Direct Connect traffic. A private virtual interface can be connected
  2020  // to either a Direct Connect gateway or a Virtual Private Gateway (VGW). Connecting
  2021  // the private virtual interface to a Direct Connect gateway enables the possibility
  2022  // for connecting to multiple VPCs, including VPCs in different Regions. Connecting
  2023  // the private virtual interface to a VGW only provides access to a single VPC
  2024  // within the same Region.
  2025  //
  2026  // Setting the MTU of a virtual interface to 9001 (jumbo frames) can cause an
  2027  // update to the underlying physical connection if it wasn't updated to support
  2028  // jumbo frames. Updating the connection disrupts network connectivity for all
  2029  // virtual interfaces associated with the connection for up to 30 seconds. To
  2030  // check whether your connection supports jumbo frames, call DescribeConnections.
  2031  // To check whether your virtual interface supports jumbo frames, call DescribeVirtualInterfaces.
  2032  //
  2033  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2034  // with awserr.Error's Code and Message methods to get detailed information about
  2035  // the error.
  2036  //
  2037  // See the AWS API reference guide for AWS Direct Connect's
  2038  // API operation CreatePrivateVirtualInterface for usage and error information.
  2039  //
  2040  // Returned Error Types:
  2041  //   * DuplicateTagKeysException
  2042  //   A tag key was specified more than once.
  2043  //
  2044  //   * TooManyTagsException
  2045  //   You have reached the limit on the number of tags that can be assigned.
  2046  //
  2047  //   * ServerException
  2048  //   A server-side error occurred.
  2049  //
  2050  //   * ClientException
  2051  //   One or more parameters are not valid.
  2052  //
  2053  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreatePrivateVirtualInterface
  2054  func (c *DirectConnect) CreatePrivateVirtualInterface(input *CreatePrivateVirtualInterfaceInput) (*VirtualInterface, error) {
  2055  	req, out := c.CreatePrivateVirtualInterfaceRequest(input)
  2056  	return out, req.Send()
  2057  }
  2058  
  2059  // CreatePrivateVirtualInterfaceWithContext is the same as CreatePrivateVirtualInterface with the addition of
  2060  // the ability to pass a context and additional request options.
  2061  //
  2062  // See CreatePrivateVirtualInterface for details on how to use this API operation.
  2063  //
  2064  // The context must be non-nil and will be used for request cancellation. If
  2065  // the context is nil a panic will occur. In the future the SDK may create
  2066  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2067  // for more information on using Contexts.
  2068  func (c *DirectConnect) CreatePrivateVirtualInterfaceWithContext(ctx aws.Context, input *CreatePrivateVirtualInterfaceInput, opts ...request.Option) (*VirtualInterface, error) {
  2069  	req, out := c.CreatePrivateVirtualInterfaceRequest(input)
  2070  	req.SetContext(ctx)
  2071  	req.ApplyOptions(opts...)
  2072  	return out, req.Send()
  2073  }
  2074  
  2075  const opCreatePublicVirtualInterface = "CreatePublicVirtualInterface"
  2076  
  2077  // CreatePublicVirtualInterfaceRequest generates a "aws/request.Request" representing the
  2078  // client's request for the CreatePublicVirtualInterface operation. The "output" return
  2079  // value will be populated with the request's response once the request completes
  2080  // successfully.
  2081  //
  2082  // Use "Send" method on the returned Request to send the API call to the service.
  2083  // the "output" return value is not valid until after Send returns without error.
  2084  //
  2085  // See CreatePublicVirtualInterface for more information on using the CreatePublicVirtualInterface
  2086  // API call, and error handling.
  2087  //
  2088  // This method is useful when you want to inject custom logic or configuration
  2089  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2090  //
  2091  //
  2092  //    // Example sending a request using the CreatePublicVirtualInterfaceRequest method.
  2093  //    req, resp := client.CreatePublicVirtualInterfaceRequest(params)
  2094  //
  2095  //    err := req.Send()
  2096  //    if err == nil { // resp is now filled
  2097  //        fmt.Println(resp)
  2098  //    }
  2099  //
  2100  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreatePublicVirtualInterface
  2101  func (c *DirectConnect) CreatePublicVirtualInterfaceRequest(input *CreatePublicVirtualInterfaceInput) (req *request.Request, output *VirtualInterface) {
  2102  	op := &request.Operation{
  2103  		Name:       opCreatePublicVirtualInterface,
  2104  		HTTPMethod: "POST",
  2105  		HTTPPath:   "/",
  2106  	}
  2107  
  2108  	if input == nil {
  2109  		input = &CreatePublicVirtualInterfaceInput{}
  2110  	}
  2111  
  2112  	output = &VirtualInterface{}
  2113  	req = c.newRequest(op, input, output)
  2114  	return
  2115  }
  2116  
  2117  // CreatePublicVirtualInterface API operation for AWS Direct Connect.
  2118  //
  2119  // Creates a public virtual interface. A virtual interface is the VLAN that
  2120  // transports Direct Connect traffic. A public virtual interface supports sending
  2121  // traffic to public services of Amazon Web Services such as Amazon S3.
  2122  //
  2123  // When creating an IPv6 public virtual interface (addressFamily is ipv6), leave
  2124  // the customer and amazon address fields blank to use auto-assigned IPv6 space.
  2125  // Custom IPv6 addresses are not supported.
  2126  //
  2127  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2128  // with awserr.Error's Code and Message methods to get detailed information about
  2129  // the error.
  2130  //
  2131  // See the AWS API reference guide for AWS Direct Connect's
  2132  // API operation CreatePublicVirtualInterface for usage and error information.
  2133  //
  2134  // Returned Error Types:
  2135  //   * DuplicateTagKeysException
  2136  //   A tag key was specified more than once.
  2137  //
  2138  //   * TooManyTagsException
  2139  //   You have reached the limit on the number of tags that can be assigned.
  2140  //
  2141  //   * ServerException
  2142  //   A server-side error occurred.
  2143  //
  2144  //   * ClientException
  2145  //   One or more parameters are not valid.
  2146  //
  2147  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreatePublicVirtualInterface
  2148  func (c *DirectConnect) CreatePublicVirtualInterface(input *CreatePublicVirtualInterfaceInput) (*VirtualInterface, error) {
  2149  	req, out := c.CreatePublicVirtualInterfaceRequest(input)
  2150  	return out, req.Send()
  2151  }
  2152  
  2153  // CreatePublicVirtualInterfaceWithContext is the same as CreatePublicVirtualInterface with the addition of
  2154  // the ability to pass a context and additional request options.
  2155  //
  2156  // See CreatePublicVirtualInterface for details on how to use this API operation.
  2157  //
  2158  // The context must be non-nil and will be used for request cancellation. If
  2159  // the context is nil a panic will occur. In the future the SDK may create
  2160  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2161  // for more information on using Contexts.
  2162  func (c *DirectConnect) CreatePublicVirtualInterfaceWithContext(ctx aws.Context, input *CreatePublicVirtualInterfaceInput, opts ...request.Option) (*VirtualInterface, error) {
  2163  	req, out := c.CreatePublicVirtualInterfaceRequest(input)
  2164  	req.SetContext(ctx)
  2165  	req.ApplyOptions(opts...)
  2166  	return out, req.Send()
  2167  }
  2168  
  2169  const opCreateTransitVirtualInterface = "CreateTransitVirtualInterface"
  2170  
  2171  // CreateTransitVirtualInterfaceRequest generates a "aws/request.Request" representing the
  2172  // client's request for the CreateTransitVirtualInterface operation. The "output" return
  2173  // value will be populated with the request's response once the request completes
  2174  // successfully.
  2175  //
  2176  // Use "Send" method on the returned Request to send the API call to the service.
  2177  // the "output" return value is not valid until after Send returns without error.
  2178  //
  2179  // See CreateTransitVirtualInterface for more information on using the CreateTransitVirtualInterface
  2180  // API call, and error handling.
  2181  //
  2182  // This method is useful when you want to inject custom logic or configuration
  2183  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2184  //
  2185  //
  2186  //    // Example sending a request using the CreateTransitVirtualInterfaceRequest method.
  2187  //    req, resp := client.CreateTransitVirtualInterfaceRequest(params)
  2188  //
  2189  //    err := req.Send()
  2190  //    if err == nil { // resp is now filled
  2191  //        fmt.Println(resp)
  2192  //    }
  2193  //
  2194  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateTransitVirtualInterface
  2195  func (c *DirectConnect) CreateTransitVirtualInterfaceRequest(input *CreateTransitVirtualInterfaceInput) (req *request.Request, output *CreateTransitVirtualInterfaceOutput) {
  2196  	op := &request.Operation{
  2197  		Name:       opCreateTransitVirtualInterface,
  2198  		HTTPMethod: "POST",
  2199  		HTTPPath:   "/",
  2200  	}
  2201  
  2202  	if input == nil {
  2203  		input = &CreateTransitVirtualInterfaceInput{}
  2204  	}
  2205  
  2206  	output = &CreateTransitVirtualInterfaceOutput{}
  2207  	req = c.newRequest(op, input, output)
  2208  	return
  2209  }
  2210  
  2211  // CreateTransitVirtualInterface API operation for AWS Direct Connect.
  2212  //
  2213  // Creates a transit virtual interface. A transit virtual interface should be
  2214  // used to access one or more transit gateways associated with Direct Connect
  2215  // gateways. A transit virtual interface enables the connection of multiple
  2216  // VPCs attached to a transit gateway to a Direct Connect gateway.
  2217  //
  2218  // If you associate your transit gateway with one or more Direct Connect gateways,
  2219  // the Autonomous System Number (ASN) used by the transit gateway and the Direct
  2220  // Connect gateway must be different. For example, if you use the default ASN
  2221  // 64512 for both your the transit gateway and Direct Connect gateway, the association
  2222  // request fails.
  2223  //
  2224  // Setting the MTU of a virtual interface to 8500 (jumbo frames) can cause an
  2225  // update to the underlying physical connection if it wasn't updated to support
  2226  // jumbo frames. Updating the connection disrupts network connectivity for all
  2227  // virtual interfaces associated with the connection for up to 30 seconds. To
  2228  // check whether your connection supports jumbo frames, call DescribeConnections.
  2229  // To check whether your virtual interface supports jumbo frames, call DescribeVirtualInterfaces.
  2230  //
  2231  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2232  // with awserr.Error's Code and Message methods to get detailed information about
  2233  // the error.
  2234  //
  2235  // See the AWS API reference guide for AWS Direct Connect's
  2236  // API operation CreateTransitVirtualInterface for usage and error information.
  2237  //
  2238  // Returned Error Types:
  2239  //   * DuplicateTagKeysException
  2240  //   A tag key was specified more than once.
  2241  //
  2242  //   * TooManyTagsException
  2243  //   You have reached the limit on the number of tags that can be assigned.
  2244  //
  2245  //   * ServerException
  2246  //   A server-side error occurred.
  2247  //
  2248  //   * ClientException
  2249  //   One or more parameters are not valid.
  2250  //
  2251  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateTransitVirtualInterface
  2252  func (c *DirectConnect) CreateTransitVirtualInterface(input *CreateTransitVirtualInterfaceInput) (*CreateTransitVirtualInterfaceOutput, error) {
  2253  	req, out := c.CreateTransitVirtualInterfaceRequest(input)
  2254  	return out, req.Send()
  2255  }
  2256  
  2257  // CreateTransitVirtualInterfaceWithContext is the same as CreateTransitVirtualInterface with the addition of
  2258  // the ability to pass a context and additional request options.
  2259  //
  2260  // See CreateTransitVirtualInterface for details on how to use this API operation.
  2261  //
  2262  // The context must be non-nil and will be used for request cancellation. If
  2263  // the context is nil a panic will occur. In the future the SDK may create
  2264  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2265  // for more information on using Contexts.
  2266  func (c *DirectConnect) CreateTransitVirtualInterfaceWithContext(ctx aws.Context, input *CreateTransitVirtualInterfaceInput, opts ...request.Option) (*CreateTransitVirtualInterfaceOutput, error) {
  2267  	req, out := c.CreateTransitVirtualInterfaceRequest(input)
  2268  	req.SetContext(ctx)
  2269  	req.ApplyOptions(opts...)
  2270  	return out, req.Send()
  2271  }
  2272  
  2273  const opDeleteBGPPeer = "DeleteBGPPeer"
  2274  
  2275  // DeleteBGPPeerRequest generates a "aws/request.Request" representing the
  2276  // client's request for the DeleteBGPPeer operation. The "output" return
  2277  // value will be populated with the request's response once the request completes
  2278  // successfully.
  2279  //
  2280  // Use "Send" method on the returned Request to send the API call to the service.
  2281  // the "output" return value is not valid until after Send returns without error.
  2282  //
  2283  // See DeleteBGPPeer for more information on using the DeleteBGPPeer
  2284  // API call, and error handling.
  2285  //
  2286  // This method is useful when you want to inject custom logic or configuration
  2287  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2288  //
  2289  //
  2290  //    // Example sending a request using the DeleteBGPPeerRequest method.
  2291  //    req, resp := client.DeleteBGPPeerRequest(params)
  2292  //
  2293  //    err := req.Send()
  2294  //    if err == nil { // resp is now filled
  2295  //        fmt.Println(resp)
  2296  //    }
  2297  //
  2298  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteBGPPeer
  2299  func (c *DirectConnect) DeleteBGPPeerRequest(input *DeleteBGPPeerInput) (req *request.Request, output *DeleteBGPPeerOutput) {
  2300  	op := &request.Operation{
  2301  		Name:       opDeleteBGPPeer,
  2302  		HTTPMethod: "POST",
  2303  		HTTPPath:   "/",
  2304  	}
  2305  
  2306  	if input == nil {
  2307  		input = &DeleteBGPPeerInput{}
  2308  	}
  2309  
  2310  	output = &DeleteBGPPeerOutput{}
  2311  	req = c.newRequest(op, input, output)
  2312  	return
  2313  }
  2314  
  2315  // DeleteBGPPeer API operation for AWS Direct Connect.
  2316  //
  2317  // Deletes the specified BGP peer on the specified virtual interface with the
  2318  // specified customer address and ASN.
  2319  //
  2320  // You cannot delete the last BGP peer from a virtual interface.
  2321  //
  2322  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2323  // with awserr.Error's Code and Message methods to get detailed information about
  2324  // the error.
  2325  //
  2326  // See the AWS API reference guide for AWS Direct Connect's
  2327  // API operation DeleteBGPPeer for usage and error information.
  2328  //
  2329  // Returned Error Types:
  2330  //   * ServerException
  2331  //   A server-side error occurred.
  2332  //
  2333  //   * ClientException
  2334  //   One or more parameters are not valid.
  2335  //
  2336  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteBGPPeer
  2337  func (c *DirectConnect) DeleteBGPPeer(input *DeleteBGPPeerInput) (*DeleteBGPPeerOutput, error) {
  2338  	req, out := c.DeleteBGPPeerRequest(input)
  2339  	return out, req.Send()
  2340  }
  2341  
  2342  // DeleteBGPPeerWithContext is the same as DeleteBGPPeer with the addition of
  2343  // the ability to pass a context and additional request options.
  2344  //
  2345  // See DeleteBGPPeer for details on how to use this API operation.
  2346  //
  2347  // The context must be non-nil and will be used for request cancellation. If
  2348  // the context is nil a panic will occur. In the future the SDK may create
  2349  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2350  // for more information on using Contexts.
  2351  func (c *DirectConnect) DeleteBGPPeerWithContext(ctx aws.Context, input *DeleteBGPPeerInput, opts ...request.Option) (*DeleteBGPPeerOutput, error) {
  2352  	req, out := c.DeleteBGPPeerRequest(input)
  2353  	req.SetContext(ctx)
  2354  	req.ApplyOptions(opts...)
  2355  	return out, req.Send()
  2356  }
  2357  
  2358  const opDeleteConnection = "DeleteConnection"
  2359  
  2360  // DeleteConnectionRequest generates a "aws/request.Request" representing the
  2361  // client's request for the DeleteConnection operation. The "output" return
  2362  // value will be populated with the request's response once the request completes
  2363  // successfully.
  2364  //
  2365  // Use "Send" method on the returned Request to send the API call to the service.
  2366  // the "output" return value is not valid until after Send returns without error.
  2367  //
  2368  // See DeleteConnection for more information on using the DeleteConnection
  2369  // API call, and error handling.
  2370  //
  2371  // This method is useful when you want to inject custom logic or configuration
  2372  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2373  //
  2374  //
  2375  //    // Example sending a request using the DeleteConnectionRequest method.
  2376  //    req, resp := client.DeleteConnectionRequest(params)
  2377  //
  2378  //    err := req.Send()
  2379  //    if err == nil { // resp is now filled
  2380  //        fmt.Println(resp)
  2381  //    }
  2382  //
  2383  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteConnection
  2384  func (c *DirectConnect) DeleteConnectionRequest(input *DeleteConnectionInput) (req *request.Request, output *Connection) {
  2385  	op := &request.Operation{
  2386  		Name:       opDeleteConnection,
  2387  		HTTPMethod: "POST",
  2388  		HTTPPath:   "/",
  2389  	}
  2390  
  2391  	if input == nil {
  2392  		input = &DeleteConnectionInput{}
  2393  	}
  2394  
  2395  	output = &Connection{}
  2396  	req = c.newRequest(op, input, output)
  2397  	return
  2398  }
  2399  
  2400  // DeleteConnection API operation for AWS Direct Connect.
  2401  //
  2402  // Deletes the specified connection.
  2403  //
  2404  // Deleting a connection only stops the Direct Connect port hour and data transfer
  2405  // charges. If you are partnering with any third parties to connect with the
  2406  // Direct Connect location, you must cancel your service with them separately.
  2407  //
  2408  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2409  // with awserr.Error's Code and Message methods to get detailed information about
  2410  // the error.
  2411  //
  2412  // See the AWS API reference guide for AWS Direct Connect's
  2413  // API operation DeleteConnection for usage and error information.
  2414  //
  2415  // Returned Error Types:
  2416  //   * ServerException
  2417  //   A server-side error occurred.
  2418  //
  2419  //   * ClientException
  2420  //   One or more parameters are not valid.
  2421  //
  2422  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteConnection
  2423  func (c *DirectConnect) DeleteConnection(input *DeleteConnectionInput) (*Connection, error) {
  2424  	req, out := c.DeleteConnectionRequest(input)
  2425  	return out, req.Send()
  2426  }
  2427  
  2428  // DeleteConnectionWithContext is the same as DeleteConnection with the addition of
  2429  // the ability to pass a context and additional request options.
  2430  //
  2431  // See DeleteConnection for details on how to use this API operation.
  2432  //
  2433  // The context must be non-nil and will be used for request cancellation. If
  2434  // the context is nil a panic will occur. In the future the SDK may create
  2435  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2436  // for more information on using Contexts.
  2437  func (c *DirectConnect) DeleteConnectionWithContext(ctx aws.Context, input *DeleteConnectionInput, opts ...request.Option) (*Connection, error) {
  2438  	req, out := c.DeleteConnectionRequest(input)
  2439  	req.SetContext(ctx)
  2440  	req.ApplyOptions(opts...)
  2441  	return out, req.Send()
  2442  }
  2443  
  2444  const opDeleteDirectConnectGateway = "DeleteDirectConnectGateway"
  2445  
  2446  // DeleteDirectConnectGatewayRequest generates a "aws/request.Request" representing the
  2447  // client's request for the DeleteDirectConnectGateway operation. The "output" return
  2448  // value will be populated with the request's response once the request completes
  2449  // successfully.
  2450  //
  2451  // Use "Send" method on the returned Request to send the API call to the service.
  2452  // the "output" return value is not valid until after Send returns without error.
  2453  //
  2454  // See DeleteDirectConnectGateway for more information on using the DeleteDirectConnectGateway
  2455  // API call, and error handling.
  2456  //
  2457  // This method is useful when you want to inject custom logic or configuration
  2458  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2459  //
  2460  //
  2461  //    // Example sending a request using the DeleteDirectConnectGatewayRequest method.
  2462  //    req, resp := client.DeleteDirectConnectGatewayRequest(params)
  2463  //
  2464  //    err := req.Send()
  2465  //    if err == nil { // resp is now filled
  2466  //        fmt.Println(resp)
  2467  //    }
  2468  //
  2469  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteDirectConnectGateway
  2470  func (c *DirectConnect) DeleteDirectConnectGatewayRequest(input *DeleteDirectConnectGatewayInput) (req *request.Request, output *DeleteDirectConnectGatewayOutput) {
  2471  	op := &request.Operation{
  2472  		Name:       opDeleteDirectConnectGateway,
  2473  		HTTPMethod: "POST",
  2474  		HTTPPath:   "/",
  2475  	}
  2476  
  2477  	if input == nil {
  2478  		input = &DeleteDirectConnectGatewayInput{}
  2479  	}
  2480  
  2481  	output = &DeleteDirectConnectGatewayOutput{}
  2482  	req = c.newRequest(op, input, output)
  2483  	return
  2484  }
  2485  
  2486  // DeleteDirectConnectGateway API operation for AWS Direct Connect.
  2487  //
  2488  // Deletes the specified Direct Connect gateway. You must first delete all virtual
  2489  // interfaces that are attached to the Direct Connect gateway and disassociate
  2490  // all virtual private gateways associated with the Direct Connect gateway.
  2491  //
  2492  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2493  // with awserr.Error's Code and Message methods to get detailed information about
  2494  // the error.
  2495  //
  2496  // See the AWS API reference guide for AWS Direct Connect's
  2497  // API operation DeleteDirectConnectGateway for usage and error information.
  2498  //
  2499  // Returned Error Types:
  2500  //   * ServerException
  2501  //   A server-side error occurred.
  2502  //
  2503  //   * ClientException
  2504  //   One or more parameters are not valid.
  2505  //
  2506  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteDirectConnectGateway
  2507  func (c *DirectConnect) DeleteDirectConnectGateway(input *DeleteDirectConnectGatewayInput) (*DeleteDirectConnectGatewayOutput, error) {
  2508  	req, out := c.DeleteDirectConnectGatewayRequest(input)
  2509  	return out, req.Send()
  2510  }
  2511  
  2512  // DeleteDirectConnectGatewayWithContext is the same as DeleteDirectConnectGateway with the addition of
  2513  // the ability to pass a context and additional request options.
  2514  //
  2515  // See DeleteDirectConnectGateway for details on how to use this API operation.
  2516  //
  2517  // The context must be non-nil and will be used for request cancellation. If
  2518  // the context is nil a panic will occur. In the future the SDK may create
  2519  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2520  // for more information on using Contexts.
  2521  func (c *DirectConnect) DeleteDirectConnectGatewayWithContext(ctx aws.Context, input *DeleteDirectConnectGatewayInput, opts ...request.Option) (*DeleteDirectConnectGatewayOutput, error) {
  2522  	req, out := c.DeleteDirectConnectGatewayRequest(input)
  2523  	req.SetContext(ctx)
  2524  	req.ApplyOptions(opts...)
  2525  	return out, req.Send()
  2526  }
  2527  
  2528  const opDeleteDirectConnectGatewayAssociation = "DeleteDirectConnectGatewayAssociation"
  2529  
  2530  // DeleteDirectConnectGatewayAssociationRequest generates a "aws/request.Request" representing the
  2531  // client's request for the DeleteDirectConnectGatewayAssociation operation. The "output" return
  2532  // value will be populated with the request's response once the request completes
  2533  // successfully.
  2534  //
  2535  // Use "Send" method on the returned Request to send the API call to the service.
  2536  // the "output" return value is not valid until after Send returns without error.
  2537  //
  2538  // See DeleteDirectConnectGatewayAssociation for more information on using the DeleteDirectConnectGatewayAssociation
  2539  // API call, and error handling.
  2540  //
  2541  // This method is useful when you want to inject custom logic or configuration
  2542  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2543  //
  2544  //
  2545  //    // Example sending a request using the DeleteDirectConnectGatewayAssociationRequest method.
  2546  //    req, resp := client.DeleteDirectConnectGatewayAssociationRequest(params)
  2547  //
  2548  //    err := req.Send()
  2549  //    if err == nil { // resp is now filled
  2550  //        fmt.Println(resp)
  2551  //    }
  2552  //
  2553  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteDirectConnectGatewayAssociation
  2554  func (c *DirectConnect) DeleteDirectConnectGatewayAssociationRequest(input *DeleteDirectConnectGatewayAssociationInput) (req *request.Request, output *DeleteDirectConnectGatewayAssociationOutput) {
  2555  	op := &request.Operation{
  2556  		Name:       opDeleteDirectConnectGatewayAssociation,
  2557  		HTTPMethod: "POST",
  2558  		HTTPPath:   "/",
  2559  	}
  2560  
  2561  	if input == nil {
  2562  		input = &DeleteDirectConnectGatewayAssociationInput{}
  2563  	}
  2564  
  2565  	output = &DeleteDirectConnectGatewayAssociationOutput{}
  2566  	req = c.newRequest(op, input, output)
  2567  	return
  2568  }
  2569  
  2570  // DeleteDirectConnectGatewayAssociation API operation for AWS Direct Connect.
  2571  //
  2572  // Deletes the association between the specified Direct Connect gateway and
  2573  // virtual private gateway.
  2574  //
  2575  // We recommend that you specify the associationID to delete the association.
  2576  // Alternatively, if you own virtual gateway and a Direct Connect gateway association,
  2577  // you can specify the virtualGatewayId and directConnectGatewayId to delete
  2578  // an association.
  2579  //
  2580  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2581  // with awserr.Error's Code and Message methods to get detailed information about
  2582  // the error.
  2583  //
  2584  // See the AWS API reference guide for AWS Direct Connect's
  2585  // API operation DeleteDirectConnectGatewayAssociation for usage and error information.
  2586  //
  2587  // Returned Error Types:
  2588  //   * ServerException
  2589  //   A server-side error occurred.
  2590  //
  2591  //   * ClientException
  2592  //   One or more parameters are not valid.
  2593  //
  2594  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteDirectConnectGatewayAssociation
  2595  func (c *DirectConnect) DeleteDirectConnectGatewayAssociation(input *DeleteDirectConnectGatewayAssociationInput) (*DeleteDirectConnectGatewayAssociationOutput, error) {
  2596  	req, out := c.DeleteDirectConnectGatewayAssociationRequest(input)
  2597  	return out, req.Send()
  2598  }
  2599  
  2600  // DeleteDirectConnectGatewayAssociationWithContext is the same as DeleteDirectConnectGatewayAssociation with the addition of
  2601  // the ability to pass a context and additional request options.
  2602  //
  2603  // See DeleteDirectConnectGatewayAssociation for details on how to use this API operation.
  2604  //
  2605  // The context must be non-nil and will be used for request cancellation. If
  2606  // the context is nil a panic will occur. In the future the SDK may create
  2607  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2608  // for more information on using Contexts.
  2609  func (c *DirectConnect) DeleteDirectConnectGatewayAssociationWithContext(ctx aws.Context, input *DeleteDirectConnectGatewayAssociationInput, opts ...request.Option) (*DeleteDirectConnectGatewayAssociationOutput, error) {
  2610  	req, out := c.DeleteDirectConnectGatewayAssociationRequest(input)
  2611  	req.SetContext(ctx)
  2612  	req.ApplyOptions(opts...)
  2613  	return out, req.Send()
  2614  }
  2615  
  2616  const opDeleteDirectConnectGatewayAssociationProposal = "DeleteDirectConnectGatewayAssociationProposal"
  2617  
  2618  // DeleteDirectConnectGatewayAssociationProposalRequest generates a "aws/request.Request" representing the
  2619  // client's request for the DeleteDirectConnectGatewayAssociationProposal operation. The "output" return
  2620  // value will be populated with the request's response once the request completes
  2621  // successfully.
  2622  //
  2623  // Use "Send" method on the returned Request to send the API call to the service.
  2624  // the "output" return value is not valid until after Send returns without error.
  2625  //
  2626  // See DeleteDirectConnectGatewayAssociationProposal for more information on using the DeleteDirectConnectGatewayAssociationProposal
  2627  // API call, and error handling.
  2628  //
  2629  // This method is useful when you want to inject custom logic or configuration
  2630  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2631  //
  2632  //
  2633  //    // Example sending a request using the DeleteDirectConnectGatewayAssociationProposalRequest method.
  2634  //    req, resp := client.DeleteDirectConnectGatewayAssociationProposalRequest(params)
  2635  //
  2636  //    err := req.Send()
  2637  //    if err == nil { // resp is now filled
  2638  //        fmt.Println(resp)
  2639  //    }
  2640  //
  2641  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteDirectConnectGatewayAssociationProposal
  2642  func (c *DirectConnect) DeleteDirectConnectGatewayAssociationProposalRequest(input *DeleteDirectConnectGatewayAssociationProposalInput) (req *request.Request, output *DeleteDirectConnectGatewayAssociationProposalOutput) {
  2643  	op := &request.Operation{
  2644  		Name:       opDeleteDirectConnectGatewayAssociationProposal,
  2645  		HTTPMethod: "POST",
  2646  		HTTPPath:   "/",
  2647  	}
  2648  
  2649  	if input == nil {
  2650  		input = &DeleteDirectConnectGatewayAssociationProposalInput{}
  2651  	}
  2652  
  2653  	output = &DeleteDirectConnectGatewayAssociationProposalOutput{}
  2654  	req = c.newRequest(op, input, output)
  2655  	return
  2656  }
  2657  
  2658  // DeleteDirectConnectGatewayAssociationProposal API operation for AWS Direct Connect.
  2659  //
  2660  // Deletes the association proposal request between the specified Direct Connect
  2661  // gateway and virtual private gateway or transit gateway.
  2662  //
  2663  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2664  // with awserr.Error's Code and Message methods to get detailed information about
  2665  // the error.
  2666  //
  2667  // See the AWS API reference guide for AWS Direct Connect's
  2668  // API operation DeleteDirectConnectGatewayAssociationProposal for usage and error information.
  2669  //
  2670  // Returned Error Types:
  2671  //   * ServerException
  2672  //   A server-side error occurred.
  2673  //
  2674  //   * ClientException
  2675  //   One or more parameters are not valid.
  2676  //
  2677  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteDirectConnectGatewayAssociationProposal
  2678  func (c *DirectConnect) DeleteDirectConnectGatewayAssociationProposal(input *DeleteDirectConnectGatewayAssociationProposalInput) (*DeleteDirectConnectGatewayAssociationProposalOutput, error) {
  2679  	req, out := c.DeleteDirectConnectGatewayAssociationProposalRequest(input)
  2680  	return out, req.Send()
  2681  }
  2682  
  2683  // DeleteDirectConnectGatewayAssociationProposalWithContext is the same as DeleteDirectConnectGatewayAssociationProposal with the addition of
  2684  // the ability to pass a context and additional request options.
  2685  //
  2686  // See DeleteDirectConnectGatewayAssociationProposal for details on how to use this API operation.
  2687  //
  2688  // The context must be non-nil and will be used for request cancellation. If
  2689  // the context is nil a panic will occur. In the future the SDK may create
  2690  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2691  // for more information on using Contexts.
  2692  func (c *DirectConnect) DeleteDirectConnectGatewayAssociationProposalWithContext(ctx aws.Context, input *DeleteDirectConnectGatewayAssociationProposalInput, opts ...request.Option) (*DeleteDirectConnectGatewayAssociationProposalOutput, error) {
  2693  	req, out := c.DeleteDirectConnectGatewayAssociationProposalRequest(input)
  2694  	req.SetContext(ctx)
  2695  	req.ApplyOptions(opts...)
  2696  	return out, req.Send()
  2697  }
  2698  
  2699  const opDeleteInterconnect = "DeleteInterconnect"
  2700  
  2701  // DeleteInterconnectRequest generates a "aws/request.Request" representing the
  2702  // client's request for the DeleteInterconnect operation. The "output" return
  2703  // value will be populated with the request's response once the request completes
  2704  // successfully.
  2705  //
  2706  // Use "Send" method on the returned Request to send the API call to the service.
  2707  // the "output" return value is not valid until after Send returns without error.
  2708  //
  2709  // See DeleteInterconnect for more information on using the DeleteInterconnect
  2710  // API call, and error handling.
  2711  //
  2712  // This method is useful when you want to inject custom logic or configuration
  2713  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2714  //
  2715  //
  2716  //    // Example sending a request using the DeleteInterconnectRequest method.
  2717  //    req, resp := client.DeleteInterconnectRequest(params)
  2718  //
  2719  //    err := req.Send()
  2720  //    if err == nil { // resp is now filled
  2721  //        fmt.Println(resp)
  2722  //    }
  2723  //
  2724  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteInterconnect
  2725  func (c *DirectConnect) DeleteInterconnectRequest(input *DeleteInterconnectInput) (req *request.Request, output *DeleteInterconnectOutput) {
  2726  	op := &request.Operation{
  2727  		Name:       opDeleteInterconnect,
  2728  		HTTPMethod: "POST",
  2729  		HTTPPath:   "/",
  2730  	}
  2731  
  2732  	if input == nil {
  2733  		input = &DeleteInterconnectInput{}
  2734  	}
  2735  
  2736  	output = &DeleteInterconnectOutput{}
  2737  	req = c.newRequest(op, input, output)
  2738  	return
  2739  }
  2740  
  2741  // DeleteInterconnect API operation for AWS Direct Connect.
  2742  //
  2743  // Deletes the specified interconnect.
  2744  //
  2745  // Intended for use by Direct Connect Partners only.
  2746  //
  2747  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2748  // with awserr.Error's Code and Message methods to get detailed information about
  2749  // the error.
  2750  //
  2751  // See the AWS API reference guide for AWS Direct Connect's
  2752  // API operation DeleteInterconnect for usage and error information.
  2753  //
  2754  // Returned Error Types:
  2755  //   * ServerException
  2756  //   A server-side error occurred.
  2757  //
  2758  //   * ClientException
  2759  //   One or more parameters are not valid.
  2760  //
  2761  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteInterconnect
  2762  func (c *DirectConnect) DeleteInterconnect(input *DeleteInterconnectInput) (*DeleteInterconnectOutput, error) {
  2763  	req, out := c.DeleteInterconnectRequest(input)
  2764  	return out, req.Send()
  2765  }
  2766  
  2767  // DeleteInterconnectWithContext is the same as DeleteInterconnect with the addition of
  2768  // the ability to pass a context and additional request options.
  2769  //
  2770  // See DeleteInterconnect for details on how to use this API operation.
  2771  //
  2772  // The context must be non-nil and will be used for request cancellation. If
  2773  // the context is nil a panic will occur. In the future the SDK may create
  2774  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2775  // for more information on using Contexts.
  2776  func (c *DirectConnect) DeleteInterconnectWithContext(ctx aws.Context, input *DeleteInterconnectInput, opts ...request.Option) (*DeleteInterconnectOutput, error) {
  2777  	req, out := c.DeleteInterconnectRequest(input)
  2778  	req.SetContext(ctx)
  2779  	req.ApplyOptions(opts...)
  2780  	return out, req.Send()
  2781  }
  2782  
  2783  const opDeleteLag = "DeleteLag"
  2784  
  2785  // DeleteLagRequest generates a "aws/request.Request" representing the
  2786  // client's request for the DeleteLag operation. The "output" return
  2787  // value will be populated with the request's response once the request completes
  2788  // successfully.
  2789  //
  2790  // Use "Send" method on the returned Request to send the API call to the service.
  2791  // the "output" return value is not valid until after Send returns without error.
  2792  //
  2793  // See DeleteLag for more information on using the DeleteLag
  2794  // API call, and error handling.
  2795  //
  2796  // This method is useful when you want to inject custom logic or configuration
  2797  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2798  //
  2799  //
  2800  //    // Example sending a request using the DeleteLagRequest method.
  2801  //    req, resp := client.DeleteLagRequest(params)
  2802  //
  2803  //    err := req.Send()
  2804  //    if err == nil { // resp is now filled
  2805  //        fmt.Println(resp)
  2806  //    }
  2807  //
  2808  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteLag
  2809  func (c *DirectConnect) DeleteLagRequest(input *DeleteLagInput) (req *request.Request, output *Lag) {
  2810  	op := &request.Operation{
  2811  		Name:       opDeleteLag,
  2812  		HTTPMethod: "POST",
  2813  		HTTPPath:   "/",
  2814  	}
  2815  
  2816  	if input == nil {
  2817  		input = &DeleteLagInput{}
  2818  	}
  2819  
  2820  	output = &Lag{}
  2821  	req = c.newRequest(op, input, output)
  2822  	return
  2823  }
  2824  
  2825  // DeleteLag API operation for AWS Direct Connect.
  2826  //
  2827  // Deletes the specified link aggregation group (LAG). You cannot delete a LAG
  2828  // if it has active virtual interfaces or hosted connections.
  2829  //
  2830  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2831  // with awserr.Error's Code and Message methods to get detailed information about
  2832  // the error.
  2833  //
  2834  // See the AWS API reference guide for AWS Direct Connect's
  2835  // API operation DeleteLag for usage and error information.
  2836  //
  2837  // Returned Error Types:
  2838  //   * ServerException
  2839  //   A server-side error occurred.
  2840  //
  2841  //   * ClientException
  2842  //   One or more parameters are not valid.
  2843  //
  2844  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteLag
  2845  func (c *DirectConnect) DeleteLag(input *DeleteLagInput) (*Lag, error) {
  2846  	req, out := c.DeleteLagRequest(input)
  2847  	return out, req.Send()
  2848  }
  2849  
  2850  // DeleteLagWithContext is the same as DeleteLag with the addition of
  2851  // the ability to pass a context and additional request options.
  2852  //
  2853  // See DeleteLag for details on how to use this API operation.
  2854  //
  2855  // The context must be non-nil and will be used for request cancellation. If
  2856  // the context is nil a panic will occur. In the future the SDK may create
  2857  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2858  // for more information on using Contexts.
  2859  func (c *DirectConnect) DeleteLagWithContext(ctx aws.Context, input *DeleteLagInput, opts ...request.Option) (*Lag, error) {
  2860  	req, out := c.DeleteLagRequest(input)
  2861  	req.SetContext(ctx)
  2862  	req.ApplyOptions(opts...)
  2863  	return out, req.Send()
  2864  }
  2865  
  2866  const opDeleteVirtualInterface = "DeleteVirtualInterface"
  2867  
  2868  // DeleteVirtualInterfaceRequest generates a "aws/request.Request" representing the
  2869  // client's request for the DeleteVirtualInterface operation. The "output" return
  2870  // value will be populated with the request's response once the request completes
  2871  // successfully.
  2872  //
  2873  // Use "Send" method on the returned Request to send the API call to the service.
  2874  // the "output" return value is not valid until after Send returns without error.
  2875  //
  2876  // See DeleteVirtualInterface for more information on using the DeleteVirtualInterface
  2877  // API call, and error handling.
  2878  //
  2879  // This method is useful when you want to inject custom logic or configuration
  2880  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2881  //
  2882  //
  2883  //    // Example sending a request using the DeleteVirtualInterfaceRequest method.
  2884  //    req, resp := client.DeleteVirtualInterfaceRequest(params)
  2885  //
  2886  //    err := req.Send()
  2887  //    if err == nil { // resp is now filled
  2888  //        fmt.Println(resp)
  2889  //    }
  2890  //
  2891  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteVirtualInterface
  2892  func (c *DirectConnect) DeleteVirtualInterfaceRequest(input *DeleteVirtualInterfaceInput) (req *request.Request, output *DeleteVirtualInterfaceOutput) {
  2893  	op := &request.Operation{
  2894  		Name:       opDeleteVirtualInterface,
  2895  		HTTPMethod: "POST",
  2896  		HTTPPath:   "/",
  2897  	}
  2898  
  2899  	if input == nil {
  2900  		input = &DeleteVirtualInterfaceInput{}
  2901  	}
  2902  
  2903  	output = &DeleteVirtualInterfaceOutput{}
  2904  	req = c.newRequest(op, input, output)
  2905  	return
  2906  }
  2907  
  2908  // DeleteVirtualInterface API operation for AWS Direct Connect.
  2909  //
  2910  // Deletes a virtual interface.
  2911  //
  2912  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2913  // with awserr.Error's Code and Message methods to get detailed information about
  2914  // the error.
  2915  //
  2916  // See the AWS API reference guide for AWS Direct Connect's
  2917  // API operation DeleteVirtualInterface for usage and error information.
  2918  //
  2919  // Returned Error Types:
  2920  //   * ServerException
  2921  //   A server-side error occurred.
  2922  //
  2923  //   * ClientException
  2924  //   One or more parameters are not valid.
  2925  //
  2926  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteVirtualInterface
  2927  func (c *DirectConnect) DeleteVirtualInterface(input *DeleteVirtualInterfaceInput) (*DeleteVirtualInterfaceOutput, error) {
  2928  	req, out := c.DeleteVirtualInterfaceRequest(input)
  2929  	return out, req.Send()
  2930  }
  2931  
  2932  // DeleteVirtualInterfaceWithContext is the same as DeleteVirtualInterface with the addition of
  2933  // the ability to pass a context and additional request options.
  2934  //
  2935  // See DeleteVirtualInterface for details on how to use this API operation.
  2936  //
  2937  // The context must be non-nil and will be used for request cancellation. If
  2938  // the context is nil a panic will occur. In the future the SDK may create
  2939  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2940  // for more information on using Contexts.
  2941  func (c *DirectConnect) DeleteVirtualInterfaceWithContext(ctx aws.Context, input *DeleteVirtualInterfaceInput, opts ...request.Option) (*DeleteVirtualInterfaceOutput, error) {
  2942  	req, out := c.DeleteVirtualInterfaceRequest(input)
  2943  	req.SetContext(ctx)
  2944  	req.ApplyOptions(opts...)
  2945  	return out, req.Send()
  2946  }
  2947  
  2948  const opDescribeConnectionLoa = "DescribeConnectionLoa"
  2949  
  2950  // DescribeConnectionLoaRequest generates a "aws/request.Request" representing the
  2951  // client's request for the DescribeConnectionLoa operation. The "output" return
  2952  // value will be populated with the request's response once the request completes
  2953  // successfully.
  2954  //
  2955  // Use "Send" method on the returned Request to send the API call to the service.
  2956  // the "output" return value is not valid until after Send returns without error.
  2957  //
  2958  // See DescribeConnectionLoa for more information on using the DescribeConnectionLoa
  2959  // API call, and error handling.
  2960  //
  2961  // This method is useful when you want to inject custom logic or configuration
  2962  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2963  //
  2964  //
  2965  //    // Example sending a request using the DescribeConnectionLoaRequest method.
  2966  //    req, resp := client.DescribeConnectionLoaRequest(params)
  2967  //
  2968  //    err := req.Send()
  2969  //    if err == nil { // resp is now filled
  2970  //        fmt.Println(resp)
  2971  //    }
  2972  //
  2973  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeConnectionLoa
  2974  //
  2975  // Deprecated: DescribeConnectionLoa has been deprecated
  2976  func (c *DirectConnect) DescribeConnectionLoaRequest(input *DescribeConnectionLoaInput) (req *request.Request, output *DescribeConnectionLoaOutput) {
  2977  	if c.Client.Config.Logger != nil {
  2978  		c.Client.Config.Logger.Log("This operation, DescribeConnectionLoa, has been deprecated")
  2979  	}
  2980  	op := &request.Operation{
  2981  		Name:       opDescribeConnectionLoa,
  2982  		HTTPMethod: "POST",
  2983  		HTTPPath:   "/",
  2984  	}
  2985  
  2986  	if input == nil {
  2987  		input = &DescribeConnectionLoaInput{}
  2988  	}
  2989  
  2990  	output = &DescribeConnectionLoaOutput{}
  2991  	req = c.newRequest(op, input, output)
  2992  	return
  2993  }
  2994  
  2995  // DescribeConnectionLoa API operation for AWS Direct Connect.
  2996  //
  2997  // Deprecated. Use DescribeLoa instead.
  2998  //
  2999  // Gets the LOA-CFA for a connection.
  3000  //
  3001  // The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is
  3002  // a document that your APN partner or service provider uses when establishing
  3003  // your cross connect to Amazon Web Services at the colocation facility. For
  3004  // more information, see Requesting Cross Connects at Direct Connect Locations
  3005  // (https://docs.aws.amazon.com/directconnect/latest/UserGuide/Colocation.html)
  3006  // in the Direct Connect User Guide.
  3007  //
  3008  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3009  // with awserr.Error's Code and Message methods to get detailed information about
  3010  // the error.
  3011  //
  3012  // See the AWS API reference guide for AWS Direct Connect's
  3013  // API operation DescribeConnectionLoa for usage and error information.
  3014  //
  3015  // Returned Error Types:
  3016  //   * ServerException
  3017  //   A server-side error occurred.
  3018  //
  3019  //   * ClientException
  3020  //   One or more parameters are not valid.
  3021  //
  3022  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeConnectionLoa
  3023  //
  3024  // Deprecated: DescribeConnectionLoa has been deprecated
  3025  func (c *DirectConnect) DescribeConnectionLoa(input *DescribeConnectionLoaInput) (*DescribeConnectionLoaOutput, error) {
  3026  	req, out := c.DescribeConnectionLoaRequest(input)
  3027  	return out, req.Send()
  3028  }
  3029  
  3030  // DescribeConnectionLoaWithContext is the same as DescribeConnectionLoa with the addition of
  3031  // the ability to pass a context and additional request options.
  3032  //
  3033  // See DescribeConnectionLoa for details on how to use this API operation.
  3034  //
  3035  // The context must be non-nil and will be used for request cancellation. If
  3036  // the context is nil a panic will occur. In the future the SDK may create
  3037  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3038  // for more information on using Contexts.
  3039  //
  3040  // Deprecated: DescribeConnectionLoaWithContext has been deprecated
  3041  func (c *DirectConnect) DescribeConnectionLoaWithContext(ctx aws.Context, input *DescribeConnectionLoaInput, opts ...request.Option) (*DescribeConnectionLoaOutput, error) {
  3042  	req, out := c.DescribeConnectionLoaRequest(input)
  3043  	req.SetContext(ctx)
  3044  	req.ApplyOptions(opts...)
  3045  	return out, req.Send()
  3046  }
  3047  
  3048  const opDescribeConnections = "DescribeConnections"
  3049  
  3050  // DescribeConnectionsRequest generates a "aws/request.Request" representing the
  3051  // client's request for the DescribeConnections operation. The "output" return
  3052  // value will be populated with the request's response once the request completes
  3053  // successfully.
  3054  //
  3055  // Use "Send" method on the returned Request to send the API call to the service.
  3056  // the "output" return value is not valid until after Send returns without error.
  3057  //
  3058  // See DescribeConnections for more information on using the DescribeConnections
  3059  // API call, and error handling.
  3060  //
  3061  // This method is useful when you want to inject custom logic or configuration
  3062  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3063  //
  3064  //
  3065  //    // Example sending a request using the DescribeConnectionsRequest method.
  3066  //    req, resp := client.DescribeConnectionsRequest(params)
  3067  //
  3068  //    err := req.Send()
  3069  //    if err == nil { // resp is now filled
  3070  //        fmt.Println(resp)
  3071  //    }
  3072  //
  3073  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeConnections
  3074  func (c *DirectConnect) DescribeConnectionsRequest(input *DescribeConnectionsInput) (req *request.Request, output *Connections) {
  3075  	op := &request.Operation{
  3076  		Name:       opDescribeConnections,
  3077  		HTTPMethod: "POST",
  3078  		HTTPPath:   "/",
  3079  	}
  3080  
  3081  	if input == nil {
  3082  		input = &DescribeConnectionsInput{}
  3083  	}
  3084  
  3085  	output = &Connections{}
  3086  	req = c.newRequest(op, input, output)
  3087  	return
  3088  }
  3089  
  3090  // DescribeConnections API operation for AWS Direct Connect.
  3091  //
  3092  // Displays the specified connection or all connections in this Region.
  3093  //
  3094  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3095  // with awserr.Error's Code and Message methods to get detailed information about
  3096  // the error.
  3097  //
  3098  // See the AWS API reference guide for AWS Direct Connect's
  3099  // API operation DescribeConnections for usage and error information.
  3100  //
  3101  // Returned Error Types:
  3102  //   * ServerException
  3103  //   A server-side error occurred.
  3104  //
  3105  //   * ClientException
  3106  //   One or more parameters are not valid.
  3107  //
  3108  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeConnections
  3109  func (c *DirectConnect) DescribeConnections(input *DescribeConnectionsInput) (*Connections, error) {
  3110  	req, out := c.DescribeConnectionsRequest(input)
  3111  	return out, req.Send()
  3112  }
  3113  
  3114  // DescribeConnectionsWithContext is the same as DescribeConnections with the addition of
  3115  // the ability to pass a context and additional request options.
  3116  //
  3117  // See DescribeConnections for details on how to use this API operation.
  3118  //
  3119  // The context must be non-nil and will be used for request cancellation. If
  3120  // the context is nil a panic will occur. In the future the SDK may create
  3121  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3122  // for more information on using Contexts.
  3123  func (c *DirectConnect) DescribeConnectionsWithContext(ctx aws.Context, input *DescribeConnectionsInput, opts ...request.Option) (*Connections, error) {
  3124  	req, out := c.DescribeConnectionsRequest(input)
  3125  	req.SetContext(ctx)
  3126  	req.ApplyOptions(opts...)
  3127  	return out, req.Send()
  3128  }
  3129  
  3130  const opDescribeConnectionsOnInterconnect = "DescribeConnectionsOnInterconnect"
  3131  
  3132  // DescribeConnectionsOnInterconnectRequest generates a "aws/request.Request" representing the
  3133  // client's request for the DescribeConnectionsOnInterconnect operation. The "output" return
  3134  // value will be populated with the request's response once the request completes
  3135  // successfully.
  3136  //
  3137  // Use "Send" method on the returned Request to send the API call to the service.
  3138  // the "output" return value is not valid until after Send returns without error.
  3139  //
  3140  // See DescribeConnectionsOnInterconnect for more information on using the DescribeConnectionsOnInterconnect
  3141  // API call, and error handling.
  3142  //
  3143  // This method is useful when you want to inject custom logic or configuration
  3144  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3145  //
  3146  //
  3147  //    // Example sending a request using the DescribeConnectionsOnInterconnectRequest method.
  3148  //    req, resp := client.DescribeConnectionsOnInterconnectRequest(params)
  3149  //
  3150  //    err := req.Send()
  3151  //    if err == nil { // resp is now filled
  3152  //        fmt.Println(resp)
  3153  //    }
  3154  //
  3155  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeConnectionsOnInterconnect
  3156  //
  3157  // Deprecated: DescribeConnectionsOnInterconnect has been deprecated
  3158  func (c *DirectConnect) DescribeConnectionsOnInterconnectRequest(input *DescribeConnectionsOnInterconnectInput) (req *request.Request, output *Connections) {
  3159  	if c.Client.Config.Logger != nil {
  3160  		c.Client.Config.Logger.Log("This operation, DescribeConnectionsOnInterconnect, has been deprecated")
  3161  	}
  3162  	op := &request.Operation{
  3163  		Name:       opDescribeConnectionsOnInterconnect,
  3164  		HTTPMethod: "POST",
  3165  		HTTPPath:   "/",
  3166  	}
  3167  
  3168  	if input == nil {
  3169  		input = &DescribeConnectionsOnInterconnectInput{}
  3170  	}
  3171  
  3172  	output = &Connections{}
  3173  	req = c.newRequest(op, input, output)
  3174  	return
  3175  }
  3176  
  3177  // DescribeConnectionsOnInterconnect API operation for AWS Direct Connect.
  3178  //
  3179  // Deprecated. Use DescribeHostedConnections instead.
  3180  //
  3181  // Lists the connections that have been provisioned on the specified interconnect.
  3182  //
  3183  // Intended for use by Direct Connect Partners only.
  3184  //
  3185  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3186  // with awserr.Error's Code and Message methods to get detailed information about
  3187  // the error.
  3188  //
  3189  // See the AWS API reference guide for AWS Direct Connect's
  3190  // API operation DescribeConnectionsOnInterconnect for usage and error information.
  3191  //
  3192  // Returned Error Types:
  3193  //   * ServerException
  3194  //   A server-side error occurred.
  3195  //
  3196  //   * ClientException
  3197  //   One or more parameters are not valid.
  3198  //
  3199  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeConnectionsOnInterconnect
  3200  //
  3201  // Deprecated: DescribeConnectionsOnInterconnect has been deprecated
  3202  func (c *DirectConnect) DescribeConnectionsOnInterconnect(input *DescribeConnectionsOnInterconnectInput) (*Connections, error) {
  3203  	req, out := c.DescribeConnectionsOnInterconnectRequest(input)
  3204  	return out, req.Send()
  3205  }
  3206  
  3207  // DescribeConnectionsOnInterconnectWithContext is the same as DescribeConnectionsOnInterconnect with the addition of
  3208  // the ability to pass a context and additional request options.
  3209  //
  3210  // See DescribeConnectionsOnInterconnect for details on how to use this API operation.
  3211  //
  3212  // The context must be non-nil and will be used for request cancellation. If
  3213  // the context is nil a panic will occur. In the future the SDK may create
  3214  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3215  // for more information on using Contexts.
  3216  //
  3217  // Deprecated: DescribeConnectionsOnInterconnectWithContext has been deprecated
  3218  func (c *DirectConnect) DescribeConnectionsOnInterconnectWithContext(ctx aws.Context, input *DescribeConnectionsOnInterconnectInput, opts ...request.Option) (*Connections, error) {
  3219  	req, out := c.DescribeConnectionsOnInterconnectRequest(input)
  3220  	req.SetContext(ctx)
  3221  	req.ApplyOptions(opts...)
  3222  	return out, req.Send()
  3223  }
  3224  
  3225  const opDescribeDirectConnectGatewayAssociationProposals = "DescribeDirectConnectGatewayAssociationProposals"
  3226  
  3227  // DescribeDirectConnectGatewayAssociationProposalsRequest generates a "aws/request.Request" representing the
  3228  // client's request for the DescribeDirectConnectGatewayAssociationProposals operation. The "output" return
  3229  // value will be populated with the request's response once the request completes
  3230  // successfully.
  3231  //
  3232  // Use "Send" method on the returned Request to send the API call to the service.
  3233  // the "output" return value is not valid until after Send returns without error.
  3234  //
  3235  // See DescribeDirectConnectGatewayAssociationProposals for more information on using the DescribeDirectConnectGatewayAssociationProposals
  3236  // API call, and error handling.
  3237  //
  3238  // This method is useful when you want to inject custom logic or configuration
  3239  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3240  //
  3241  //
  3242  //    // Example sending a request using the DescribeDirectConnectGatewayAssociationProposalsRequest method.
  3243  //    req, resp := client.DescribeDirectConnectGatewayAssociationProposalsRequest(params)
  3244  //
  3245  //    err := req.Send()
  3246  //    if err == nil { // resp is now filled
  3247  //        fmt.Println(resp)
  3248  //    }
  3249  //
  3250  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeDirectConnectGatewayAssociationProposals
  3251  func (c *DirectConnect) DescribeDirectConnectGatewayAssociationProposalsRequest(input *DescribeDirectConnectGatewayAssociationProposalsInput) (req *request.Request, output *DescribeDirectConnectGatewayAssociationProposalsOutput) {
  3252  	op := &request.Operation{
  3253  		Name:       opDescribeDirectConnectGatewayAssociationProposals,
  3254  		HTTPMethod: "POST",
  3255  		HTTPPath:   "/",
  3256  	}
  3257  
  3258  	if input == nil {
  3259  		input = &DescribeDirectConnectGatewayAssociationProposalsInput{}
  3260  	}
  3261  
  3262  	output = &DescribeDirectConnectGatewayAssociationProposalsOutput{}
  3263  	req = c.newRequest(op, input, output)
  3264  	return
  3265  }
  3266  
  3267  // DescribeDirectConnectGatewayAssociationProposals API operation for AWS Direct Connect.
  3268  //
  3269  // Describes one or more association proposals for connection between a virtual
  3270  // private gateway or transit gateway and a Direct Connect gateway.
  3271  //
  3272  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3273  // with awserr.Error's Code and Message methods to get detailed information about
  3274  // the error.
  3275  //
  3276  // See the AWS API reference guide for AWS Direct Connect's
  3277  // API operation DescribeDirectConnectGatewayAssociationProposals for usage and error information.
  3278  //
  3279  // Returned Error Types:
  3280  //   * ServerException
  3281  //   A server-side error occurred.
  3282  //
  3283  //   * ClientException
  3284  //   One or more parameters are not valid.
  3285  //
  3286  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeDirectConnectGatewayAssociationProposals
  3287  func (c *DirectConnect) DescribeDirectConnectGatewayAssociationProposals(input *DescribeDirectConnectGatewayAssociationProposalsInput) (*DescribeDirectConnectGatewayAssociationProposalsOutput, error) {
  3288  	req, out := c.DescribeDirectConnectGatewayAssociationProposalsRequest(input)
  3289  	return out, req.Send()
  3290  }
  3291  
  3292  // DescribeDirectConnectGatewayAssociationProposalsWithContext is the same as DescribeDirectConnectGatewayAssociationProposals with the addition of
  3293  // the ability to pass a context and additional request options.
  3294  //
  3295  // See DescribeDirectConnectGatewayAssociationProposals for details on how to use this API operation.
  3296  //
  3297  // The context must be non-nil and will be used for request cancellation. If
  3298  // the context is nil a panic will occur. In the future the SDK may create
  3299  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3300  // for more information on using Contexts.
  3301  func (c *DirectConnect) DescribeDirectConnectGatewayAssociationProposalsWithContext(ctx aws.Context, input *DescribeDirectConnectGatewayAssociationProposalsInput, opts ...request.Option) (*DescribeDirectConnectGatewayAssociationProposalsOutput, error) {
  3302  	req, out := c.DescribeDirectConnectGatewayAssociationProposalsRequest(input)
  3303  	req.SetContext(ctx)
  3304  	req.ApplyOptions(opts...)
  3305  	return out, req.Send()
  3306  }
  3307  
  3308  const opDescribeDirectConnectGatewayAssociations = "DescribeDirectConnectGatewayAssociations"
  3309  
  3310  // DescribeDirectConnectGatewayAssociationsRequest generates a "aws/request.Request" representing the
  3311  // client's request for the DescribeDirectConnectGatewayAssociations operation. The "output" return
  3312  // value will be populated with the request's response once the request completes
  3313  // successfully.
  3314  //
  3315  // Use "Send" method on the returned Request to send the API call to the service.
  3316  // the "output" return value is not valid until after Send returns without error.
  3317  //
  3318  // See DescribeDirectConnectGatewayAssociations for more information on using the DescribeDirectConnectGatewayAssociations
  3319  // API call, and error handling.
  3320  //
  3321  // This method is useful when you want to inject custom logic or configuration
  3322  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3323  //
  3324  //
  3325  //    // Example sending a request using the DescribeDirectConnectGatewayAssociationsRequest method.
  3326  //    req, resp := client.DescribeDirectConnectGatewayAssociationsRequest(params)
  3327  //
  3328  //    err := req.Send()
  3329  //    if err == nil { // resp is now filled
  3330  //        fmt.Println(resp)
  3331  //    }
  3332  //
  3333  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeDirectConnectGatewayAssociations
  3334  func (c *DirectConnect) DescribeDirectConnectGatewayAssociationsRequest(input *DescribeDirectConnectGatewayAssociationsInput) (req *request.Request, output *DescribeDirectConnectGatewayAssociationsOutput) {
  3335  	op := &request.Operation{
  3336  		Name:       opDescribeDirectConnectGatewayAssociations,
  3337  		HTTPMethod: "POST",
  3338  		HTTPPath:   "/",
  3339  	}
  3340  
  3341  	if input == nil {
  3342  		input = &DescribeDirectConnectGatewayAssociationsInput{}
  3343  	}
  3344  
  3345  	output = &DescribeDirectConnectGatewayAssociationsOutput{}
  3346  	req = c.newRequest(op, input, output)
  3347  	return
  3348  }
  3349  
  3350  // DescribeDirectConnectGatewayAssociations API operation for AWS Direct Connect.
  3351  //
  3352  // Lists the associations between your Direct Connect gateways and virtual private
  3353  // gateways and transit gateways. You must specify one of the following:
  3354  //
  3355  //    * A Direct Connect gateway The response contains all virtual private gateways
  3356  //    and transit gateways associated with the Direct Connect gateway.
  3357  //
  3358  //    * A virtual private gateway The response contains the Direct Connect gateway.
  3359  //
  3360  //    * A transit gateway The response contains the Direct Connect gateway.
  3361  //
  3362  //    * A Direct Connect gateway and a virtual private gateway The response
  3363  //    contains the association between the Direct Connect gateway and virtual
  3364  //    private gateway.
  3365  //
  3366  //    * A Direct Connect gateway and a transit gateway The response contains
  3367  //    the association between the Direct Connect gateway and transit gateway.
  3368  //
  3369  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3370  // with awserr.Error's Code and Message methods to get detailed information about
  3371  // the error.
  3372  //
  3373  // See the AWS API reference guide for AWS Direct Connect's
  3374  // API operation DescribeDirectConnectGatewayAssociations for usage and error information.
  3375  //
  3376  // Returned Error Types:
  3377  //   * ServerException
  3378  //   A server-side error occurred.
  3379  //
  3380  //   * ClientException
  3381  //   One or more parameters are not valid.
  3382  //
  3383  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeDirectConnectGatewayAssociations
  3384  func (c *DirectConnect) DescribeDirectConnectGatewayAssociations(input *DescribeDirectConnectGatewayAssociationsInput) (*DescribeDirectConnectGatewayAssociationsOutput, error) {
  3385  	req, out := c.DescribeDirectConnectGatewayAssociationsRequest(input)
  3386  	return out, req.Send()
  3387  }
  3388  
  3389  // DescribeDirectConnectGatewayAssociationsWithContext is the same as DescribeDirectConnectGatewayAssociations with the addition of
  3390  // the ability to pass a context and additional request options.
  3391  //
  3392  // See DescribeDirectConnectGatewayAssociations for details on how to use this API operation.
  3393  //
  3394  // The context must be non-nil and will be used for request cancellation. If
  3395  // the context is nil a panic will occur. In the future the SDK may create
  3396  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3397  // for more information on using Contexts.
  3398  func (c *DirectConnect) DescribeDirectConnectGatewayAssociationsWithContext(ctx aws.Context, input *DescribeDirectConnectGatewayAssociationsInput, opts ...request.Option) (*DescribeDirectConnectGatewayAssociationsOutput, error) {
  3399  	req, out := c.DescribeDirectConnectGatewayAssociationsRequest(input)
  3400  	req.SetContext(ctx)
  3401  	req.ApplyOptions(opts...)
  3402  	return out, req.Send()
  3403  }
  3404  
  3405  const opDescribeDirectConnectGatewayAttachments = "DescribeDirectConnectGatewayAttachments"
  3406  
  3407  // DescribeDirectConnectGatewayAttachmentsRequest generates a "aws/request.Request" representing the
  3408  // client's request for the DescribeDirectConnectGatewayAttachments operation. The "output" return
  3409  // value will be populated with the request's response once the request completes
  3410  // successfully.
  3411  //
  3412  // Use "Send" method on the returned Request to send the API call to the service.
  3413  // the "output" return value is not valid until after Send returns without error.
  3414  //
  3415  // See DescribeDirectConnectGatewayAttachments for more information on using the DescribeDirectConnectGatewayAttachments
  3416  // API call, and error handling.
  3417  //
  3418  // This method is useful when you want to inject custom logic or configuration
  3419  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3420  //
  3421  //
  3422  //    // Example sending a request using the DescribeDirectConnectGatewayAttachmentsRequest method.
  3423  //    req, resp := client.DescribeDirectConnectGatewayAttachmentsRequest(params)
  3424  //
  3425  //    err := req.Send()
  3426  //    if err == nil { // resp is now filled
  3427  //        fmt.Println(resp)
  3428  //    }
  3429  //
  3430  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeDirectConnectGatewayAttachments
  3431  func (c *DirectConnect) DescribeDirectConnectGatewayAttachmentsRequest(input *DescribeDirectConnectGatewayAttachmentsInput) (req *request.Request, output *DescribeDirectConnectGatewayAttachmentsOutput) {
  3432  	op := &request.Operation{
  3433  		Name:       opDescribeDirectConnectGatewayAttachments,
  3434  		HTTPMethod: "POST",
  3435  		HTTPPath:   "/",
  3436  	}
  3437  
  3438  	if input == nil {
  3439  		input = &DescribeDirectConnectGatewayAttachmentsInput{}
  3440  	}
  3441  
  3442  	output = &DescribeDirectConnectGatewayAttachmentsOutput{}
  3443  	req = c.newRequest(op, input, output)
  3444  	return
  3445  }
  3446  
  3447  // DescribeDirectConnectGatewayAttachments API operation for AWS Direct Connect.
  3448  //
  3449  // Lists the attachments between your Direct Connect gateways and virtual interfaces.
  3450  // You must specify a Direct Connect gateway, a virtual interface, or both.
  3451  // If you specify a Direct Connect gateway, the response contains all virtual
  3452  // interfaces attached to the Direct Connect gateway. If you specify a virtual
  3453  // interface, the response contains all Direct Connect gateways attached to
  3454  // the virtual interface. If you specify both, the response contains the attachment
  3455  // between the Direct Connect gateway and the virtual interface.
  3456  //
  3457  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3458  // with awserr.Error's Code and Message methods to get detailed information about
  3459  // the error.
  3460  //
  3461  // See the AWS API reference guide for AWS Direct Connect's
  3462  // API operation DescribeDirectConnectGatewayAttachments for usage and error information.
  3463  //
  3464  // Returned Error Types:
  3465  //   * ServerException
  3466  //   A server-side error occurred.
  3467  //
  3468  //   * ClientException
  3469  //   One or more parameters are not valid.
  3470  //
  3471  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeDirectConnectGatewayAttachments
  3472  func (c *DirectConnect) DescribeDirectConnectGatewayAttachments(input *DescribeDirectConnectGatewayAttachmentsInput) (*DescribeDirectConnectGatewayAttachmentsOutput, error) {
  3473  	req, out := c.DescribeDirectConnectGatewayAttachmentsRequest(input)
  3474  	return out, req.Send()
  3475  }
  3476  
  3477  // DescribeDirectConnectGatewayAttachmentsWithContext is the same as DescribeDirectConnectGatewayAttachments with the addition of
  3478  // the ability to pass a context and additional request options.
  3479  //
  3480  // See DescribeDirectConnectGatewayAttachments for details on how to use this API operation.
  3481  //
  3482  // The context must be non-nil and will be used for request cancellation. If
  3483  // the context is nil a panic will occur. In the future the SDK may create
  3484  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3485  // for more information on using Contexts.
  3486  func (c *DirectConnect) DescribeDirectConnectGatewayAttachmentsWithContext(ctx aws.Context, input *DescribeDirectConnectGatewayAttachmentsInput, opts ...request.Option) (*DescribeDirectConnectGatewayAttachmentsOutput, error) {
  3487  	req, out := c.DescribeDirectConnectGatewayAttachmentsRequest(input)
  3488  	req.SetContext(ctx)
  3489  	req.ApplyOptions(opts...)
  3490  	return out, req.Send()
  3491  }
  3492  
  3493  const opDescribeDirectConnectGateways = "DescribeDirectConnectGateways"
  3494  
  3495  // DescribeDirectConnectGatewaysRequest generates a "aws/request.Request" representing the
  3496  // client's request for the DescribeDirectConnectGateways operation. The "output" return
  3497  // value will be populated with the request's response once the request completes
  3498  // successfully.
  3499  //
  3500  // Use "Send" method on the returned Request to send the API call to the service.
  3501  // the "output" return value is not valid until after Send returns without error.
  3502  //
  3503  // See DescribeDirectConnectGateways for more information on using the DescribeDirectConnectGateways
  3504  // API call, and error handling.
  3505  //
  3506  // This method is useful when you want to inject custom logic or configuration
  3507  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3508  //
  3509  //
  3510  //    // Example sending a request using the DescribeDirectConnectGatewaysRequest method.
  3511  //    req, resp := client.DescribeDirectConnectGatewaysRequest(params)
  3512  //
  3513  //    err := req.Send()
  3514  //    if err == nil { // resp is now filled
  3515  //        fmt.Println(resp)
  3516  //    }
  3517  //
  3518  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeDirectConnectGateways
  3519  func (c *DirectConnect) DescribeDirectConnectGatewaysRequest(input *DescribeDirectConnectGatewaysInput) (req *request.Request, output *DescribeDirectConnectGatewaysOutput) {
  3520  	op := &request.Operation{
  3521  		Name:       opDescribeDirectConnectGateways,
  3522  		HTTPMethod: "POST",
  3523  		HTTPPath:   "/",
  3524  	}
  3525  
  3526  	if input == nil {
  3527  		input = &DescribeDirectConnectGatewaysInput{}
  3528  	}
  3529  
  3530  	output = &DescribeDirectConnectGatewaysOutput{}
  3531  	req = c.newRequest(op, input, output)
  3532  	return
  3533  }
  3534  
  3535  // DescribeDirectConnectGateways API operation for AWS Direct Connect.
  3536  //
  3537  // Lists all your Direct Connect gateways or only the specified Direct Connect
  3538  // gateway. Deleted Direct Connect gateways are not returned.
  3539  //
  3540  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3541  // with awserr.Error's Code and Message methods to get detailed information about
  3542  // the error.
  3543  //
  3544  // See the AWS API reference guide for AWS Direct Connect's
  3545  // API operation DescribeDirectConnectGateways for usage and error information.
  3546  //
  3547  // Returned Error Types:
  3548  //   * ServerException
  3549  //   A server-side error occurred.
  3550  //
  3551  //   * ClientException
  3552  //   One or more parameters are not valid.
  3553  //
  3554  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeDirectConnectGateways
  3555  func (c *DirectConnect) DescribeDirectConnectGateways(input *DescribeDirectConnectGatewaysInput) (*DescribeDirectConnectGatewaysOutput, error) {
  3556  	req, out := c.DescribeDirectConnectGatewaysRequest(input)
  3557  	return out, req.Send()
  3558  }
  3559  
  3560  // DescribeDirectConnectGatewaysWithContext is the same as DescribeDirectConnectGateways with the addition of
  3561  // the ability to pass a context and additional request options.
  3562  //
  3563  // See DescribeDirectConnectGateways for details on how to use this API operation.
  3564  //
  3565  // The context must be non-nil and will be used for request cancellation. If
  3566  // the context is nil a panic will occur. In the future the SDK may create
  3567  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3568  // for more information on using Contexts.
  3569  func (c *DirectConnect) DescribeDirectConnectGatewaysWithContext(ctx aws.Context, input *DescribeDirectConnectGatewaysInput, opts ...request.Option) (*DescribeDirectConnectGatewaysOutput, error) {
  3570  	req, out := c.DescribeDirectConnectGatewaysRequest(input)
  3571  	req.SetContext(ctx)
  3572  	req.ApplyOptions(opts...)
  3573  	return out, req.Send()
  3574  }
  3575  
  3576  const opDescribeHostedConnections = "DescribeHostedConnections"
  3577  
  3578  // DescribeHostedConnectionsRequest generates a "aws/request.Request" representing the
  3579  // client's request for the DescribeHostedConnections operation. The "output" return
  3580  // value will be populated with the request's response once the request completes
  3581  // successfully.
  3582  //
  3583  // Use "Send" method on the returned Request to send the API call to the service.
  3584  // the "output" return value is not valid until after Send returns without error.
  3585  //
  3586  // See DescribeHostedConnections for more information on using the DescribeHostedConnections
  3587  // API call, and error handling.
  3588  //
  3589  // This method is useful when you want to inject custom logic or configuration
  3590  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3591  //
  3592  //
  3593  //    // Example sending a request using the DescribeHostedConnectionsRequest method.
  3594  //    req, resp := client.DescribeHostedConnectionsRequest(params)
  3595  //
  3596  //    err := req.Send()
  3597  //    if err == nil { // resp is now filled
  3598  //        fmt.Println(resp)
  3599  //    }
  3600  //
  3601  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeHostedConnections
  3602  func (c *DirectConnect) DescribeHostedConnectionsRequest(input *DescribeHostedConnectionsInput) (req *request.Request, output *Connections) {
  3603  	op := &request.Operation{
  3604  		Name:       opDescribeHostedConnections,
  3605  		HTTPMethod: "POST",
  3606  		HTTPPath:   "/",
  3607  	}
  3608  
  3609  	if input == nil {
  3610  		input = &DescribeHostedConnectionsInput{}
  3611  	}
  3612  
  3613  	output = &Connections{}
  3614  	req = c.newRequest(op, input, output)
  3615  	return
  3616  }
  3617  
  3618  // DescribeHostedConnections API operation for AWS Direct Connect.
  3619  //
  3620  // Lists the hosted connections that have been provisioned on the specified
  3621  // interconnect or link aggregation group (LAG).
  3622  //
  3623  // Intended for use by Direct Connect Partners only.
  3624  //
  3625  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3626  // with awserr.Error's Code and Message methods to get detailed information about
  3627  // the error.
  3628  //
  3629  // See the AWS API reference guide for AWS Direct Connect's
  3630  // API operation DescribeHostedConnections for usage and error information.
  3631  //
  3632  // Returned Error Types:
  3633  //   * ServerException
  3634  //   A server-side error occurred.
  3635  //
  3636  //   * ClientException
  3637  //   One or more parameters are not valid.
  3638  //
  3639  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeHostedConnections
  3640  func (c *DirectConnect) DescribeHostedConnections(input *DescribeHostedConnectionsInput) (*Connections, error) {
  3641  	req, out := c.DescribeHostedConnectionsRequest(input)
  3642  	return out, req.Send()
  3643  }
  3644  
  3645  // DescribeHostedConnectionsWithContext is the same as DescribeHostedConnections with the addition of
  3646  // the ability to pass a context and additional request options.
  3647  //
  3648  // See DescribeHostedConnections for details on how to use this API operation.
  3649  //
  3650  // The context must be non-nil and will be used for request cancellation. If
  3651  // the context is nil a panic will occur. In the future the SDK may create
  3652  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3653  // for more information on using Contexts.
  3654  func (c *DirectConnect) DescribeHostedConnectionsWithContext(ctx aws.Context, input *DescribeHostedConnectionsInput, opts ...request.Option) (*Connections, error) {
  3655  	req, out := c.DescribeHostedConnectionsRequest(input)
  3656  	req.SetContext(ctx)
  3657  	req.ApplyOptions(opts...)
  3658  	return out, req.Send()
  3659  }
  3660  
  3661  const opDescribeInterconnectLoa = "DescribeInterconnectLoa"
  3662  
  3663  // DescribeInterconnectLoaRequest generates a "aws/request.Request" representing the
  3664  // client's request for the DescribeInterconnectLoa operation. The "output" return
  3665  // value will be populated with the request's response once the request completes
  3666  // successfully.
  3667  //
  3668  // Use "Send" method on the returned Request to send the API call to the service.
  3669  // the "output" return value is not valid until after Send returns without error.
  3670  //
  3671  // See DescribeInterconnectLoa for more information on using the DescribeInterconnectLoa
  3672  // API call, and error handling.
  3673  //
  3674  // This method is useful when you want to inject custom logic or configuration
  3675  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3676  //
  3677  //
  3678  //    // Example sending a request using the DescribeInterconnectLoaRequest method.
  3679  //    req, resp := client.DescribeInterconnectLoaRequest(params)
  3680  //
  3681  //    err := req.Send()
  3682  //    if err == nil { // resp is now filled
  3683  //        fmt.Println(resp)
  3684  //    }
  3685  //
  3686  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeInterconnectLoa
  3687  //
  3688  // Deprecated: DescribeInterconnectLoa has been deprecated
  3689  func (c *DirectConnect) DescribeInterconnectLoaRequest(input *DescribeInterconnectLoaInput) (req *request.Request, output *DescribeInterconnectLoaOutput) {
  3690  	if c.Client.Config.Logger != nil {
  3691  		c.Client.Config.Logger.Log("This operation, DescribeInterconnectLoa, has been deprecated")
  3692  	}
  3693  	op := &request.Operation{
  3694  		Name:       opDescribeInterconnectLoa,
  3695  		HTTPMethod: "POST",
  3696  		HTTPPath:   "/",
  3697  	}
  3698  
  3699  	if input == nil {
  3700  		input = &DescribeInterconnectLoaInput{}
  3701  	}
  3702  
  3703  	output = &DescribeInterconnectLoaOutput{}
  3704  	req = c.newRequest(op, input, output)
  3705  	return
  3706  }
  3707  
  3708  // DescribeInterconnectLoa API operation for AWS Direct Connect.
  3709  //
  3710  // Deprecated. Use DescribeLoa instead.
  3711  //
  3712  // Gets the LOA-CFA for the specified interconnect.
  3713  //
  3714  // The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is
  3715  // a document that is used when establishing your cross connect to Amazon Web
  3716  // Services at the colocation facility. For more information, see Requesting
  3717  // Cross Connects at Direct Connect Locations (https://docs.aws.amazon.com/directconnect/latest/UserGuide/Colocation.html)
  3718  // in the Direct Connect User Guide.
  3719  //
  3720  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3721  // with awserr.Error's Code and Message methods to get detailed information about
  3722  // the error.
  3723  //
  3724  // See the AWS API reference guide for AWS Direct Connect's
  3725  // API operation DescribeInterconnectLoa for usage and error information.
  3726  //
  3727  // Returned Error Types:
  3728  //   * ServerException
  3729  //   A server-side error occurred.
  3730  //
  3731  //   * ClientException
  3732  //   One or more parameters are not valid.
  3733  //
  3734  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeInterconnectLoa
  3735  //
  3736  // Deprecated: DescribeInterconnectLoa has been deprecated
  3737  func (c *DirectConnect) DescribeInterconnectLoa(input *DescribeInterconnectLoaInput) (*DescribeInterconnectLoaOutput, error) {
  3738  	req, out := c.DescribeInterconnectLoaRequest(input)
  3739  	return out, req.Send()
  3740  }
  3741  
  3742  // DescribeInterconnectLoaWithContext is the same as DescribeInterconnectLoa with the addition of
  3743  // the ability to pass a context and additional request options.
  3744  //
  3745  // See DescribeInterconnectLoa for details on how to use this API operation.
  3746  //
  3747  // The context must be non-nil and will be used for request cancellation. If
  3748  // the context is nil a panic will occur. In the future the SDK may create
  3749  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3750  // for more information on using Contexts.
  3751  //
  3752  // Deprecated: DescribeInterconnectLoaWithContext has been deprecated
  3753  func (c *DirectConnect) DescribeInterconnectLoaWithContext(ctx aws.Context, input *DescribeInterconnectLoaInput, opts ...request.Option) (*DescribeInterconnectLoaOutput, error) {
  3754  	req, out := c.DescribeInterconnectLoaRequest(input)
  3755  	req.SetContext(ctx)
  3756  	req.ApplyOptions(opts...)
  3757  	return out, req.Send()
  3758  }
  3759  
  3760  const opDescribeInterconnects = "DescribeInterconnects"
  3761  
  3762  // DescribeInterconnectsRequest generates a "aws/request.Request" representing the
  3763  // client's request for the DescribeInterconnects operation. The "output" return
  3764  // value will be populated with the request's response once the request completes
  3765  // successfully.
  3766  //
  3767  // Use "Send" method on the returned Request to send the API call to the service.
  3768  // the "output" return value is not valid until after Send returns without error.
  3769  //
  3770  // See DescribeInterconnects for more information on using the DescribeInterconnects
  3771  // API call, and error handling.
  3772  //
  3773  // This method is useful when you want to inject custom logic or configuration
  3774  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3775  //
  3776  //
  3777  //    // Example sending a request using the DescribeInterconnectsRequest method.
  3778  //    req, resp := client.DescribeInterconnectsRequest(params)
  3779  //
  3780  //    err := req.Send()
  3781  //    if err == nil { // resp is now filled
  3782  //        fmt.Println(resp)
  3783  //    }
  3784  //
  3785  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeInterconnects
  3786  func (c *DirectConnect) DescribeInterconnectsRequest(input *DescribeInterconnectsInput) (req *request.Request, output *DescribeInterconnectsOutput) {
  3787  	op := &request.Operation{
  3788  		Name:       opDescribeInterconnects,
  3789  		HTTPMethod: "POST",
  3790  		HTTPPath:   "/",
  3791  	}
  3792  
  3793  	if input == nil {
  3794  		input = &DescribeInterconnectsInput{}
  3795  	}
  3796  
  3797  	output = &DescribeInterconnectsOutput{}
  3798  	req = c.newRequest(op, input, output)
  3799  	return
  3800  }
  3801  
  3802  // DescribeInterconnects API operation for AWS Direct Connect.
  3803  //
  3804  // Lists the interconnects owned by the account or only the specified interconnect.
  3805  //
  3806  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3807  // with awserr.Error's Code and Message methods to get detailed information about
  3808  // the error.
  3809  //
  3810  // See the AWS API reference guide for AWS Direct Connect's
  3811  // API operation DescribeInterconnects for usage and error information.
  3812  //
  3813  // Returned Error Types:
  3814  //   * ServerException
  3815  //   A server-side error occurred.
  3816  //
  3817  //   * ClientException
  3818  //   One or more parameters are not valid.
  3819  //
  3820  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeInterconnects
  3821  func (c *DirectConnect) DescribeInterconnects(input *DescribeInterconnectsInput) (*DescribeInterconnectsOutput, error) {
  3822  	req, out := c.DescribeInterconnectsRequest(input)
  3823  	return out, req.Send()
  3824  }
  3825  
  3826  // DescribeInterconnectsWithContext is the same as DescribeInterconnects with the addition of
  3827  // the ability to pass a context and additional request options.
  3828  //
  3829  // See DescribeInterconnects for details on how to use this API operation.
  3830  //
  3831  // The context must be non-nil and will be used for request cancellation. If
  3832  // the context is nil a panic will occur. In the future the SDK may create
  3833  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3834  // for more information on using Contexts.
  3835  func (c *DirectConnect) DescribeInterconnectsWithContext(ctx aws.Context, input *DescribeInterconnectsInput, opts ...request.Option) (*DescribeInterconnectsOutput, error) {
  3836  	req, out := c.DescribeInterconnectsRequest(input)
  3837  	req.SetContext(ctx)
  3838  	req.ApplyOptions(opts...)
  3839  	return out, req.Send()
  3840  }
  3841  
  3842  const opDescribeLags = "DescribeLags"
  3843  
  3844  // DescribeLagsRequest generates a "aws/request.Request" representing the
  3845  // client's request for the DescribeLags operation. The "output" return
  3846  // value will be populated with the request's response once the request completes
  3847  // successfully.
  3848  //
  3849  // Use "Send" method on the returned Request to send the API call to the service.
  3850  // the "output" return value is not valid until after Send returns without error.
  3851  //
  3852  // See DescribeLags for more information on using the DescribeLags
  3853  // API call, and error handling.
  3854  //
  3855  // This method is useful when you want to inject custom logic or configuration
  3856  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3857  //
  3858  //
  3859  //    // Example sending a request using the DescribeLagsRequest method.
  3860  //    req, resp := client.DescribeLagsRequest(params)
  3861  //
  3862  //    err := req.Send()
  3863  //    if err == nil { // resp is now filled
  3864  //        fmt.Println(resp)
  3865  //    }
  3866  //
  3867  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeLags
  3868  func (c *DirectConnect) DescribeLagsRequest(input *DescribeLagsInput) (req *request.Request, output *DescribeLagsOutput) {
  3869  	op := &request.Operation{
  3870  		Name:       opDescribeLags,
  3871  		HTTPMethod: "POST",
  3872  		HTTPPath:   "/",
  3873  	}
  3874  
  3875  	if input == nil {
  3876  		input = &DescribeLagsInput{}
  3877  	}
  3878  
  3879  	output = &DescribeLagsOutput{}
  3880  	req = c.newRequest(op, input, output)
  3881  	return
  3882  }
  3883  
  3884  // DescribeLags API operation for AWS Direct Connect.
  3885  //
  3886  // Describes all your link aggregation groups (LAG) or the specified LAG.
  3887  //
  3888  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3889  // with awserr.Error's Code and Message methods to get detailed information about
  3890  // the error.
  3891  //
  3892  // See the AWS API reference guide for AWS Direct Connect's
  3893  // API operation DescribeLags for usage and error information.
  3894  //
  3895  // Returned Error Types:
  3896  //   * ServerException
  3897  //   A server-side error occurred.
  3898  //
  3899  //   * ClientException
  3900  //   One or more parameters are not valid.
  3901  //
  3902  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeLags
  3903  func (c *DirectConnect) DescribeLags(input *DescribeLagsInput) (*DescribeLagsOutput, error) {
  3904  	req, out := c.DescribeLagsRequest(input)
  3905  	return out, req.Send()
  3906  }
  3907  
  3908  // DescribeLagsWithContext is the same as DescribeLags with the addition of
  3909  // the ability to pass a context and additional request options.
  3910  //
  3911  // See DescribeLags for details on how to use this API operation.
  3912  //
  3913  // The context must be non-nil and will be used for request cancellation. If
  3914  // the context is nil a panic will occur. In the future the SDK may create
  3915  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3916  // for more information on using Contexts.
  3917  func (c *DirectConnect) DescribeLagsWithContext(ctx aws.Context, input *DescribeLagsInput, opts ...request.Option) (*DescribeLagsOutput, error) {
  3918  	req, out := c.DescribeLagsRequest(input)
  3919  	req.SetContext(ctx)
  3920  	req.ApplyOptions(opts...)
  3921  	return out, req.Send()
  3922  }
  3923  
  3924  const opDescribeLoa = "DescribeLoa"
  3925  
  3926  // DescribeLoaRequest generates a "aws/request.Request" representing the
  3927  // client's request for the DescribeLoa operation. The "output" return
  3928  // value will be populated with the request's response once the request completes
  3929  // successfully.
  3930  //
  3931  // Use "Send" method on the returned Request to send the API call to the service.
  3932  // the "output" return value is not valid until after Send returns without error.
  3933  //
  3934  // See DescribeLoa for more information on using the DescribeLoa
  3935  // API call, and error handling.
  3936  //
  3937  // This method is useful when you want to inject custom logic or configuration
  3938  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3939  //
  3940  //
  3941  //    // Example sending a request using the DescribeLoaRequest method.
  3942  //    req, resp := client.DescribeLoaRequest(params)
  3943  //
  3944  //    err := req.Send()
  3945  //    if err == nil { // resp is now filled
  3946  //        fmt.Println(resp)
  3947  //    }
  3948  //
  3949  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeLoa
  3950  func (c *DirectConnect) DescribeLoaRequest(input *DescribeLoaInput) (req *request.Request, output *Loa) {
  3951  	op := &request.Operation{
  3952  		Name:       opDescribeLoa,
  3953  		HTTPMethod: "POST",
  3954  		HTTPPath:   "/",
  3955  	}
  3956  
  3957  	if input == nil {
  3958  		input = &DescribeLoaInput{}
  3959  	}
  3960  
  3961  	output = &Loa{}
  3962  	req = c.newRequest(op, input, output)
  3963  	return
  3964  }
  3965  
  3966  // DescribeLoa API operation for AWS Direct Connect.
  3967  //
  3968  // Gets the LOA-CFA for a connection, interconnect, or link aggregation group
  3969  // (LAG).
  3970  //
  3971  // The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is
  3972  // a document that is used when establishing your cross connect to Amazon Web
  3973  // Services at the colocation facility. For more information, see Requesting
  3974  // Cross Connects at Direct Connect Locations (https://docs.aws.amazon.com/directconnect/latest/UserGuide/Colocation.html)
  3975  // in the Direct Connect User Guide.
  3976  //
  3977  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3978  // with awserr.Error's Code and Message methods to get detailed information about
  3979  // the error.
  3980  //
  3981  // See the AWS API reference guide for AWS Direct Connect's
  3982  // API operation DescribeLoa for usage and error information.
  3983  //
  3984  // Returned Error Types:
  3985  //   * ServerException
  3986  //   A server-side error occurred.
  3987  //
  3988  //   * ClientException
  3989  //   One or more parameters are not valid.
  3990  //
  3991  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeLoa
  3992  func (c *DirectConnect) DescribeLoa(input *DescribeLoaInput) (*Loa, error) {
  3993  	req, out := c.DescribeLoaRequest(input)
  3994  	return out, req.Send()
  3995  }
  3996  
  3997  // DescribeLoaWithContext is the same as DescribeLoa with the addition of
  3998  // the ability to pass a context and additional request options.
  3999  //
  4000  // See DescribeLoa for details on how to use this API operation.
  4001  //
  4002  // The context must be non-nil and will be used for request cancellation. If
  4003  // the context is nil a panic will occur. In the future the SDK may create
  4004  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4005  // for more information on using Contexts.
  4006  func (c *DirectConnect) DescribeLoaWithContext(ctx aws.Context, input *DescribeLoaInput, opts ...request.Option) (*Loa, error) {
  4007  	req, out := c.DescribeLoaRequest(input)
  4008  	req.SetContext(ctx)
  4009  	req.ApplyOptions(opts...)
  4010  	return out, req.Send()
  4011  }
  4012  
  4013  const opDescribeLocations = "DescribeLocations"
  4014  
  4015  // DescribeLocationsRequest generates a "aws/request.Request" representing the
  4016  // client's request for the DescribeLocations operation. The "output" return
  4017  // value will be populated with the request's response once the request completes
  4018  // successfully.
  4019  //
  4020  // Use "Send" method on the returned Request to send the API call to the service.
  4021  // the "output" return value is not valid until after Send returns without error.
  4022  //
  4023  // See DescribeLocations for more information on using the DescribeLocations
  4024  // API call, and error handling.
  4025  //
  4026  // This method is useful when you want to inject custom logic or configuration
  4027  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4028  //
  4029  //
  4030  //    // Example sending a request using the DescribeLocationsRequest method.
  4031  //    req, resp := client.DescribeLocationsRequest(params)
  4032  //
  4033  //    err := req.Send()
  4034  //    if err == nil { // resp is now filled
  4035  //        fmt.Println(resp)
  4036  //    }
  4037  //
  4038  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeLocations
  4039  func (c *DirectConnect) DescribeLocationsRequest(input *DescribeLocationsInput) (req *request.Request, output *DescribeLocationsOutput) {
  4040  	op := &request.Operation{
  4041  		Name:       opDescribeLocations,
  4042  		HTTPMethod: "POST",
  4043  		HTTPPath:   "/",
  4044  	}
  4045  
  4046  	if input == nil {
  4047  		input = &DescribeLocationsInput{}
  4048  	}
  4049  
  4050  	output = &DescribeLocationsOutput{}
  4051  	req = c.newRequest(op, input, output)
  4052  	return
  4053  }
  4054  
  4055  // DescribeLocations API operation for AWS Direct Connect.
  4056  //
  4057  // Lists the Direct Connect locations in the current Region. These are the locations
  4058  // that can be selected when calling CreateConnection or CreateInterconnect.
  4059  //
  4060  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4061  // with awserr.Error's Code and Message methods to get detailed information about
  4062  // the error.
  4063  //
  4064  // See the AWS API reference guide for AWS Direct Connect's
  4065  // API operation DescribeLocations for usage and error information.
  4066  //
  4067  // Returned Error Types:
  4068  //   * ServerException
  4069  //   A server-side error occurred.
  4070  //
  4071  //   * ClientException
  4072  //   One or more parameters are not valid.
  4073  //
  4074  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeLocations
  4075  func (c *DirectConnect) DescribeLocations(input *DescribeLocationsInput) (*DescribeLocationsOutput, error) {
  4076  	req, out := c.DescribeLocationsRequest(input)
  4077  	return out, req.Send()
  4078  }
  4079  
  4080  // DescribeLocationsWithContext is the same as DescribeLocations with the addition of
  4081  // the ability to pass a context and additional request options.
  4082  //
  4083  // See DescribeLocations for details on how to use this API operation.
  4084  //
  4085  // The context must be non-nil and will be used for request cancellation. If
  4086  // the context is nil a panic will occur. In the future the SDK may create
  4087  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4088  // for more information on using Contexts.
  4089  func (c *DirectConnect) DescribeLocationsWithContext(ctx aws.Context, input *DescribeLocationsInput, opts ...request.Option) (*DescribeLocationsOutput, error) {
  4090  	req, out := c.DescribeLocationsRequest(input)
  4091  	req.SetContext(ctx)
  4092  	req.ApplyOptions(opts...)
  4093  	return out, req.Send()
  4094  }
  4095  
  4096  const opDescribeTags = "DescribeTags"
  4097  
  4098  // DescribeTagsRequest generates a "aws/request.Request" representing the
  4099  // client's request for the DescribeTags operation. The "output" return
  4100  // value will be populated with the request's response once the request completes
  4101  // successfully.
  4102  //
  4103  // Use "Send" method on the returned Request to send the API call to the service.
  4104  // the "output" return value is not valid until after Send returns without error.
  4105  //
  4106  // See DescribeTags for more information on using the DescribeTags
  4107  // API call, and error handling.
  4108  //
  4109  // This method is useful when you want to inject custom logic or configuration
  4110  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4111  //
  4112  //
  4113  //    // Example sending a request using the DescribeTagsRequest method.
  4114  //    req, resp := client.DescribeTagsRequest(params)
  4115  //
  4116  //    err := req.Send()
  4117  //    if err == nil { // resp is now filled
  4118  //        fmt.Println(resp)
  4119  //    }
  4120  //
  4121  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeTags
  4122  func (c *DirectConnect) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  4123  	op := &request.Operation{
  4124  		Name:       opDescribeTags,
  4125  		HTTPMethod: "POST",
  4126  		HTTPPath:   "/",
  4127  	}
  4128  
  4129  	if input == nil {
  4130  		input = &DescribeTagsInput{}
  4131  	}
  4132  
  4133  	output = &DescribeTagsOutput{}
  4134  	req = c.newRequest(op, input, output)
  4135  	return
  4136  }
  4137  
  4138  // DescribeTags API operation for AWS Direct Connect.
  4139  //
  4140  // Describes the tags associated with the specified Direct Connect resources.
  4141  //
  4142  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4143  // with awserr.Error's Code and Message methods to get detailed information about
  4144  // the error.
  4145  //
  4146  // See the AWS API reference guide for AWS Direct Connect's
  4147  // API operation DescribeTags for usage and error information.
  4148  //
  4149  // Returned Error Types:
  4150  //   * ServerException
  4151  //   A server-side error occurred.
  4152  //
  4153  //   * ClientException
  4154  //   One or more parameters are not valid.
  4155  //
  4156  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeTags
  4157  func (c *DirectConnect) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  4158  	req, out := c.DescribeTagsRequest(input)
  4159  	return out, req.Send()
  4160  }
  4161  
  4162  // DescribeTagsWithContext is the same as DescribeTags with the addition of
  4163  // the ability to pass a context and additional request options.
  4164  //
  4165  // See DescribeTags for details on how to use this API operation.
  4166  //
  4167  // The context must be non-nil and will be used for request cancellation. If
  4168  // the context is nil a panic will occur. In the future the SDK may create
  4169  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4170  // for more information on using Contexts.
  4171  func (c *DirectConnect) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
  4172  	req, out := c.DescribeTagsRequest(input)
  4173  	req.SetContext(ctx)
  4174  	req.ApplyOptions(opts...)
  4175  	return out, req.Send()
  4176  }
  4177  
  4178  const opDescribeVirtualGateways = "DescribeVirtualGateways"
  4179  
  4180  // DescribeVirtualGatewaysRequest generates a "aws/request.Request" representing the
  4181  // client's request for the DescribeVirtualGateways operation. The "output" return
  4182  // value will be populated with the request's response once the request completes
  4183  // successfully.
  4184  //
  4185  // Use "Send" method on the returned Request to send the API call to the service.
  4186  // the "output" return value is not valid until after Send returns without error.
  4187  //
  4188  // See DescribeVirtualGateways for more information on using the DescribeVirtualGateways
  4189  // API call, and error handling.
  4190  //
  4191  // This method is useful when you want to inject custom logic or configuration
  4192  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4193  //
  4194  //
  4195  //    // Example sending a request using the DescribeVirtualGatewaysRequest method.
  4196  //    req, resp := client.DescribeVirtualGatewaysRequest(params)
  4197  //
  4198  //    err := req.Send()
  4199  //    if err == nil { // resp is now filled
  4200  //        fmt.Println(resp)
  4201  //    }
  4202  //
  4203  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeVirtualGateways
  4204  func (c *DirectConnect) DescribeVirtualGatewaysRequest(input *DescribeVirtualGatewaysInput) (req *request.Request, output *DescribeVirtualGatewaysOutput) {
  4205  	op := &request.Operation{
  4206  		Name:       opDescribeVirtualGateways,
  4207  		HTTPMethod: "POST",
  4208  		HTTPPath:   "/",
  4209  	}
  4210  
  4211  	if input == nil {
  4212  		input = &DescribeVirtualGatewaysInput{}
  4213  	}
  4214  
  4215  	output = &DescribeVirtualGatewaysOutput{}
  4216  	req = c.newRequest(op, input, output)
  4217  	return
  4218  }
  4219  
  4220  // DescribeVirtualGateways API operation for AWS Direct Connect.
  4221  //
  4222  // Lists the virtual private gateways owned by the account.
  4223  //
  4224  // You can create one or more Direct Connect private virtual interfaces linked
  4225  // to a virtual private gateway.
  4226  //
  4227  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4228  // with awserr.Error's Code and Message methods to get detailed information about
  4229  // the error.
  4230  //
  4231  // See the AWS API reference guide for AWS Direct Connect's
  4232  // API operation DescribeVirtualGateways for usage and error information.
  4233  //
  4234  // Returned Error Types:
  4235  //   * ServerException
  4236  //   A server-side error occurred.
  4237  //
  4238  //   * ClientException
  4239  //   One or more parameters are not valid.
  4240  //
  4241  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeVirtualGateways
  4242  func (c *DirectConnect) DescribeVirtualGateways(input *DescribeVirtualGatewaysInput) (*DescribeVirtualGatewaysOutput, error) {
  4243  	req, out := c.DescribeVirtualGatewaysRequest(input)
  4244  	return out, req.Send()
  4245  }
  4246  
  4247  // DescribeVirtualGatewaysWithContext is the same as DescribeVirtualGateways with the addition of
  4248  // the ability to pass a context and additional request options.
  4249  //
  4250  // See DescribeVirtualGateways for details on how to use this API operation.
  4251  //
  4252  // The context must be non-nil and will be used for request cancellation. If
  4253  // the context is nil a panic will occur. In the future the SDK may create
  4254  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4255  // for more information on using Contexts.
  4256  func (c *DirectConnect) DescribeVirtualGatewaysWithContext(ctx aws.Context, input *DescribeVirtualGatewaysInput, opts ...request.Option) (*DescribeVirtualGatewaysOutput, error) {
  4257  	req, out := c.DescribeVirtualGatewaysRequest(input)
  4258  	req.SetContext(ctx)
  4259  	req.ApplyOptions(opts...)
  4260  	return out, req.Send()
  4261  }
  4262  
  4263  const opDescribeVirtualInterfaces = "DescribeVirtualInterfaces"
  4264  
  4265  // DescribeVirtualInterfacesRequest generates a "aws/request.Request" representing the
  4266  // client's request for the DescribeVirtualInterfaces operation. The "output" return
  4267  // value will be populated with the request's response once the request completes
  4268  // successfully.
  4269  //
  4270  // Use "Send" method on the returned Request to send the API call to the service.
  4271  // the "output" return value is not valid until after Send returns without error.
  4272  //
  4273  // See DescribeVirtualInterfaces for more information on using the DescribeVirtualInterfaces
  4274  // API call, and error handling.
  4275  //
  4276  // This method is useful when you want to inject custom logic or configuration
  4277  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4278  //
  4279  //
  4280  //    // Example sending a request using the DescribeVirtualInterfacesRequest method.
  4281  //    req, resp := client.DescribeVirtualInterfacesRequest(params)
  4282  //
  4283  //    err := req.Send()
  4284  //    if err == nil { // resp is now filled
  4285  //        fmt.Println(resp)
  4286  //    }
  4287  //
  4288  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeVirtualInterfaces
  4289  func (c *DirectConnect) DescribeVirtualInterfacesRequest(input *DescribeVirtualInterfacesInput) (req *request.Request, output *DescribeVirtualInterfacesOutput) {
  4290  	op := &request.Operation{
  4291  		Name:       opDescribeVirtualInterfaces,
  4292  		HTTPMethod: "POST",
  4293  		HTTPPath:   "/",
  4294  	}
  4295  
  4296  	if input == nil {
  4297  		input = &DescribeVirtualInterfacesInput{}
  4298  	}
  4299  
  4300  	output = &DescribeVirtualInterfacesOutput{}
  4301  	req = c.newRequest(op, input, output)
  4302  	return
  4303  }
  4304  
  4305  // DescribeVirtualInterfaces API operation for AWS Direct Connect.
  4306  //
  4307  // Displays all virtual interfaces for an account. Virtual interfaces deleted
  4308  // fewer than 15 minutes before you make the request are also returned. If you
  4309  // specify a connection ID, only the virtual interfaces associated with the
  4310  // connection are returned. If you specify a virtual interface ID, then only
  4311  // a single virtual interface is returned.
  4312  //
  4313  // A virtual interface (VLAN) transmits the traffic between the Direct Connect
  4314  // location and the customer network.
  4315  //
  4316  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4317  // with awserr.Error's Code and Message methods to get detailed information about
  4318  // the error.
  4319  //
  4320  // See the AWS API reference guide for AWS Direct Connect's
  4321  // API operation DescribeVirtualInterfaces for usage and error information.
  4322  //
  4323  // Returned Error Types:
  4324  //   * ServerException
  4325  //   A server-side error occurred.
  4326  //
  4327  //   * ClientException
  4328  //   One or more parameters are not valid.
  4329  //
  4330  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeVirtualInterfaces
  4331  func (c *DirectConnect) DescribeVirtualInterfaces(input *DescribeVirtualInterfacesInput) (*DescribeVirtualInterfacesOutput, error) {
  4332  	req, out := c.DescribeVirtualInterfacesRequest(input)
  4333  	return out, req.Send()
  4334  }
  4335  
  4336  // DescribeVirtualInterfacesWithContext is the same as DescribeVirtualInterfaces with the addition of
  4337  // the ability to pass a context and additional request options.
  4338  //
  4339  // See DescribeVirtualInterfaces for details on how to use this API operation.
  4340  //
  4341  // The context must be non-nil and will be used for request cancellation. If
  4342  // the context is nil a panic will occur. In the future the SDK may create
  4343  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4344  // for more information on using Contexts.
  4345  func (c *DirectConnect) DescribeVirtualInterfacesWithContext(ctx aws.Context, input *DescribeVirtualInterfacesInput, opts ...request.Option) (*DescribeVirtualInterfacesOutput, error) {
  4346  	req, out := c.DescribeVirtualInterfacesRequest(input)
  4347  	req.SetContext(ctx)
  4348  	req.ApplyOptions(opts...)
  4349  	return out, req.Send()
  4350  }
  4351  
  4352  const opDisassociateConnectionFromLag = "DisassociateConnectionFromLag"
  4353  
  4354  // DisassociateConnectionFromLagRequest generates a "aws/request.Request" representing the
  4355  // client's request for the DisassociateConnectionFromLag operation. The "output" return
  4356  // value will be populated with the request's response once the request completes
  4357  // successfully.
  4358  //
  4359  // Use "Send" method on the returned Request to send the API call to the service.
  4360  // the "output" return value is not valid until after Send returns without error.
  4361  //
  4362  // See DisassociateConnectionFromLag for more information on using the DisassociateConnectionFromLag
  4363  // API call, and error handling.
  4364  //
  4365  // This method is useful when you want to inject custom logic or configuration
  4366  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4367  //
  4368  //
  4369  //    // Example sending a request using the DisassociateConnectionFromLagRequest method.
  4370  //    req, resp := client.DisassociateConnectionFromLagRequest(params)
  4371  //
  4372  //    err := req.Send()
  4373  //    if err == nil { // resp is now filled
  4374  //        fmt.Println(resp)
  4375  //    }
  4376  //
  4377  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DisassociateConnectionFromLag
  4378  func (c *DirectConnect) DisassociateConnectionFromLagRequest(input *DisassociateConnectionFromLagInput) (req *request.Request, output *Connection) {
  4379  	op := &request.Operation{
  4380  		Name:       opDisassociateConnectionFromLag,
  4381  		HTTPMethod: "POST",
  4382  		HTTPPath:   "/",
  4383  	}
  4384  
  4385  	if input == nil {
  4386  		input = &DisassociateConnectionFromLagInput{}
  4387  	}
  4388  
  4389  	output = &Connection{}
  4390  	req = c.newRequest(op, input, output)
  4391  	return
  4392  }
  4393  
  4394  // DisassociateConnectionFromLag API operation for AWS Direct Connect.
  4395  //
  4396  // Disassociates a connection from a link aggregation group (LAG). The connection
  4397  // is interrupted and re-established as a standalone connection (the connection
  4398  // is not deleted; to delete the connection, use the DeleteConnection request).
  4399  // If the LAG has associated virtual interfaces or hosted connections, they
  4400  // remain associated with the LAG. A disassociated connection owned by an Direct
  4401  // Connect Partner is automatically converted to an interconnect.
  4402  //
  4403  // If disassociating the connection would cause the LAG to fall below its setting
  4404  // for minimum number of operational connections, the request fails, except
  4405  // when it's the last member of the LAG. If all connections are disassociated,
  4406  // the LAG continues to exist as an empty LAG with no physical connections.
  4407  //
  4408  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4409  // with awserr.Error's Code and Message methods to get detailed information about
  4410  // the error.
  4411  //
  4412  // See the AWS API reference guide for AWS Direct Connect's
  4413  // API operation DisassociateConnectionFromLag for usage and error information.
  4414  //
  4415  // Returned Error Types:
  4416  //   * ServerException
  4417  //   A server-side error occurred.
  4418  //
  4419  //   * ClientException
  4420  //   One or more parameters are not valid.
  4421  //
  4422  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DisassociateConnectionFromLag
  4423  func (c *DirectConnect) DisassociateConnectionFromLag(input *DisassociateConnectionFromLagInput) (*Connection, error) {
  4424  	req, out := c.DisassociateConnectionFromLagRequest(input)
  4425  	return out, req.Send()
  4426  }
  4427  
  4428  // DisassociateConnectionFromLagWithContext is the same as DisassociateConnectionFromLag with the addition of
  4429  // the ability to pass a context and additional request options.
  4430  //
  4431  // See DisassociateConnectionFromLag for details on how to use this API operation.
  4432  //
  4433  // The context must be non-nil and will be used for request cancellation. If
  4434  // the context is nil a panic will occur. In the future the SDK may create
  4435  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4436  // for more information on using Contexts.
  4437  func (c *DirectConnect) DisassociateConnectionFromLagWithContext(ctx aws.Context, input *DisassociateConnectionFromLagInput, opts ...request.Option) (*Connection, error) {
  4438  	req, out := c.DisassociateConnectionFromLagRequest(input)
  4439  	req.SetContext(ctx)
  4440  	req.ApplyOptions(opts...)
  4441  	return out, req.Send()
  4442  }
  4443  
  4444  const opDisassociateMacSecKey = "DisassociateMacSecKey"
  4445  
  4446  // DisassociateMacSecKeyRequest generates a "aws/request.Request" representing the
  4447  // client's request for the DisassociateMacSecKey operation. The "output" return
  4448  // value will be populated with the request's response once the request completes
  4449  // successfully.
  4450  //
  4451  // Use "Send" method on the returned Request to send the API call to the service.
  4452  // the "output" return value is not valid until after Send returns without error.
  4453  //
  4454  // See DisassociateMacSecKey for more information on using the DisassociateMacSecKey
  4455  // API call, and error handling.
  4456  //
  4457  // This method is useful when you want to inject custom logic or configuration
  4458  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4459  //
  4460  //
  4461  //    // Example sending a request using the DisassociateMacSecKeyRequest method.
  4462  //    req, resp := client.DisassociateMacSecKeyRequest(params)
  4463  //
  4464  //    err := req.Send()
  4465  //    if err == nil { // resp is now filled
  4466  //        fmt.Println(resp)
  4467  //    }
  4468  //
  4469  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DisassociateMacSecKey
  4470  func (c *DirectConnect) DisassociateMacSecKeyRequest(input *DisassociateMacSecKeyInput) (req *request.Request, output *DisassociateMacSecKeyOutput) {
  4471  	op := &request.Operation{
  4472  		Name:       opDisassociateMacSecKey,
  4473  		HTTPMethod: "POST",
  4474  		HTTPPath:   "/",
  4475  	}
  4476  
  4477  	if input == nil {
  4478  		input = &DisassociateMacSecKeyInput{}
  4479  	}
  4480  
  4481  	output = &DisassociateMacSecKeyOutput{}
  4482  	req = c.newRequest(op, input, output)
  4483  	return
  4484  }
  4485  
  4486  // DisassociateMacSecKey API operation for AWS Direct Connect.
  4487  //
  4488  // Removes the association between a MAC Security (MACsec) security key and
  4489  // an Direct Connect dedicated connection.
  4490  //
  4491  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4492  // with awserr.Error's Code and Message methods to get detailed information about
  4493  // the error.
  4494  //
  4495  // See the AWS API reference guide for AWS Direct Connect's
  4496  // API operation DisassociateMacSecKey for usage and error information.
  4497  //
  4498  // Returned Error Types:
  4499  //   * ServerException
  4500  //   A server-side error occurred.
  4501  //
  4502  //   * ClientException
  4503  //   One or more parameters are not valid.
  4504  //
  4505  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DisassociateMacSecKey
  4506  func (c *DirectConnect) DisassociateMacSecKey(input *DisassociateMacSecKeyInput) (*DisassociateMacSecKeyOutput, error) {
  4507  	req, out := c.DisassociateMacSecKeyRequest(input)
  4508  	return out, req.Send()
  4509  }
  4510  
  4511  // DisassociateMacSecKeyWithContext is the same as DisassociateMacSecKey with the addition of
  4512  // the ability to pass a context and additional request options.
  4513  //
  4514  // See DisassociateMacSecKey for details on how to use this API operation.
  4515  //
  4516  // The context must be non-nil and will be used for request cancellation. If
  4517  // the context is nil a panic will occur. In the future the SDK may create
  4518  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4519  // for more information on using Contexts.
  4520  func (c *DirectConnect) DisassociateMacSecKeyWithContext(ctx aws.Context, input *DisassociateMacSecKeyInput, opts ...request.Option) (*DisassociateMacSecKeyOutput, error) {
  4521  	req, out := c.DisassociateMacSecKeyRequest(input)
  4522  	req.SetContext(ctx)
  4523  	req.ApplyOptions(opts...)
  4524  	return out, req.Send()
  4525  }
  4526  
  4527  const opListVirtualInterfaceTestHistory = "ListVirtualInterfaceTestHistory"
  4528  
  4529  // ListVirtualInterfaceTestHistoryRequest generates a "aws/request.Request" representing the
  4530  // client's request for the ListVirtualInterfaceTestHistory operation. The "output" return
  4531  // value will be populated with the request's response once the request completes
  4532  // successfully.
  4533  //
  4534  // Use "Send" method on the returned Request to send the API call to the service.
  4535  // the "output" return value is not valid until after Send returns without error.
  4536  //
  4537  // See ListVirtualInterfaceTestHistory for more information on using the ListVirtualInterfaceTestHistory
  4538  // API call, and error handling.
  4539  //
  4540  // This method is useful when you want to inject custom logic or configuration
  4541  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4542  //
  4543  //
  4544  //    // Example sending a request using the ListVirtualInterfaceTestHistoryRequest method.
  4545  //    req, resp := client.ListVirtualInterfaceTestHistoryRequest(params)
  4546  //
  4547  //    err := req.Send()
  4548  //    if err == nil { // resp is now filled
  4549  //        fmt.Println(resp)
  4550  //    }
  4551  //
  4552  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ListVirtualInterfaceTestHistory
  4553  func (c *DirectConnect) ListVirtualInterfaceTestHistoryRequest(input *ListVirtualInterfaceTestHistoryInput) (req *request.Request, output *ListVirtualInterfaceTestHistoryOutput) {
  4554  	op := &request.Operation{
  4555  		Name:       opListVirtualInterfaceTestHistory,
  4556  		HTTPMethod: "POST",
  4557  		HTTPPath:   "/",
  4558  	}
  4559  
  4560  	if input == nil {
  4561  		input = &ListVirtualInterfaceTestHistoryInput{}
  4562  	}
  4563  
  4564  	output = &ListVirtualInterfaceTestHistoryOutput{}
  4565  	req = c.newRequest(op, input, output)
  4566  	return
  4567  }
  4568  
  4569  // ListVirtualInterfaceTestHistory API operation for AWS Direct Connect.
  4570  //
  4571  // Lists the virtual interface failover test history.
  4572  //
  4573  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4574  // with awserr.Error's Code and Message methods to get detailed information about
  4575  // the error.
  4576  //
  4577  // See the AWS API reference guide for AWS Direct Connect's
  4578  // API operation ListVirtualInterfaceTestHistory for usage and error information.
  4579  //
  4580  // Returned Error Types:
  4581  //   * ServerException
  4582  //   A server-side error occurred.
  4583  //
  4584  //   * ClientException
  4585  //   One or more parameters are not valid.
  4586  //
  4587  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ListVirtualInterfaceTestHistory
  4588  func (c *DirectConnect) ListVirtualInterfaceTestHistory(input *ListVirtualInterfaceTestHistoryInput) (*ListVirtualInterfaceTestHistoryOutput, error) {
  4589  	req, out := c.ListVirtualInterfaceTestHistoryRequest(input)
  4590  	return out, req.Send()
  4591  }
  4592  
  4593  // ListVirtualInterfaceTestHistoryWithContext is the same as ListVirtualInterfaceTestHistory with the addition of
  4594  // the ability to pass a context and additional request options.
  4595  //
  4596  // See ListVirtualInterfaceTestHistory for details on how to use this API operation.
  4597  //
  4598  // The context must be non-nil and will be used for request cancellation. If
  4599  // the context is nil a panic will occur. In the future the SDK may create
  4600  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4601  // for more information on using Contexts.
  4602  func (c *DirectConnect) ListVirtualInterfaceTestHistoryWithContext(ctx aws.Context, input *ListVirtualInterfaceTestHistoryInput, opts ...request.Option) (*ListVirtualInterfaceTestHistoryOutput, error) {
  4603  	req, out := c.ListVirtualInterfaceTestHistoryRequest(input)
  4604  	req.SetContext(ctx)
  4605  	req.ApplyOptions(opts...)
  4606  	return out, req.Send()
  4607  }
  4608  
  4609  const opStartBgpFailoverTest = "StartBgpFailoverTest"
  4610  
  4611  // StartBgpFailoverTestRequest generates a "aws/request.Request" representing the
  4612  // client's request for the StartBgpFailoverTest operation. The "output" return
  4613  // value will be populated with the request's response once the request completes
  4614  // successfully.
  4615  //
  4616  // Use "Send" method on the returned Request to send the API call to the service.
  4617  // the "output" return value is not valid until after Send returns without error.
  4618  //
  4619  // See StartBgpFailoverTest for more information on using the StartBgpFailoverTest
  4620  // API call, and error handling.
  4621  //
  4622  // This method is useful when you want to inject custom logic or configuration
  4623  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4624  //
  4625  //
  4626  //    // Example sending a request using the StartBgpFailoverTestRequest method.
  4627  //    req, resp := client.StartBgpFailoverTestRequest(params)
  4628  //
  4629  //    err := req.Send()
  4630  //    if err == nil { // resp is now filled
  4631  //        fmt.Println(resp)
  4632  //    }
  4633  //
  4634  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/StartBgpFailoverTest
  4635  func (c *DirectConnect) StartBgpFailoverTestRequest(input *StartBgpFailoverTestInput) (req *request.Request, output *StartBgpFailoverTestOutput) {
  4636  	op := &request.Operation{
  4637  		Name:       opStartBgpFailoverTest,
  4638  		HTTPMethod: "POST",
  4639  		HTTPPath:   "/",
  4640  	}
  4641  
  4642  	if input == nil {
  4643  		input = &StartBgpFailoverTestInput{}
  4644  	}
  4645  
  4646  	output = &StartBgpFailoverTestOutput{}
  4647  	req = c.newRequest(op, input, output)
  4648  	return
  4649  }
  4650  
  4651  // StartBgpFailoverTest API operation for AWS Direct Connect.
  4652  //
  4653  // Starts the virtual interface failover test that verifies your configuration
  4654  // meets your resiliency requirements by placing the BGP peering session in
  4655  // the DOWN state. You can then send traffic to verify that there are no outages.
  4656  //
  4657  // You can run the test on public, private, transit, and hosted virtual interfaces.
  4658  //
  4659  // You can use ListVirtualInterfaceTestHistory (https://docs.aws.amazon.com/directconnect/latest/APIReference/API_ListVirtualInterfaceTestHistory.html)
  4660  // to view the virtual interface test history.
  4661  //
  4662  // If you need to stop the test before the test interval completes, use StopBgpFailoverTest
  4663  // (https://docs.aws.amazon.com/directconnect/latest/APIReference/API_StopBgpFailoverTest.html).
  4664  //
  4665  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4666  // with awserr.Error's Code and Message methods to get detailed information about
  4667  // the error.
  4668  //
  4669  // See the AWS API reference guide for AWS Direct Connect's
  4670  // API operation StartBgpFailoverTest for usage and error information.
  4671  //
  4672  // Returned Error Types:
  4673  //   * ServerException
  4674  //   A server-side error occurred.
  4675  //
  4676  //   * ClientException
  4677  //   One or more parameters are not valid.
  4678  //
  4679  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/StartBgpFailoverTest
  4680  func (c *DirectConnect) StartBgpFailoverTest(input *StartBgpFailoverTestInput) (*StartBgpFailoverTestOutput, error) {
  4681  	req, out := c.StartBgpFailoverTestRequest(input)
  4682  	return out, req.Send()
  4683  }
  4684  
  4685  // StartBgpFailoverTestWithContext is the same as StartBgpFailoverTest with the addition of
  4686  // the ability to pass a context and additional request options.
  4687  //
  4688  // See StartBgpFailoverTest for details on how to use this API operation.
  4689  //
  4690  // The context must be non-nil and will be used for request cancellation. If
  4691  // the context is nil a panic will occur. In the future the SDK may create
  4692  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4693  // for more information on using Contexts.
  4694  func (c *DirectConnect) StartBgpFailoverTestWithContext(ctx aws.Context, input *StartBgpFailoverTestInput, opts ...request.Option) (*StartBgpFailoverTestOutput, error) {
  4695  	req, out := c.StartBgpFailoverTestRequest(input)
  4696  	req.SetContext(ctx)
  4697  	req.ApplyOptions(opts...)
  4698  	return out, req.Send()
  4699  }
  4700  
  4701  const opStopBgpFailoverTest = "StopBgpFailoverTest"
  4702  
  4703  // StopBgpFailoverTestRequest generates a "aws/request.Request" representing the
  4704  // client's request for the StopBgpFailoverTest operation. The "output" return
  4705  // value will be populated with the request's response once the request completes
  4706  // successfully.
  4707  //
  4708  // Use "Send" method on the returned Request to send the API call to the service.
  4709  // the "output" return value is not valid until after Send returns without error.
  4710  //
  4711  // See StopBgpFailoverTest for more information on using the StopBgpFailoverTest
  4712  // API call, and error handling.
  4713  //
  4714  // This method is useful when you want to inject custom logic or configuration
  4715  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4716  //
  4717  //
  4718  //    // Example sending a request using the StopBgpFailoverTestRequest method.
  4719  //    req, resp := client.StopBgpFailoverTestRequest(params)
  4720  //
  4721  //    err := req.Send()
  4722  //    if err == nil { // resp is now filled
  4723  //        fmt.Println(resp)
  4724  //    }
  4725  //
  4726  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/StopBgpFailoverTest
  4727  func (c *DirectConnect) StopBgpFailoverTestRequest(input *StopBgpFailoverTestInput) (req *request.Request, output *StopBgpFailoverTestOutput) {
  4728  	op := &request.Operation{
  4729  		Name:       opStopBgpFailoverTest,
  4730  		HTTPMethod: "POST",
  4731  		HTTPPath:   "/",
  4732  	}
  4733  
  4734  	if input == nil {
  4735  		input = &StopBgpFailoverTestInput{}
  4736  	}
  4737  
  4738  	output = &StopBgpFailoverTestOutput{}
  4739  	req = c.newRequest(op, input, output)
  4740  	return
  4741  }
  4742  
  4743  // StopBgpFailoverTest API operation for AWS Direct Connect.
  4744  //
  4745  // Stops the virtual interface failover test.
  4746  //
  4747  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4748  // with awserr.Error's Code and Message methods to get detailed information about
  4749  // the error.
  4750  //
  4751  // See the AWS API reference guide for AWS Direct Connect's
  4752  // API operation StopBgpFailoverTest for usage and error information.
  4753  //
  4754  // Returned Error Types:
  4755  //   * ServerException
  4756  //   A server-side error occurred.
  4757  //
  4758  //   * ClientException
  4759  //   One or more parameters are not valid.
  4760  //
  4761  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/StopBgpFailoverTest
  4762  func (c *DirectConnect) StopBgpFailoverTest(input *StopBgpFailoverTestInput) (*StopBgpFailoverTestOutput, error) {
  4763  	req, out := c.StopBgpFailoverTestRequest(input)
  4764  	return out, req.Send()
  4765  }
  4766  
  4767  // StopBgpFailoverTestWithContext is the same as StopBgpFailoverTest with the addition of
  4768  // the ability to pass a context and additional request options.
  4769  //
  4770  // See StopBgpFailoverTest for details on how to use this API operation.
  4771  //
  4772  // The context must be non-nil and will be used for request cancellation. If
  4773  // the context is nil a panic will occur. In the future the SDK may create
  4774  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4775  // for more information on using Contexts.
  4776  func (c *DirectConnect) StopBgpFailoverTestWithContext(ctx aws.Context, input *StopBgpFailoverTestInput, opts ...request.Option) (*StopBgpFailoverTestOutput, error) {
  4777  	req, out := c.StopBgpFailoverTestRequest(input)
  4778  	req.SetContext(ctx)
  4779  	req.ApplyOptions(opts...)
  4780  	return out, req.Send()
  4781  }
  4782  
  4783  const opTagResource = "TagResource"
  4784  
  4785  // TagResourceRequest generates a "aws/request.Request" representing the
  4786  // client's request for the TagResource operation. The "output" return
  4787  // value will be populated with the request's response once the request completes
  4788  // successfully.
  4789  //
  4790  // Use "Send" method on the returned Request to send the API call to the service.
  4791  // the "output" return value is not valid until after Send returns without error.
  4792  //
  4793  // See TagResource for more information on using the TagResource
  4794  // API call, and error handling.
  4795  //
  4796  // This method is useful when you want to inject custom logic or configuration
  4797  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4798  //
  4799  //
  4800  //    // Example sending a request using the TagResourceRequest method.
  4801  //    req, resp := client.TagResourceRequest(params)
  4802  //
  4803  //    err := req.Send()
  4804  //    if err == nil { // resp is now filled
  4805  //        fmt.Println(resp)
  4806  //    }
  4807  //
  4808  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/TagResource
  4809  func (c *DirectConnect) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  4810  	op := &request.Operation{
  4811  		Name:       opTagResource,
  4812  		HTTPMethod: "POST",
  4813  		HTTPPath:   "/",
  4814  	}
  4815  
  4816  	if input == nil {
  4817  		input = &TagResourceInput{}
  4818  	}
  4819  
  4820  	output = &TagResourceOutput{}
  4821  	req = c.newRequest(op, input, output)
  4822  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4823  	return
  4824  }
  4825  
  4826  // TagResource API operation for AWS Direct Connect.
  4827  //
  4828  // Adds the specified tags to the specified Direct Connect resource. Each resource
  4829  // can have a maximum of 50 tags.
  4830  //
  4831  // Each tag consists of a key and an optional value. If a tag with the same
  4832  // key is already associated with the resource, this action updates its value.
  4833  //
  4834  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4835  // with awserr.Error's Code and Message methods to get detailed information about
  4836  // the error.
  4837  //
  4838  // See the AWS API reference guide for AWS Direct Connect's
  4839  // API operation TagResource for usage and error information.
  4840  //
  4841  // Returned Error Types:
  4842  //   * DuplicateTagKeysException
  4843  //   A tag key was specified more than once.
  4844  //
  4845  //   * TooManyTagsException
  4846  //   You have reached the limit on the number of tags that can be assigned.
  4847  //
  4848  //   * ServerException
  4849  //   A server-side error occurred.
  4850  //
  4851  //   * ClientException
  4852  //   One or more parameters are not valid.
  4853  //
  4854  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/TagResource
  4855  func (c *DirectConnect) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  4856  	req, out := c.TagResourceRequest(input)
  4857  	return out, req.Send()
  4858  }
  4859  
  4860  // TagResourceWithContext is the same as TagResource with the addition of
  4861  // the ability to pass a context and additional request options.
  4862  //
  4863  // See TagResource for details on how to use this API operation.
  4864  //
  4865  // The context must be non-nil and will be used for request cancellation. If
  4866  // the context is nil a panic will occur. In the future the SDK may create
  4867  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4868  // for more information on using Contexts.
  4869  func (c *DirectConnect) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  4870  	req, out := c.TagResourceRequest(input)
  4871  	req.SetContext(ctx)
  4872  	req.ApplyOptions(opts...)
  4873  	return out, req.Send()
  4874  }
  4875  
  4876  const opUntagResource = "UntagResource"
  4877  
  4878  // UntagResourceRequest generates a "aws/request.Request" representing the
  4879  // client's request for the UntagResource operation. The "output" return
  4880  // value will be populated with the request's response once the request completes
  4881  // successfully.
  4882  //
  4883  // Use "Send" method on the returned Request to send the API call to the service.
  4884  // the "output" return value is not valid until after Send returns without error.
  4885  //
  4886  // See UntagResource for more information on using the UntagResource
  4887  // API call, and error handling.
  4888  //
  4889  // This method is useful when you want to inject custom logic or configuration
  4890  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4891  //
  4892  //
  4893  //    // Example sending a request using the UntagResourceRequest method.
  4894  //    req, resp := client.UntagResourceRequest(params)
  4895  //
  4896  //    err := req.Send()
  4897  //    if err == nil { // resp is now filled
  4898  //        fmt.Println(resp)
  4899  //    }
  4900  //
  4901  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UntagResource
  4902  func (c *DirectConnect) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  4903  	op := &request.Operation{
  4904  		Name:       opUntagResource,
  4905  		HTTPMethod: "POST",
  4906  		HTTPPath:   "/",
  4907  	}
  4908  
  4909  	if input == nil {
  4910  		input = &UntagResourceInput{}
  4911  	}
  4912  
  4913  	output = &UntagResourceOutput{}
  4914  	req = c.newRequest(op, input, output)
  4915  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4916  	return
  4917  }
  4918  
  4919  // UntagResource API operation for AWS Direct Connect.
  4920  //
  4921  // Removes one or more tags from the specified Direct Connect resource.
  4922  //
  4923  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4924  // with awserr.Error's Code and Message methods to get detailed information about
  4925  // the error.
  4926  //
  4927  // See the AWS API reference guide for AWS Direct Connect's
  4928  // API operation UntagResource for usage and error information.
  4929  //
  4930  // Returned Error Types:
  4931  //   * ServerException
  4932  //   A server-side error occurred.
  4933  //
  4934  //   * ClientException
  4935  //   One or more parameters are not valid.
  4936  //
  4937  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UntagResource
  4938  func (c *DirectConnect) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  4939  	req, out := c.UntagResourceRequest(input)
  4940  	return out, req.Send()
  4941  }
  4942  
  4943  // UntagResourceWithContext is the same as UntagResource with the addition of
  4944  // the ability to pass a context and additional request options.
  4945  //
  4946  // See UntagResource for details on how to use this API operation.
  4947  //
  4948  // The context must be non-nil and will be used for request cancellation. If
  4949  // the context is nil a panic will occur. In the future the SDK may create
  4950  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4951  // for more information on using Contexts.
  4952  func (c *DirectConnect) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  4953  	req, out := c.UntagResourceRequest(input)
  4954  	req.SetContext(ctx)
  4955  	req.ApplyOptions(opts...)
  4956  	return out, req.Send()
  4957  }
  4958  
  4959  const opUpdateConnection = "UpdateConnection"
  4960  
  4961  // UpdateConnectionRequest generates a "aws/request.Request" representing the
  4962  // client's request for the UpdateConnection operation. The "output" return
  4963  // value will be populated with the request's response once the request completes
  4964  // successfully.
  4965  //
  4966  // Use "Send" method on the returned Request to send the API call to the service.
  4967  // the "output" return value is not valid until after Send returns without error.
  4968  //
  4969  // See UpdateConnection for more information on using the UpdateConnection
  4970  // API call, and error handling.
  4971  //
  4972  // This method is useful when you want to inject custom logic or configuration
  4973  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4974  //
  4975  //
  4976  //    // Example sending a request using the UpdateConnectionRequest method.
  4977  //    req, resp := client.UpdateConnectionRequest(params)
  4978  //
  4979  //    err := req.Send()
  4980  //    if err == nil { // resp is now filled
  4981  //        fmt.Println(resp)
  4982  //    }
  4983  //
  4984  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UpdateConnection
  4985  func (c *DirectConnect) UpdateConnectionRequest(input *UpdateConnectionInput) (req *request.Request, output *UpdateConnectionOutput) {
  4986  	op := &request.Operation{
  4987  		Name:       opUpdateConnection,
  4988  		HTTPMethod: "POST",
  4989  		HTTPPath:   "/",
  4990  	}
  4991  
  4992  	if input == nil {
  4993  		input = &UpdateConnectionInput{}
  4994  	}
  4995  
  4996  	output = &UpdateConnectionOutput{}
  4997  	req = c.newRequest(op, input, output)
  4998  	return
  4999  }
  5000  
  5001  // UpdateConnection API operation for AWS Direct Connect.
  5002  //
  5003  // Updates the Direct Connect dedicated connection configuration.
  5004  //
  5005  // You can update the following parameters for a connection:
  5006  //
  5007  //    * The connection name
  5008  //
  5009  //    * The connection's MAC Security (MACsec) encryption mode.
  5010  //
  5011  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5012  // with awserr.Error's Code and Message methods to get detailed information about
  5013  // the error.
  5014  //
  5015  // See the AWS API reference guide for AWS Direct Connect's
  5016  // API operation UpdateConnection for usage and error information.
  5017  //
  5018  // Returned Error Types:
  5019  //   * ServerException
  5020  //   A server-side error occurred.
  5021  //
  5022  //   * ClientException
  5023  //   One or more parameters are not valid.
  5024  //
  5025  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UpdateConnection
  5026  func (c *DirectConnect) UpdateConnection(input *UpdateConnectionInput) (*UpdateConnectionOutput, error) {
  5027  	req, out := c.UpdateConnectionRequest(input)
  5028  	return out, req.Send()
  5029  }
  5030  
  5031  // UpdateConnectionWithContext is the same as UpdateConnection with the addition of
  5032  // the ability to pass a context and additional request options.
  5033  //
  5034  // See UpdateConnection for details on how to use this API operation.
  5035  //
  5036  // The context must be non-nil and will be used for request cancellation. If
  5037  // the context is nil a panic will occur. In the future the SDK may create
  5038  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5039  // for more information on using Contexts.
  5040  func (c *DirectConnect) UpdateConnectionWithContext(ctx aws.Context, input *UpdateConnectionInput, opts ...request.Option) (*UpdateConnectionOutput, error) {
  5041  	req, out := c.UpdateConnectionRequest(input)
  5042  	req.SetContext(ctx)
  5043  	req.ApplyOptions(opts...)
  5044  	return out, req.Send()
  5045  }
  5046  
  5047  const opUpdateDirectConnectGatewayAssociation = "UpdateDirectConnectGatewayAssociation"
  5048  
  5049  // UpdateDirectConnectGatewayAssociationRequest generates a "aws/request.Request" representing the
  5050  // client's request for the UpdateDirectConnectGatewayAssociation operation. The "output" return
  5051  // value will be populated with the request's response once the request completes
  5052  // successfully.
  5053  //
  5054  // Use "Send" method on the returned Request to send the API call to the service.
  5055  // the "output" return value is not valid until after Send returns without error.
  5056  //
  5057  // See UpdateDirectConnectGatewayAssociation for more information on using the UpdateDirectConnectGatewayAssociation
  5058  // API call, and error handling.
  5059  //
  5060  // This method is useful when you want to inject custom logic or configuration
  5061  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5062  //
  5063  //
  5064  //    // Example sending a request using the UpdateDirectConnectGatewayAssociationRequest method.
  5065  //    req, resp := client.UpdateDirectConnectGatewayAssociationRequest(params)
  5066  //
  5067  //    err := req.Send()
  5068  //    if err == nil { // resp is now filled
  5069  //        fmt.Println(resp)
  5070  //    }
  5071  //
  5072  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UpdateDirectConnectGatewayAssociation
  5073  func (c *DirectConnect) UpdateDirectConnectGatewayAssociationRequest(input *UpdateDirectConnectGatewayAssociationInput) (req *request.Request, output *UpdateDirectConnectGatewayAssociationOutput) {
  5074  	op := &request.Operation{
  5075  		Name:       opUpdateDirectConnectGatewayAssociation,
  5076  		HTTPMethod: "POST",
  5077  		HTTPPath:   "/",
  5078  	}
  5079  
  5080  	if input == nil {
  5081  		input = &UpdateDirectConnectGatewayAssociationInput{}
  5082  	}
  5083  
  5084  	output = &UpdateDirectConnectGatewayAssociationOutput{}
  5085  	req = c.newRequest(op, input, output)
  5086  	return
  5087  }
  5088  
  5089  // UpdateDirectConnectGatewayAssociation API operation for AWS Direct Connect.
  5090  //
  5091  // Updates the specified attributes of the Direct Connect gateway association.
  5092  //
  5093  // Add or remove prefixes from the association.
  5094  //
  5095  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5096  // with awserr.Error's Code and Message methods to get detailed information about
  5097  // the error.
  5098  //
  5099  // See the AWS API reference guide for AWS Direct Connect's
  5100  // API operation UpdateDirectConnectGatewayAssociation for usage and error information.
  5101  //
  5102  // Returned Error Types:
  5103  //   * ServerException
  5104  //   A server-side error occurred.
  5105  //
  5106  //   * ClientException
  5107  //   One or more parameters are not valid.
  5108  //
  5109  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UpdateDirectConnectGatewayAssociation
  5110  func (c *DirectConnect) UpdateDirectConnectGatewayAssociation(input *UpdateDirectConnectGatewayAssociationInput) (*UpdateDirectConnectGatewayAssociationOutput, error) {
  5111  	req, out := c.UpdateDirectConnectGatewayAssociationRequest(input)
  5112  	return out, req.Send()
  5113  }
  5114  
  5115  // UpdateDirectConnectGatewayAssociationWithContext is the same as UpdateDirectConnectGatewayAssociation with the addition of
  5116  // the ability to pass a context and additional request options.
  5117  //
  5118  // See UpdateDirectConnectGatewayAssociation for details on how to use this API operation.
  5119  //
  5120  // The context must be non-nil and will be used for request cancellation. If
  5121  // the context is nil a panic will occur. In the future the SDK may create
  5122  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5123  // for more information on using Contexts.
  5124  func (c *DirectConnect) UpdateDirectConnectGatewayAssociationWithContext(ctx aws.Context, input *UpdateDirectConnectGatewayAssociationInput, opts ...request.Option) (*UpdateDirectConnectGatewayAssociationOutput, error) {
  5125  	req, out := c.UpdateDirectConnectGatewayAssociationRequest(input)
  5126  	req.SetContext(ctx)
  5127  	req.ApplyOptions(opts...)
  5128  	return out, req.Send()
  5129  }
  5130  
  5131  const opUpdateLag = "UpdateLag"
  5132  
  5133  // UpdateLagRequest generates a "aws/request.Request" representing the
  5134  // client's request for the UpdateLag operation. The "output" return
  5135  // value will be populated with the request's response once the request completes
  5136  // successfully.
  5137  //
  5138  // Use "Send" method on the returned Request to send the API call to the service.
  5139  // the "output" return value is not valid until after Send returns without error.
  5140  //
  5141  // See UpdateLag for more information on using the UpdateLag
  5142  // API call, and error handling.
  5143  //
  5144  // This method is useful when you want to inject custom logic or configuration
  5145  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5146  //
  5147  //
  5148  //    // Example sending a request using the UpdateLagRequest method.
  5149  //    req, resp := client.UpdateLagRequest(params)
  5150  //
  5151  //    err := req.Send()
  5152  //    if err == nil { // resp is now filled
  5153  //        fmt.Println(resp)
  5154  //    }
  5155  //
  5156  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UpdateLag
  5157  func (c *DirectConnect) UpdateLagRequest(input *UpdateLagInput) (req *request.Request, output *Lag) {
  5158  	op := &request.Operation{
  5159  		Name:       opUpdateLag,
  5160  		HTTPMethod: "POST",
  5161  		HTTPPath:   "/",
  5162  	}
  5163  
  5164  	if input == nil {
  5165  		input = &UpdateLagInput{}
  5166  	}
  5167  
  5168  	output = &Lag{}
  5169  	req = c.newRequest(op, input, output)
  5170  	return
  5171  }
  5172  
  5173  // UpdateLag API operation for AWS Direct Connect.
  5174  //
  5175  // Updates the attributes of the specified link aggregation group (LAG).
  5176  //
  5177  // You can update the following LAG attributes:
  5178  //
  5179  //    * The name of the LAG.
  5180  //
  5181  //    * The value for the minimum number of connections that must be operational
  5182  //    for the LAG itself to be operational.
  5183  //
  5184  //    * The LAG's MACsec encryption mode. Amazon Web Services assigns this value
  5185  //    to each connection which is part of the LAG.
  5186  //
  5187  //    * The tags
  5188  //
  5189  // If you adjust the threshold value for the minimum number of operational connections,
  5190  // ensure that the new value does not cause the LAG to fall below the threshold
  5191  // and become non-operational.
  5192  //
  5193  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5194  // with awserr.Error's Code and Message methods to get detailed information about
  5195  // the error.
  5196  //
  5197  // See the AWS API reference guide for AWS Direct Connect's
  5198  // API operation UpdateLag for usage and error information.
  5199  //
  5200  // Returned Error Types:
  5201  //   * ServerException
  5202  //   A server-side error occurred.
  5203  //
  5204  //   * ClientException
  5205  //   One or more parameters are not valid.
  5206  //
  5207  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UpdateLag
  5208  func (c *DirectConnect) UpdateLag(input *UpdateLagInput) (*Lag, error) {
  5209  	req, out := c.UpdateLagRequest(input)
  5210  	return out, req.Send()
  5211  }
  5212  
  5213  // UpdateLagWithContext is the same as UpdateLag with the addition of
  5214  // the ability to pass a context and additional request options.
  5215  //
  5216  // See UpdateLag for details on how to use this API operation.
  5217  //
  5218  // The context must be non-nil and will be used for request cancellation. If
  5219  // the context is nil a panic will occur. In the future the SDK may create
  5220  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5221  // for more information on using Contexts.
  5222  func (c *DirectConnect) UpdateLagWithContext(ctx aws.Context, input *UpdateLagInput, opts ...request.Option) (*Lag, error) {
  5223  	req, out := c.UpdateLagRequest(input)
  5224  	req.SetContext(ctx)
  5225  	req.ApplyOptions(opts...)
  5226  	return out, req.Send()
  5227  }
  5228  
  5229  const opUpdateVirtualInterfaceAttributes = "UpdateVirtualInterfaceAttributes"
  5230  
  5231  // UpdateVirtualInterfaceAttributesRequest generates a "aws/request.Request" representing the
  5232  // client's request for the UpdateVirtualInterfaceAttributes operation. The "output" return
  5233  // value will be populated with the request's response once the request completes
  5234  // successfully.
  5235  //
  5236  // Use "Send" method on the returned Request to send the API call to the service.
  5237  // the "output" return value is not valid until after Send returns without error.
  5238  //
  5239  // See UpdateVirtualInterfaceAttributes for more information on using the UpdateVirtualInterfaceAttributes
  5240  // API call, and error handling.
  5241  //
  5242  // This method is useful when you want to inject custom logic or configuration
  5243  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5244  //
  5245  //
  5246  //    // Example sending a request using the UpdateVirtualInterfaceAttributesRequest method.
  5247  //    req, resp := client.UpdateVirtualInterfaceAttributesRequest(params)
  5248  //
  5249  //    err := req.Send()
  5250  //    if err == nil { // resp is now filled
  5251  //        fmt.Println(resp)
  5252  //    }
  5253  //
  5254  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UpdateVirtualInterfaceAttributes
  5255  func (c *DirectConnect) UpdateVirtualInterfaceAttributesRequest(input *UpdateVirtualInterfaceAttributesInput) (req *request.Request, output *UpdateVirtualInterfaceAttributesOutput) {
  5256  	op := &request.Operation{
  5257  		Name:       opUpdateVirtualInterfaceAttributes,
  5258  		HTTPMethod: "POST",
  5259  		HTTPPath:   "/",
  5260  	}
  5261  
  5262  	if input == nil {
  5263  		input = &UpdateVirtualInterfaceAttributesInput{}
  5264  	}
  5265  
  5266  	output = &UpdateVirtualInterfaceAttributesOutput{}
  5267  	req = c.newRequest(op, input, output)
  5268  	return
  5269  }
  5270  
  5271  // UpdateVirtualInterfaceAttributes API operation for AWS Direct Connect.
  5272  //
  5273  // Updates the specified attributes of the specified virtual private interface.
  5274  //
  5275  // Setting the MTU of a virtual interface to 9001 (jumbo frames) can cause an
  5276  // update to the underlying physical connection if it wasn't updated to support
  5277  // jumbo frames. Updating the connection disrupts network connectivity for all
  5278  // virtual interfaces associated with the connection for up to 30 seconds. To
  5279  // check whether your connection supports jumbo frames, call DescribeConnections.
  5280  // To check whether your virtual q interface supports jumbo frames, call DescribeVirtualInterfaces.
  5281  //
  5282  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5283  // with awserr.Error's Code and Message methods to get detailed information about
  5284  // the error.
  5285  //
  5286  // See the AWS API reference guide for AWS Direct Connect's
  5287  // API operation UpdateVirtualInterfaceAttributes for usage and error information.
  5288  //
  5289  // Returned Error Types:
  5290  //   * ServerException
  5291  //   A server-side error occurred.
  5292  //
  5293  //   * ClientException
  5294  //   One or more parameters are not valid.
  5295  //
  5296  // See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UpdateVirtualInterfaceAttributes
  5297  func (c *DirectConnect) UpdateVirtualInterfaceAttributes(input *UpdateVirtualInterfaceAttributesInput) (*UpdateVirtualInterfaceAttributesOutput, error) {
  5298  	req, out := c.UpdateVirtualInterfaceAttributesRequest(input)
  5299  	return out, req.Send()
  5300  }
  5301  
  5302  // UpdateVirtualInterfaceAttributesWithContext is the same as UpdateVirtualInterfaceAttributes with the addition of
  5303  // the ability to pass a context and additional request options.
  5304  //
  5305  // See UpdateVirtualInterfaceAttributes for details on how to use this API operation.
  5306  //
  5307  // The context must be non-nil and will be used for request cancellation. If
  5308  // the context is nil a panic will occur. In the future the SDK may create
  5309  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5310  // for more information on using Contexts.
  5311  func (c *DirectConnect) UpdateVirtualInterfaceAttributesWithContext(ctx aws.Context, input *UpdateVirtualInterfaceAttributesInput, opts ...request.Option) (*UpdateVirtualInterfaceAttributesOutput, error) {
  5312  	req, out := c.UpdateVirtualInterfaceAttributesRequest(input)
  5313  	req.SetContext(ctx)
  5314  	req.ApplyOptions(opts...)
  5315  	return out, req.Send()
  5316  }
  5317  
  5318  type AcceptDirectConnectGatewayAssociationProposalInput struct {
  5319  	_ struct{} `type:"structure"`
  5320  
  5321  	// The ID of the account that owns the virtual private gateway or transit gateway.
  5322  	//
  5323  	// AssociatedGatewayOwnerAccount is a required field
  5324  	AssociatedGatewayOwnerAccount *string `locationName:"associatedGatewayOwnerAccount" type:"string" required:"true"`
  5325  
  5326  	// The ID of the Direct Connect gateway.
  5327  	//
  5328  	// DirectConnectGatewayId is a required field
  5329  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string" required:"true"`
  5330  
  5331  	// Overrides the Amazon VPC prefixes advertised to the Direct Connect gateway.
  5332  	//
  5333  	// For information about how to set the prefixes, see Allowed Prefixes (https://docs.aws.amazon.com/directconnect/latest/UserGuide/multi-account-associate-vgw.html#allowed-prefixes)
  5334  	// in the Direct Connect User Guide.
  5335  	OverrideAllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"overrideAllowedPrefixesToDirectConnectGateway" type:"list"`
  5336  
  5337  	// The ID of the request proposal.
  5338  	//
  5339  	// ProposalId is a required field
  5340  	ProposalId *string `locationName:"proposalId" type:"string" required:"true"`
  5341  }
  5342  
  5343  // String returns the string representation.
  5344  //
  5345  // API parameter values that are decorated as "sensitive" in the API will not
  5346  // be included in the string output. The member name will be present, but the
  5347  // value will be replaced with "sensitive".
  5348  func (s AcceptDirectConnectGatewayAssociationProposalInput) String() string {
  5349  	return awsutil.Prettify(s)
  5350  }
  5351  
  5352  // GoString returns the string representation.
  5353  //
  5354  // API parameter values that are decorated as "sensitive" in the API will not
  5355  // be included in the string output. The member name will be present, but the
  5356  // value will be replaced with "sensitive".
  5357  func (s AcceptDirectConnectGatewayAssociationProposalInput) GoString() string {
  5358  	return s.String()
  5359  }
  5360  
  5361  // Validate inspects the fields of the type to determine if they are valid.
  5362  func (s *AcceptDirectConnectGatewayAssociationProposalInput) Validate() error {
  5363  	invalidParams := request.ErrInvalidParams{Context: "AcceptDirectConnectGatewayAssociationProposalInput"}
  5364  	if s.AssociatedGatewayOwnerAccount == nil {
  5365  		invalidParams.Add(request.NewErrParamRequired("AssociatedGatewayOwnerAccount"))
  5366  	}
  5367  	if s.DirectConnectGatewayId == nil {
  5368  		invalidParams.Add(request.NewErrParamRequired("DirectConnectGatewayId"))
  5369  	}
  5370  	if s.ProposalId == nil {
  5371  		invalidParams.Add(request.NewErrParamRequired("ProposalId"))
  5372  	}
  5373  
  5374  	if invalidParams.Len() > 0 {
  5375  		return invalidParams
  5376  	}
  5377  	return nil
  5378  }
  5379  
  5380  // SetAssociatedGatewayOwnerAccount sets the AssociatedGatewayOwnerAccount field's value.
  5381  func (s *AcceptDirectConnectGatewayAssociationProposalInput) SetAssociatedGatewayOwnerAccount(v string) *AcceptDirectConnectGatewayAssociationProposalInput {
  5382  	s.AssociatedGatewayOwnerAccount = &v
  5383  	return s
  5384  }
  5385  
  5386  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  5387  func (s *AcceptDirectConnectGatewayAssociationProposalInput) SetDirectConnectGatewayId(v string) *AcceptDirectConnectGatewayAssociationProposalInput {
  5388  	s.DirectConnectGatewayId = &v
  5389  	return s
  5390  }
  5391  
  5392  // SetOverrideAllowedPrefixesToDirectConnectGateway sets the OverrideAllowedPrefixesToDirectConnectGateway field's value.
  5393  func (s *AcceptDirectConnectGatewayAssociationProposalInput) SetOverrideAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *AcceptDirectConnectGatewayAssociationProposalInput {
  5394  	s.OverrideAllowedPrefixesToDirectConnectGateway = v
  5395  	return s
  5396  }
  5397  
  5398  // SetProposalId sets the ProposalId field's value.
  5399  func (s *AcceptDirectConnectGatewayAssociationProposalInput) SetProposalId(v string) *AcceptDirectConnectGatewayAssociationProposalInput {
  5400  	s.ProposalId = &v
  5401  	return s
  5402  }
  5403  
  5404  type AcceptDirectConnectGatewayAssociationProposalOutput struct {
  5405  	_ struct{} `type:"structure"`
  5406  
  5407  	// Information about an association between a Direct Connect gateway and a virtual
  5408  	// private gateway or transit gateway.
  5409  	DirectConnectGatewayAssociation *GatewayAssociation `locationName:"directConnectGatewayAssociation" type:"structure"`
  5410  }
  5411  
  5412  // String returns the string representation.
  5413  //
  5414  // API parameter values that are decorated as "sensitive" in the API will not
  5415  // be included in the string output. The member name will be present, but the
  5416  // value will be replaced with "sensitive".
  5417  func (s AcceptDirectConnectGatewayAssociationProposalOutput) String() string {
  5418  	return awsutil.Prettify(s)
  5419  }
  5420  
  5421  // GoString returns the string representation.
  5422  //
  5423  // API parameter values that are decorated as "sensitive" in the API will not
  5424  // be included in the string output. The member name will be present, but the
  5425  // value will be replaced with "sensitive".
  5426  func (s AcceptDirectConnectGatewayAssociationProposalOutput) GoString() string {
  5427  	return s.String()
  5428  }
  5429  
  5430  // SetDirectConnectGatewayAssociation sets the DirectConnectGatewayAssociation field's value.
  5431  func (s *AcceptDirectConnectGatewayAssociationProposalOutput) SetDirectConnectGatewayAssociation(v *GatewayAssociation) *AcceptDirectConnectGatewayAssociationProposalOutput {
  5432  	s.DirectConnectGatewayAssociation = v
  5433  	return s
  5434  }
  5435  
  5436  type AllocateConnectionOnInterconnectInput struct {
  5437  	_ struct{} `type:"structure"`
  5438  
  5439  	// The bandwidth of the connection. The possible values are 50Mbps, 100Mbps,
  5440  	// 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note
  5441  	// that only those Direct Connect Partners who have met specific requirements
  5442  	// are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection.
  5443  	//
  5444  	// Bandwidth is a required field
  5445  	Bandwidth *string `locationName:"bandwidth" type:"string" required:"true"`
  5446  
  5447  	// The name of the provisioned connection.
  5448  	//
  5449  	// ConnectionName is a required field
  5450  	ConnectionName *string `locationName:"connectionName" type:"string" required:"true"`
  5451  
  5452  	// The ID of the interconnect on which the connection will be provisioned.
  5453  	//
  5454  	// InterconnectId is a required field
  5455  	InterconnectId *string `locationName:"interconnectId" type:"string" required:"true"`
  5456  
  5457  	// The ID of the account of the customer for whom the connection will be provisioned.
  5458  	//
  5459  	// OwnerAccount is a required field
  5460  	OwnerAccount *string `locationName:"ownerAccount" type:"string" required:"true"`
  5461  
  5462  	// The dedicated VLAN provisioned to the connection.
  5463  	//
  5464  	// Vlan is a required field
  5465  	Vlan *int64 `locationName:"vlan" type:"integer" required:"true"`
  5466  }
  5467  
  5468  // String returns the string representation.
  5469  //
  5470  // API parameter values that are decorated as "sensitive" in the API will not
  5471  // be included in the string output. The member name will be present, but the
  5472  // value will be replaced with "sensitive".
  5473  func (s AllocateConnectionOnInterconnectInput) String() string {
  5474  	return awsutil.Prettify(s)
  5475  }
  5476  
  5477  // GoString returns the string representation.
  5478  //
  5479  // API parameter values that are decorated as "sensitive" in the API will not
  5480  // be included in the string output. The member name will be present, but the
  5481  // value will be replaced with "sensitive".
  5482  func (s AllocateConnectionOnInterconnectInput) GoString() string {
  5483  	return s.String()
  5484  }
  5485  
  5486  // Validate inspects the fields of the type to determine if they are valid.
  5487  func (s *AllocateConnectionOnInterconnectInput) Validate() error {
  5488  	invalidParams := request.ErrInvalidParams{Context: "AllocateConnectionOnInterconnectInput"}
  5489  	if s.Bandwidth == nil {
  5490  		invalidParams.Add(request.NewErrParamRequired("Bandwidth"))
  5491  	}
  5492  	if s.ConnectionName == nil {
  5493  		invalidParams.Add(request.NewErrParamRequired("ConnectionName"))
  5494  	}
  5495  	if s.InterconnectId == nil {
  5496  		invalidParams.Add(request.NewErrParamRequired("InterconnectId"))
  5497  	}
  5498  	if s.OwnerAccount == nil {
  5499  		invalidParams.Add(request.NewErrParamRequired("OwnerAccount"))
  5500  	}
  5501  	if s.Vlan == nil {
  5502  		invalidParams.Add(request.NewErrParamRequired("Vlan"))
  5503  	}
  5504  
  5505  	if invalidParams.Len() > 0 {
  5506  		return invalidParams
  5507  	}
  5508  	return nil
  5509  }
  5510  
  5511  // SetBandwidth sets the Bandwidth field's value.
  5512  func (s *AllocateConnectionOnInterconnectInput) SetBandwidth(v string) *AllocateConnectionOnInterconnectInput {
  5513  	s.Bandwidth = &v
  5514  	return s
  5515  }
  5516  
  5517  // SetConnectionName sets the ConnectionName field's value.
  5518  func (s *AllocateConnectionOnInterconnectInput) SetConnectionName(v string) *AllocateConnectionOnInterconnectInput {
  5519  	s.ConnectionName = &v
  5520  	return s
  5521  }
  5522  
  5523  // SetInterconnectId sets the InterconnectId field's value.
  5524  func (s *AllocateConnectionOnInterconnectInput) SetInterconnectId(v string) *AllocateConnectionOnInterconnectInput {
  5525  	s.InterconnectId = &v
  5526  	return s
  5527  }
  5528  
  5529  // SetOwnerAccount sets the OwnerAccount field's value.
  5530  func (s *AllocateConnectionOnInterconnectInput) SetOwnerAccount(v string) *AllocateConnectionOnInterconnectInput {
  5531  	s.OwnerAccount = &v
  5532  	return s
  5533  }
  5534  
  5535  // SetVlan sets the Vlan field's value.
  5536  func (s *AllocateConnectionOnInterconnectInput) SetVlan(v int64) *AllocateConnectionOnInterconnectInput {
  5537  	s.Vlan = &v
  5538  	return s
  5539  }
  5540  
  5541  type AllocateHostedConnectionInput struct {
  5542  	_ struct{} `type:"structure"`
  5543  
  5544  	// The bandwidth of the connection. The possible values are 50Mbps, 100Mbps,
  5545  	// 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note
  5546  	// that only those Direct Connect Partners who have met specific requirements
  5547  	// are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection.
  5548  	//
  5549  	// Bandwidth is a required field
  5550  	Bandwidth *string `locationName:"bandwidth" type:"string" required:"true"`
  5551  
  5552  	// The ID of the interconnect or LAG.
  5553  	//
  5554  	// ConnectionId is a required field
  5555  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  5556  
  5557  	// The name of the hosted connection.
  5558  	//
  5559  	// ConnectionName is a required field
  5560  	ConnectionName *string `locationName:"connectionName" type:"string" required:"true"`
  5561  
  5562  	// The ID of the account ID of the customer for the connection.
  5563  	//
  5564  	// OwnerAccount is a required field
  5565  	OwnerAccount *string `locationName:"ownerAccount" type:"string" required:"true"`
  5566  
  5567  	// The tags associated with the connection.
  5568  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
  5569  
  5570  	// The dedicated VLAN provisioned to the hosted connection.
  5571  	//
  5572  	// Vlan is a required field
  5573  	Vlan *int64 `locationName:"vlan" type:"integer" required:"true"`
  5574  }
  5575  
  5576  // String returns the string representation.
  5577  //
  5578  // API parameter values that are decorated as "sensitive" in the API will not
  5579  // be included in the string output. The member name will be present, but the
  5580  // value will be replaced with "sensitive".
  5581  func (s AllocateHostedConnectionInput) String() string {
  5582  	return awsutil.Prettify(s)
  5583  }
  5584  
  5585  // GoString returns the string representation.
  5586  //
  5587  // API parameter values that are decorated as "sensitive" in the API will not
  5588  // be included in the string output. The member name will be present, but the
  5589  // value will be replaced with "sensitive".
  5590  func (s AllocateHostedConnectionInput) GoString() string {
  5591  	return s.String()
  5592  }
  5593  
  5594  // Validate inspects the fields of the type to determine if they are valid.
  5595  func (s *AllocateHostedConnectionInput) Validate() error {
  5596  	invalidParams := request.ErrInvalidParams{Context: "AllocateHostedConnectionInput"}
  5597  	if s.Bandwidth == nil {
  5598  		invalidParams.Add(request.NewErrParamRequired("Bandwidth"))
  5599  	}
  5600  	if s.ConnectionId == nil {
  5601  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  5602  	}
  5603  	if s.ConnectionName == nil {
  5604  		invalidParams.Add(request.NewErrParamRequired("ConnectionName"))
  5605  	}
  5606  	if s.OwnerAccount == nil {
  5607  		invalidParams.Add(request.NewErrParamRequired("OwnerAccount"))
  5608  	}
  5609  	if s.Tags != nil && len(s.Tags) < 1 {
  5610  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  5611  	}
  5612  	if s.Vlan == nil {
  5613  		invalidParams.Add(request.NewErrParamRequired("Vlan"))
  5614  	}
  5615  	if s.Tags != nil {
  5616  		for i, v := range s.Tags {
  5617  			if v == nil {
  5618  				continue
  5619  			}
  5620  			if err := v.Validate(); err != nil {
  5621  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  5622  			}
  5623  		}
  5624  	}
  5625  
  5626  	if invalidParams.Len() > 0 {
  5627  		return invalidParams
  5628  	}
  5629  	return nil
  5630  }
  5631  
  5632  // SetBandwidth sets the Bandwidth field's value.
  5633  func (s *AllocateHostedConnectionInput) SetBandwidth(v string) *AllocateHostedConnectionInput {
  5634  	s.Bandwidth = &v
  5635  	return s
  5636  }
  5637  
  5638  // SetConnectionId sets the ConnectionId field's value.
  5639  func (s *AllocateHostedConnectionInput) SetConnectionId(v string) *AllocateHostedConnectionInput {
  5640  	s.ConnectionId = &v
  5641  	return s
  5642  }
  5643  
  5644  // SetConnectionName sets the ConnectionName field's value.
  5645  func (s *AllocateHostedConnectionInput) SetConnectionName(v string) *AllocateHostedConnectionInput {
  5646  	s.ConnectionName = &v
  5647  	return s
  5648  }
  5649  
  5650  // SetOwnerAccount sets the OwnerAccount field's value.
  5651  func (s *AllocateHostedConnectionInput) SetOwnerAccount(v string) *AllocateHostedConnectionInput {
  5652  	s.OwnerAccount = &v
  5653  	return s
  5654  }
  5655  
  5656  // SetTags sets the Tags field's value.
  5657  func (s *AllocateHostedConnectionInput) SetTags(v []*Tag) *AllocateHostedConnectionInput {
  5658  	s.Tags = v
  5659  	return s
  5660  }
  5661  
  5662  // SetVlan sets the Vlan field's value.
  5663  func (s *AllocateHostedConnectionInput) SetVlan(v int64) *AllocateHostedConnectionInput {
  5664  	s.Vlan = &v
  5665  	return s
  5666  }
  5667  
  5668  type AllocatePrivateVirtualInterfaceInput struct {
  5669  	_ struct{} `type:"structure"`
  5670  
  5671  	// The ID of the connection on which the private virtual interface is provisioned.
  5672  	//
  5673  	// ConnectionId is a required field
  5674  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  5675  
  5676  	// Information about the private virtual interface.
  5677  	//
  5678  	// NewPrivateVirtualInterfaceAllocation is a required field
  5679  	NewPrivateVirtualInterfaceAllocation *NewPrivateVirtualInterfaceAllocation `locationName:"newPrivateVirtualInterfaceAllocation" type:"structure" required:"true"`
  5680  
  5681  	// The ID of the account that owns the virtual private interface.
  5682  	//
  5683  	// OwnerAccount is a required field
  5684  	OwnerAccount *string `locationName:"ownerAccount" type:"string" required:"true"`
  5685  }
  5686  
  5687  // String returns the string representation.
  5688  //
  5689  // API parameter values that are decorated as "sensitive" in the API will not
  5690  // be included in the string output. The member name will be present, but the
  5691  // value will be replaced with "sensitive".
  5692  func (s AllocatePrivateVirtualInterfaceInput) String() string {
  5693  	return awsutil.Prettify(s)
  5694  }
  5695  
  5696  // GoString 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 AllocatePrivateVirtualInterfaceInput) GoString() string {
  5702  	return s.String()
  5703  }
  5704  
  5705  // Validate inspects the fields of the type to determine if they are valid.
  5706  func (s *AllocatePrivateVirtualInterfaceInput) Validate() error {
  5707  	invalidParams := request.ErrInvalidParams{Context: "AllocatePrivateVirtualInterfaceInput"}
  5708  	if s.ConnectionId == nil {
  5709  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  5710  	}
  5711  	if s.NewPrivateVirtualInterfaceAllocation == nil {
  5712  		invalidParams.Add(request.NewErrParamRequired("NewPrivateVirtualInterfaceAllocation"))
  5713  	}
  5714  	if s.OwnerAccount == nil {
  5715  		invalidParams.Add(request.NewErrParamRequired("OwnerAccount"))
  5716  	}
  5717  	if s.NewPrivateVirtualInterfaceAllocation != nil {
  5718  		if err := s.NewPrivateVirtualInterfaceAllocation.Validate(); err != nil {
  5719  			invalidParams.AddNested("NewPrivateVirtualInterfaceAllocation", err.(request.ErrInvalidParams))
  5720  		}
  5721  	}
  5722  
  5723  	if invalidParams.Len() > 0 {
  5724  		return invalidParams
  5725  	}
  5726  	return nil
  5727  }
  5728  
  5729  // SetConnectionId sets the ConnectionId field's value.
  5730  func (s *AllocatePrivateVirtualInterfaceInput) SetConnectionId(v string) *AllocatePrivateVirtualInterfaceInput {
  5731  	s.ConnectionId = &v
  5732  	return s
  5733  }
  5734  
  5735  // SetNewPrivateVirtualInterfaceAllocation sets the NewPrivateVirtualInterfaceAllocation field's value.
  5736  func (s *AllocatePrivateVirtualInterfaceInput) SetNewPrivateVirtualInterfaceAllocation(v *NewPrivateVirtualInterfaceAllocation) *AllocatePrivateVirtualInterfaceInput {
  5737  	s.NewPrivateVirtualInterfaceAllocation = v
  5738  	return s
  5739  }
  5740  
  5741  // SetOwnerAccount sets the OwnerAccount field's value.
  5742  func (s *AllocatePrivateVirtualInterfaceInput) SetOwnerAccount(v string) *AllocatePrivateVirtualInterfaceInput {
  5743  	s.OwnerAccount = &v
  5744  	return s
  5745  }
  5746  
  5747  type AllocatePublicVirtualInterfaceInput struct {
  5748  	_ struct{} `type:"structure"`
  5749  
  5750  	// The ID of the connection on which the public virtual interface is provisioned.
  5751  	//
  5752  	// ConnectionId is a required field
  5753  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  5754  
  5755  	// Information about the public virtual interface.
  5756  	//
  5757  	// NewPublicVirtualInterfaceAllocation is a required field
  5758  	NewPublicVirtualInterfaceAllocation *NewPublicVirtualInterfaceAllocation `locationName:"newPublicVirtualInterfaceAllocation" type:"structure" required:"true"`
  5759  
  5760  	// The ID of the account that owns the public virtual interface.
  5761  	//
  5762  	// OwnerAccount is a required field
  5763  	OwnerAccount *string `locationName:"ownerAccount" 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 AllocatePublicVirtualInterfaceInput) 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 AllocatePublicVirtualInterfaceInput) 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 *AllocatePublicVirtualInterfaceInput) Validate() error {
  5786  	invalidParams := request.ErrInvalidParams{Context: "AllocatePublicVirtualInterfaceInput"}
  5787  	if s.ConnectionId == nil {
  5788  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  5789  	}
  5790  	if s.NewPublicVirtualInterfaceAllocation == nil {
  5791  		invalidParams.Add(request.NewErrParamRequired("NewPublicVirtualInterfaceAllocation"))
  5792  	}
  5793  	if s.OwnerAccount == nil {
  5794  		invalidParams.Add(request.NewErrParamRequired("OwnerAccount"))
  5795  	}
  5796  	if s.NewPublicVirtualInterfaceAllocation != nil {
  5797  		if err := s.NewPublicVirtualInterfaceAllocation.Validate(); err != nil {
  5798  			invalidParams.AddNested("NewPublicVirtualInterfaceAllocation", err.(request.ErrInvalidParams))
  5799  		}
  5800  	}
  5801  
  5802  	if invalidParams.Len() > 0 {
  5803  		return invalidParams
  5804  	}
  5805  	return nil
  5806  }
  5807  
  5808  // SetConnectionId sets the ConnectionId field's value.
  5809  func (s *AllocatePublicVirtualInterfaceInput) SetConnectionId(v string) *AllocatePublicVirtualInterfaceInput {
  5810  	s.ConnectionId = &v
  5811  	return s
  5812  }
  5813  
  5814  // SetNewPublicVirtualInterfaceAllocation sets the NewPublicVirtualInterfaceAllocation field's value.
  5815  func (s *AllocatePublicVirtualInterfaceInput) SetNewPublicVirtualInterfaceAllocation(v *NewPublicVirtualInterfaceAllocation) *AllocatePublicVirtualInterfaceInput {
  5816  	s.NewPublicVirtualInterfaceAllocation = v
  5817  	return s
  5818  }
  5819  
  5820  // SetOwnerAccount sets the OwnerAccount field's value.
  5821  func (s *AllocatePublicVirtualInterfaceInput) SetOwnerAccount(v string) *AllocatePublicVirtualInterfaceInput {
  5822  	s.OwnerAccount = &v
  5823  	return s
  5824  }
  5825  
  5826  type AllocateTransitVirtualInterfaceInput struct {
  5827  	_ struct{} `type:"structure"`
  5828  
  5829  	// The ID of the connection on which the transit virtual interface is provisioned.
  5830  	//
  5831  	// ConnectionId is a required field
  5832  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  5833  
  5834  	// Information about the transit virtual interface.
  5835  	//
  5836  	// NewTransitVirtualInterfaceAllocation is a required field
  5837  	NewTransitVirtualInterfaceAllocation *NewTransitVirtualInterfaceAllocation `locationName:"newTransitVirtualInterfaceAllocation" type:"structure" required:"true"`
  5838  
  5839  	// The ID of the account that owns the transit virtual interface.
  5840  	//
  5841  	// OwnerAccount is a required field
  5842  	OwnerAccount *string `locationName:"ownerAccount" type:"string" required:"true"`
  5843  }
  5844  
  5845  // String returns the string representation.
  5846  //
  5847  // API parameter values that are decorated as "sensitive" in the API will not
  5848  // be included in the string output. The member name will be present, but the
  5849  // value will be replaced with "sensitive".
  5850  func (s AllocateTransitVirtualInterfaceInput) String() string {
  5851  	return awsutil.Prettify(s)
  5852  }
  5853  
  5854  // GoString returns the string representation.
  5855  //
  5856  // API parameter values that are decorated as "sensitive" in the API will not
  5857  // be included in the string output. The member name will be present, but the
  5858  // value will be replaced with "sensitive".
  5859  func (s AllocateTransitVirtualInterfaceInput) GoString() string {
  5860  	return s.String()
  5861  }
  5862  
  5863  // Validate inspects the fields of the type to determine if they are valid.
  5864  func (s *AllocateTransitVirtualInterfaceInput) Validate() error {
  5865  	invalidParams := request.ErrInvalidParams{Context: "AllocateTransitVirtualInterfaceInput"}
  5866  	if s.ConnectionId == nil {
  5867  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  5868  	}
  5869  	if s.NewTransitVirtualInterfaceAllocation == nil {
  5870  		invalidParams.Add(request.NewErrParamRequired("NewTransitVirtualInterfaceAllocation"))
  5871  	}
  5872  	if s.OwnerAccount == nil {
  5873  		invalidParams.Add(request.NewErrParamRequired("OwnerAccount"))
  5874  	}
  5875  	if s.NewTransitVirtualInterfaceAllocation != nil {
  5876  		if err := s.NewTransitVirtualInterfaceAllocation.Validate(); err != nil {
  5877  			invalidParams.AddNested("NewTransitVirtualInterfaceAllocation", err.(request.ErrInvalidParams))
  5878  		}
  5879  	}
  5880  
  5881  	if invalidParams.Len() > 0 {
  5882  		return invalidParams
  5883  	}
  5884  	return nil
  5885  }
  5886  
  5887  // SetConnectionId sets the ConnectionId field's value.
  5888  func (s *AllocateTransitVirtualInterfaceInput) SetConnectionId(v string) *AllocateTransitVirtualInterfaceInput {
  5889  	s.ConnectionId = &v
  5890  	return s
  5891  }
  5892  
  5893  // SetNewTransitVirtualInterfaceAllocation sets the NewTransitVirtualInterfaceAllocation field's value.
  5894  func (s *AllocateTransitVirtualInterfaceInput) SetNewTransitVirtualInterfaceAllocation(v *NewTransitVirtualInterfaceAllocation) *AllocateTransitVirtualInterfaceInput {
  5895  	s.NewTransitVirtualInterfaceAllocation = v
  5896  	return s
  5897  }
  5898  
  5899  // SetOwnerAccount sets the OwnerAccount field's value.
  5900  func (s *AllocateTransitVirtualInterfaceInput) SetOwnerAccount(v string) *AllocateTransitVirtualInterfaceInput {
  5901  	s.OwnerAccount = &v
  5902  	return s
  5903  }
  5904  
  5905  type AllocateTransitVirtualInterfaceOutput struct {
  5906  	_ struct{} `type:"structure"`
  5907  
  5908  	// Information about a virtual interface.
  5909  	VirtualInterface *VirtualInterface `locationName:"virtualInterface" type:"structure"`
  5910  }
  5911  
  5912  // String returns the string representation.
  5913  //
  5914  // API parameter values that are decorated as "sensitive" in the API will not
  5915  // be included in the string output. The member name will be present, but the
  5916  // value will be replaced with "sensitive".
  5917  func (s AllocateTransitVirtualInterfaceOutput) String() string {
  5918  	return awsutil.Prettify(s)
  5919  }
  5920  
  5921  // GoString returns the string representation.
  5922  //
  5923  // API parameter values that are decorated as "sensitive" in the API will not
  5924  // be included in the string output. The member name will be present, but the
  5925  // value will be replaced with "sensitive".
  5926  func (s AllocateTransitVirtualInterfaceOutput) GoString() string {
  5927  	return s.String()
  5928  }
  5929  
  5930  // SetVirtualInterface sets the VirtualInterface field's value.
  5931  func (s *AllocateTransitVirtualInterfaceOutput) SetVirtualInterface(v *VirtualInterface) *AllocateTransitVirtualInterfaceOutput {
  5932  	s.VirtualInterface = v
  5933  	return s
  5934  }
  5935  
  5936  type AssociateConnectionWithLagInput struct {
  5937  	_ struct{} `type:"structure"`
  5938  
  5939  	// The ID of the connection.
  5940  	//
  5941  	// ConnectionId is a required field
  5942  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  5943  
  5944  	// The ID of the LAG with which to associate the connection.
  5945  	//
  5946  	// LagId is a required field
  5947  	LagId *string `locationName:"lagId" type:"string" required:"true"`
  5948  }
  5949  
  5950  // String returns the string representation.
  5951  //
  5952  // API parameter values that are decorated as "sensitive" in the API will not
  5953  // be included in the string output. The member name will be present, but the
  5954  // value will be replaced with "sensitive".
  5955  func (s AssociateConnectionWithLagInput) String() string {
  5956  	return awsutil.Prettify(s)
  5957  }
  5958  
  5959  // GoString returns the string representation.
  5960  //
  5961  // API parameter values that are decorated as "sensitive" in the API will not
  5962  // be included in the string output. The member name will be present, but the
  5963  // value will be replaced with "sensitive".
  5964  func (s AssociateConnectionWithLagInput) GoString() string {
  5965  	return s.String()
  5966  }
  5967  
  5968  // Validate inspects the fields of the type to determine if they are valid.
  5969  func (s *AssociateConnectionWithLagInput) Validate() error {
  5970  	invalidParams := request.ErrInvalidParams{Context: "AssociateConnectionWithLagInput"}
  5971  	if s.ConnectionId == nil {
  5972  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  5973  	}
  5974  	if s.LagId == nil {
  5975  		invalidParams.Add(request.NewErrParamRequired("LagId"))
  5976  	}
  5977  
  5978  	if invalidParams.Len() > 0 {
  5979  		return invalidParams
  5980  	}
  5981  	return nil
  5982  }
  5983  
  5984  // SetConnectionId sets the ConnectionId field's value.
  5985  func (s *AssociateConnectionWithLagInput) SetConnectionId(v string) *AssociateConnectionWithLagInput {
  5986  	s.ConnectionId = &v
  5987  	return s
  5988  }
  5989  
  5990  // SetLagId sets the LagId field's value.
  5991  func (s *AssociateConnectionWithLagInput) SetLagId(v string) *AssociateConnectionWithLagInput {
  5992  	s.LagId = &v
  5993  	return s
  5994  }
  5995  
  5996  type AssociateHostedConnectionInput struct {
  5997  	_ struct{} `type:"structure"`
  5998  
  5999  	// The ID of the hosted connection.
  6000  	//
  6001  	// ConnectionId is a required field
  6002  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  6003  
  6004  	// The ID of the interconnect or the LAG.
  6005  	//
  6006  	// ParentConnectionId is a required field
  6007  	ParentConnectionId *string `locationName:"parentConnectionId" type:"string" required:"true"`
  6008  }
  6009  
  6010  // String returns the string representation.
  6011  //
  6012  // API parameter values that are decorated as "sensitive" in the API will not
  6013  // be included in the string output. The member name will be present, but the
  6014  // value will be replaced with "sensitive".
  6015  func (s AssociateHostedConnectionInput) String() string {
  6016  	return awsutil.Prettify(s)
  6017  }
  6018  
  6019  // GoString returns the string representation.
  6020  //
  6021  // API parameter values that are decorated as "sensitive" in the API will not
  6022  // be included in the string output. The member name will be present, but the
  6023  // value will be replaced with "sensitive".
  6024  func (s AssociateHostedConnectionInput) GoString() string {
  6025  	return s.String()
  6026  }
  6027  
  6028  // Validate inspects the fields of the type to determine if they are valid.
  6029  func (s *AssociateHostedConnectionInput) Validate() error {
  6030  	invalidParams := request.ErrInvalidParams{Context: "AssociateHostedConnectionInput"}
  6031  	if s.ConnectionId == nil {
  6032  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  6033  	}
  6034  	if s.ParentConnectionId == nil {
  6035  		invalidParams.Add(request.NewErrParamRequired("ParentConnectionId"))
  6036  	}
  6037  
  6038  	if invalidParams.Len() > 0 {
  6039  		return invalidParams
  6040  	}
  6041  	return nil
  6042  }
  6043  
  6044  // SetConnectionId sets the ConnectionId field's value.
  6045  func (s *AssociateHostedConnectionInput) SetConnectionId(v string) *AssociateHostedConnectionInput {
  6046  	s.ConnectionId = &v
  6047  	return s
  6048  }
  6049  
  6050  // SetParentConnectionId sets the ParentConnectionId field's value.
  6051  func (s *AssociateHostedConnectionInput) SetParentConnectionId(v string) *AssociateHostedConnectionInput {
  6052  	s.ParentConnectionId = &v
  6053  	return s
  6054  }
  6055  
  6056  type AssociateMacSecKeyInput struct {
  6057  	_ struct{} `type:"structure"`
  6058  
  6059  	// The MAC Security (MACsec) CAK to associate with the dedicated connection.
  6060  	//
  6061  	// You can create the CKN/CAK pair using an industry standard tool.
  6062  	//
  6063  	// The valid values are 64 hexadecimal characters (0-9, A-E).
  6064  	//
  6065  	// If you use this request parameter, you must use the ckn request parameter
  6066  	// and not use the secretARN request parameter.
  6067  	Cak *string `locationName:"cak" type:"string"`
  6068  
  6069  	// The MAC Security (MACsec) CKN to associate with the dedicated connection.
  6070  	//
  6071  	// You can create the CKN/CAK pair using an industry standard tool.
  6072  	//
  6073  	// The valid values are 64 hexadecimal characters (0-9, A-E).
  6074  	//
  6075  	// If you use this request parameter, you must use the cak request parameter
  6076  	// and not use the secretARN request parameter.
  6077  	Ckn *string `locationName:"ckn" type:"string"`
  6078  
  6079  	// The ID of the dedicated connection (dxcon-xxxx), or the ID of the LAG (dxlag-xxxx).
  6080  	//
  6081  	// You can use DescribeConnections or DescribeLags to retrieve connection ID.
  6082  	//
  6083  	// ConnectionId is a required field
  6084  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  6085  
  6086  	// The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key to
  6087  	// associate with the dedicated connection.
  6088  	//
  6089  	// You can use DescribeConnections or DescribeLags to retrieve the MAC Security
  6090  	// (MACsec) secret key.
  6091  	//
  6092  	// If you use this request parameter, you do not use the ckn and cak request
  6093  	// parameters.
  6094  	SecretARN *string `locationName:"secretARN" type:"string"`
  6095  }
  6096  
  6097  // String returns the string representation.
  6098  //
  6099  // API parameter values that are decorated as "sensitive" in the API will not
  6100  // be included in the string output. The member name will be present, but the
  6101  // value will be replaced with "sensitive".
  6102  func (s AssociateMacSecKeyInput) String() string {
  6103  	return awsutil.Prettify(s)
  6104  }
  6105  
  6106  // GoString returns the string representation.
  6107  //
  6108  // API parameter values that are decorated as "sensitive" in the API will not
  6109  // be included in the string output. The member name will be present, but the
  6110  // value will be replaced with "sensitive".
  6111  func (s AssociateMacSecKeyInput) GoString() string {
  6112  	return s.String()
  6113  }
  6114  
  6115  // Validate inspects the fields of the type to determine if they are valid.
  6116  func (s *AssociateMacSecKeyInput) Validate() error {
  6117  	invalidParams := request.ErrInvalidParams{Context: "AssociateMacSecKeyInput"}
  6118  	if s.ConnectionId == nil {
  6119  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  6120  	}
  6121  
  6122  	if invalidParams.Len() > 0 {
  6123  		return invalidParams
  6124  	}
  6125  	return nil
  6126  }
  6127  
  6128  // SetCak sets the Cak field's value.
  6129  func (s *AssociateMacSecKeyInput) SetCak(v string) *AssociateMacSecKeyInput {
  6130  	s.Cak = &v
  6131  	return s
  6132  }
  6133  
  6134  // SetCkn sets the Ckn field's value.
  6135  func (s *AssociateMacSecKeyInput) SetCkn(v string) *AssociateMacSecKeyInput {
  6136  	s.Ckn = &v
  6137  	return s
  6138  }
  6139  
  6140  // SetConnectionId sets the ConnectionId field's value.
  6141  func (s *AssociateMacSecKeyInput) SetConnectionId(v string) *AssociateMacSecKeyInput {
  6142  	s.ConnectionId = &v
  6143  	return s
  6144  }
  6145  
  6146  // SetSecretARN sets the SecretARN field's value.
  6147  func (s *AssociateMacSecKeyInput) SetSecretARN(v string) *AssociateMacSecKeyInput {
  6148  	s.SecretARN = &v
  6149  	return s
  6150  }
  6151  
  6152  type AssociateMacSecKeyOutput struct {
  6153  	_ struct{} `type:"structure"`
  6154  
  6155  	// The ID of the dedicated connection (dxcon-xxxx), or the ID of the LAG (dxlag-xxxx).
  6156  	ConnectionId *string `locationName:"connectionId" type:"string"`
  6157  
  6158  	// The MAC Security (MACsec) security keys associated with the dedicated connection.
  6159  	MacSecKeys []*MacSecKey `locationName:"macSecKeys" type:"list"`
  6160  }
  6161  
  6162  // String returns the string representation.
  6163  //
  6164  // API parameter values that are decorated as "sensitive" in the API will not
  6165  // be included in the string output. The member name will be present, but the
  6166  // value will be replaced with "sensitive".
  6167  func (s AssociateMacSecKeyOutput) String() string {
  6168  	return awsutil.Prettify(s)
  6169  }
  6170  
  6171  // GoString returns the string representation.
  6172  //
  6173  // API parameter values that are decorated as "sensitive" in the API will not
  6174  // be included in the string output. The member name will be present, but the
  6175  // value will be replaced with "sensitive".
  6176  func (s AssociateMacSecKeyOutput) GoString() string {
  6177  	return s.String()
  6178  }
  6179  
  6180  // SetConnectionId sets the ConnectionId field's value.
  6181  func (s *AssociateMacSecKeyOutput) SetConnectionId(v string) *AssociateMacSecKeyOutput {
  6182  	s.ConnectionId = &v
  6183  	return s
  6184  }
  6185  
  6186  // SetMacSecKeys sets the MacSecKeys field's value.
  6187  func (s *AssociateMacSecKeyOutput) SetMacSecKeys(v []*MacSecKey) *AssociateMacSecKeyOutput {
  6188  	s.MacSecKeys = v
  6189  	return s
  6190  }
  6191  
  6192  type AssociateVirtualInterfaceInput struct {
  6193  	_ struct{} `type:"structure"`
  6194  
  6195  	// The ID of the LAG or connection.
  6196  	//
  6197  	// ConnectionId is a required field
  6198  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  6199  
  6200  	// The ID of the virtual interface.
  6201  	//
  6202  	// VirtualInterfaceId is a required field
  6203  	VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string" required:"true"`
  6204  }
  6205  
  6206  // String returns the string representation.
  6207  //
  6208  // API parameter values that are decorated as "sensitive" in the API will not
  6209  // be included in the string output. The member name will be present, but the
  6210  // value will be replaced with "sensitive".
  6211  func (s AssociateVirtualInterfaceInput) String() string {
  6212  	return awsutil.Prettify(s)
  6213  }
  6214  
  6215  // GoString returns the string representation.
  6216  //
  6217  // API parameter values that are decorated as "sensitive" in the API will not
  6218  // be included in the string output. The member name will be present, but the
  6219  // value will be replaced with "sensitive".
  6220  func (s AssociateVirtualInterfaceInput) GoString() string {
  6221  	return s.String()
  6222  }
  6223  
  6224  // Validate inspects the fields of the type to determine if they are valid.
  6225  func (s *AssociateVirtualInterfaceInput) Validate() error {
  6226  	invalidParams := request.ErrInvalidParams{Context: "AssociateVirtualInterfaceInput"}
  6227  	if s.ConnectionId == nil {
  6228  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  6229  	}
  6230  	if s.VirtualInterfaceId == nil {
  6231  		invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceId"))
  6232  	}
  6233  
  6234  	if invalidParams.Len() > 0 {
  6235  		return invalidParams
  6236  	}
  6237  	return nil
  6238  }
  6239  
  6240  // SetConnectionId sets the ConnectionId field's value.
  6241  func (s *AssociateVirtualInterfaceInput) SetConnectionId(v string) *AssociateVirtualInterfaceInput {
  6242  	s.ConnectionId = &v
  6243  	return s
  6244  }
  6245  
  6246  // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  6247  func (s *AssociateVirtualInterfaceInput) SetVirtualInterfaceId(v string) *AssociateVirtualInterfaceInput {
  6248  	s.VirtualInterfaceId = &v
  6249  	return s
  6250  }
  6251  
  6252  // Information about the associated gateway.
  6253  type AssociatedGateway struct {
  6254  	_ struct{} `type:"structure"`
  6255  
  6256  	// The ID of the associated gateway.
  6257  	Id *string `locationName:"id" type:"string"`
  6258  
  6259  	// The ID of the account that owns the associated virtual private gateway or
  6260  	// transit gateway.
  6261  	OwnerAccount *string `locationName:"ownerAccount" type:"string"`
  6262  
  6263  	// The Region where the associated gateway is located.
  6264  	Region *string `locationName:"region" type:"string"`
  6265  
  6266  	// The type of associated gateway.
  6267  	Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  6268  }
  6269  
  6270  // String returns the string representation.
  6271  //
  6272  // API parameter values that are decorated as "sensitive" in the API will not
  6273  // be included in the string output. The member name will be present, but the
  6274  // value will be replaced with "sensitive".
  6275  func (s AssociatedGateway) String() string {
  6276  	return awsutil.Prettify(s)
  6277  }
  6278  
  6279  // GoString returns the string representation.
  6280  //
  6281  // API parameter values that are decorated as "sensitive" in the API will not
  6282  // be included in the string output. The member name will be present, but the
  6283  // value will be replaced with "sensitive".
  6284  func (s AssociatedGateway) GoString() string {
  6285  	return s.String()
  6286  }
  6287  
  6288  // SetId sets the Id field's value.
  6289  func (s *AssociatedGateway) SetId(v string) *AssociatedGateway {
  6290  	s.Id = &v
  6291  	return s
  6292  }
  6293  
  6294  // SetOwnerAccount sets the OwnerAccount field's value.
  6295  func (s *AssociatedGateway) SetOwnerAccount(v string) *AssociatedGateway {
  6296  	s.OwnerAccount = &v
  6297  	return s
  6298  }
  6299  
  6300  // SetRegion sets the Region field's value.
  6301  func (s *AssociatedGateway) SetRegion(v string) *AssociatedGateway {
  6302  	s.Region = &v
  6303  	return s
  6304  }
  6305  
  6306  // SetType sets the Type field's value.
  6307  func (s *AssociatedGateway) SetType(v string) *AssociatedGateway {
  6308  	s.Type = &v
  6309  	return s
  6310  }
  6311  
  6312  // Information about a BGP peer.
  6313  type BGPPeer struct {
  6314  	_ struct{} `type:"structure"`
  6315  
  6316  	// The address family for the BGP peer.
  6317  	AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
  6318  
  6319  	// The IP address assigned to the Amazon interface.
  6320  	AmazonAddress *string `locationName:"amazonAddress" type:"string"`
  6321  
  6322  	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
  6323  	Asn *int64 `locationName:"asn" type:"integer"`
  6324  
  6325  	// The authentication key for BGP configuration. This string has a minimum length
  6326  	// of 6 characters and and a maximun lenth of 80 characters.
  6327  	AuthKey *string `locationName:"authKey" type:"string"`
  6328  
  6329  	// The Direct Connect endpoint that terminates the BGP peer.
  6330  	AwsDeviceV2 *string `locationName:"awsDeviceV2" type:"string"`
  6331  
  6332  	// The Direct Connect endpoint that terminates the logical connection. This
  6333  	// device might be different than the device that terminates the physical connection.
  6334  	AwsLogicalDeviceId *string `locationName:"awsLogicalDeviceId" type:"string"`
  6335  
  6336  	// The ID of the BGP peer.
  6337  	BgpPeerId *string `locationName:"bgpPeerId" type:"string"`
  6338  
  6339  	// The state of the BGP peer. The following are the possible values:
  6340  	//
  6341  	//    * verifying: The BGP peering addresses or ASN require validation before
  6342  	//    the BGP peer can be created. This state applies only to public virtual
  6343  	//    interfaces.
  6344  	//
  6345  	//    * pending: The BGP peer is created, and remains in this state until it
  6346  	//    is ready to be established.
  6347  	//
  6348  	//    * available: The BGP peer is ready to be established.
  6349  	//
  6350  	//    * deleting: The BGP peer is being deleted.
  6351  	//
  6352  	//    * deleted: The BGP peer is deleted and cannot be established.
  6353  	BgpPeerState *string `locationName:"bgpPeerState" type:"string" enum:"BGPPeerState"`
  6354  
  6355  	// The status of the BGP peer. The following are the possible values:
  6356  	//
  6357  	//    * up: The BGP peer is established. This state does not indicate the state
  6358  	//    of the routing function. Ensure that you are receiving routes over the
  6359  	//    BGP session.
  6360  	//
  6361  	//    * down: The BGP peer is down.
  6362  	//
  6363  	//    * unknown: The BGP peer status is not available.
  6364  	BgpStatus *string `locationName:"bgpStatus" type:"string" enum:"BGPStatus"`
  6365  
  6366  	// The IP address assigned to the customer interface.
  6367  	CustomerAddress *string `locationName:"customerAddress" type:"string"`
  6368  }
  6369  
  6370  // String returns the string representation.
  6371  //
  6372  // API parameter values that are decorated as "sensitive" in the API will not
  6373  // be included in the string output. The member name will be present, but the
  6374  // value will be replaced with "sensitive".
  6375  func (s BGPPeer) String() string {
  6376  	return awsutil.Prettify(s)
  6377  }
  6378  
  6379  // GoString returns the string representation.
  6380  //
  6381  // API parameter values that are decorated as "sensitive" in the API will not
  6382  // be included in the string output. The member name will be present, but the
  6383  // value will be replaced with "sensitive".
  6384  func (s BGPPeer) GoString() string {
  6385  	return s.String()
  6386  }
  6387  
  6388  // SetAddressFamily sets the AddressFamily field's value.
  6389  func (s *BGPPeer) SetAddressFamily(v string) *BGPPeer {
  6390  	s.AddressFamily = &v
  6391  	return s
  6392  }
  6393  
  6394  // SetAmazonAddress sets the AmazonAddress field's value.
  6395  func (s *BGPPeer) SetAmazonAddress(v string) *BGPPeer {
  6396  	s.AmazonAddress = &v
  6397  	return s
  6398  }
  6399  
  6400  // SetAsn sets the Asn field's value.
  6401  func (s *BGPPeer) SetAsn(v int64) *BGPPeer {
  6402  	s.Asn = &v
  6403  	return s
  6404  }
  6405  
  6406  // SetAuthKey sets the AuthKey field's value.
  6407  func (s *BGPPeer) SetAuthKey(v string) *BGPPeer {
  6408  	s.AuthKey = &v
  6409  	return s
  6410  }
  6411  
  6412  // SetAwsDeviceV2 sets the AwsDeviceV2 field's value.
  6413  func (s *BGPPeer) SetAwsDeviceV2(v string) *BGPPeer {
  6414  	s.AwsDeviceV2 = &v
  6415  	return s
  6416  }
  6417  
  6418  // SetAwsLogicalDeviceId sets the AwsLogicalDeviceId field's value.
  6419  func (s *BGPPeer) SetAwsLogicalDeviceId(v string) *BGPPeer {
  6420  	s.AwsLogicalDeviceId = &v
  6421  	return s
  6422  }
  6423  
  6424  // SetBgpPeerId sets the BgpPeerId field's value.
  6425  func (s *BGPPeer) SetBgpPeerId(v string) *BGPPeer {
  6426  	s.BgpPeerId = &v
  6427  	return s
  6428  }
  6429  
  6430  // SetBgpPeerState sets the BgpPeerState field's value.
  6431  func (s *BGPPeer) SetBgpPeerState(v string) *BGPPeer {
  6432  	s.BgpPeerState = &v
  6433  	return s
  6434  }
  6435  
  6436  // SetBgpStatus sets the BgpStatus field's value.
  6437  func (s *BGPPeer) SetBgpStatus(v string) *BGPPeer {
  6438  	s.BgpStatus = &v
  6439  	return s
  6440  }
  6441  
  6442  // SetCustomerAddress sets the CustomerAddress field's value.
  6443  func (s *BGPPeer) SetCustomerAddress(v string) *BGPPeer {
  6444  	s.CustomerAddress = &v
  6445  	return s
  6446  }
  6447  
  6448  // One or more parameters are not valid.
  6449  type ClientException struct {
  6450  	_            struct{}                  `type:"structure"`
  6451  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6452  
  6453  	Message_ *string `locationName:"message" type:"string"`
  6454  }
  6455  
  6456  // String returns the string representation.
  6457  //
  6458  // API parameter values that are decorated as "sensitive" in the API will not
  6459  // be included in the string output. The member name will be present, but the
  6460  // value will be replaced with "sensitive".
  6461  func (s ClientException) String() string {
  6462  	return awsutil.Prettify(s)
  6463  }
  6464  
  6465  // GoString returns the string representation.
  6466  //
  6467  // API parameter values that are decorated as "sensitive" in the API will not
  6468  // be included in the string output. The member name will be present, but the
  6469  // value will be replaced with "sensitive".
  6470  func (s ClientException) GoString() string {
  6471  	return s.String()
  6472  }
  6473  
  6474  func newErrorClientException(v protocol.ResponseMetadata) error {
  6475  	return &ClientException{
  6476  		RespMetadata: v,
  6477  	}
  6478  }
  6479  
  6480  // Code returns the exception type name.
  6481  func (s *ClientException) Code() string {
  6482  	return "DirectConnectClientException"
  6483  }
  6484  
  6485  // Message returns the exception's message.
  6486  func (s *ClientException) Message() string {
  6487  	if s.Message_ != nil {
  6488  		return *s.Message_
  6489  	}
  6490  	return ""
  6491  }
  6492  
  6493  // OrigErr always returns nil, satisfies awserr.Error interface.
  6494  func (s *ClientException) OrigErr() error {
  6495  	return nil
  6496  }
  6497  
  6498  func (s *ClientException) Error() string {
  6499  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6500  }
  6501  
  6502  // Status code returns the HTTP status code for the request's response error.
  6503  func (s *ClientException) StatusCode() int {
  6504  	return s.RespMetadata.StatusCode
  6505  }
  6506  
  6507  // RequestID returns the service's response RequestID for request.
  6508  func (s *ClientException) RequestID() string {
  6509  	return s.RespMetadata.RequestID
  6510  }
  6511  
  6512  type ConfirmConnectionInput struct {
  6513  	_ struct{} `type:"structure"`
  6514  
  6515  	// The ID of the hosted connection.
  6516  	//
  6517  	// ConnectionId is a required field
  6518  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  6519  }
  6520  
  6521  // String returns the string representation.
  6522  //
  6523  // API parameter values that are decorated as "sensitive" in the API will not
  6524  // be included in the string output. The member name will be present, but the
  6525  // value will be replaced with "sensitive".
  6526  func (s ConfirmConnectionInput) String() string {
  6527  	return awsutil.Prettify(s)
  6528  }
  6529  
  6530  // GoString returns the string representation.
  6531  //
  6532  // API parameter values that are decorated as "sensitive" in the API will not
  6533  // be included in the string output. The member name will be present, but the
  6534  // value will be replaced with "sensitive".
  6535  func (s ConfirmConnectionInput) GoString() string {
  6536  	return s.String()
  6537  }
  6538  
  6539  // Validate inspects the fields of the type to determine if they are valid.
  6540  func (s *ConfirmConnectionInput) Validate() error {
  6541  	invalidParams := request.ErrInvalidParams{Context: "ConfirmConnectionInput"}
  6542  	if s.ConnectionId == nil {
  6543  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  6544  	}
  6545  
  6546  	if invalidParams.Len() > 0 {
  6547  		return invalidParams
  6548  	}
  6549  	return nil
  6550  }
  6551  
  6552  // SetConnectionId sets the ConnectionId field's value.
  6553  func (s *ConfirmConnectionInput) SetConnectionId(v string) *ConfirmConnectionInput {
  6554  	s.ConnectionId = &v
  6555  	return s
  6556  }
  6557  
  6558  type ConfirmConnectionOutput struct {
  6559  	_ struct{} `type:"structure"`
  6560  
  6561  	// The state of the connection. The following are the possible values:
  6562  	//
  6563  	//    * ordering: The initial state of a hosted connection provisioned on an
  6564  	//    interconnect. The connection stays in the ordering state until the owner
  6565  	//    of the hosted connection confirms or declines the connection order.
  6566  	//
  6567  	//    * requested: The initial state of a standard connection. The connection
  6568  	//    stays in the requested state until the Letter of Authorization (LOA) is
  6569  	//    sent to the customer.
  6570  	//
  6571  	//    * pending: The connection has been approved and is being initialized.
  6572  	//
  6573  	//    * available: The network link is up and the connection is ready for use.
  6574  	//
  6575  	//    * down: The network link is down.
  6576  	//
  6577  	//    * deleting: The connection is being deleted.
  6578  	//
  6579  	//    * deleted: The connection has been deleted.
  6580  	//
  6581  	//    * rejected: A hosted connection in the ordering state enters the rejected
  6582  	//    state if it is deleted by the customer.
  6583  	//
  6584  	//    * unknown: The state of the connection is not available.
  6585  	ConnectionState *string `locationName:"connectionState" type:"string" enum:"ConnectionState"`
  6586  }
  6587  
  6588  // String returns the string representation.
  6589  //
  6590  // API parameter values that are decorated as "sensitive" in the API will not
  6591  // be included in the string output. The member name will be present, but the
  6592  // value will be replaced with "sensitive".
  6593  func (s ConfirmConnectionOutput) String() string {
  6594  	return awsutil.Prettify(s)
  6595  }
  6596  
  6597  // GoString returns the string representation.
  6598  //
  6599  // API parameter values that are decorated as "sensitive" in the API will not
  6600  // be included in the string output. The member name will be present, but the
  6601  // value will be replaced with "sensitive".
  6602  func (s ConfirmConnectionOutput) GoString() string {
  6603  	return s.String()
  6604  }
  6605  
  6606  // SetConnectionState sets the ConnectionState field's value.
  6607  func (s *ConfirmConnectionOutput) SetConnectionState(v string) *ConfirmConnectionOutput {
  6608  	s.ConnectionState = &v
  6609  	return s
  6610  }
  6611  
  6612  type ConfirmPrivateVirtualInterfaceInput struct {
  6613  	_ struct{} `type:"structure"`
  6614  
  6615  	// The ID of the Direct Connect gateway.
  6616  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
  6617  
  6618  	// The ID of the virtual private gateway.
  6619  	VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"`
  6620  
  6621  	// The ID of the virtual interface.
  6622  	//
  6623  	// VirtualInterfaceId is a required field
  6624  	VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string" required:"true"`
  6625  }
  6626  
  6627  // String returns the string representation.
  6628  //
  6629  // API parameter values that are decorated as "sensitive" in the API will not
  6630  // be included in the string output. The member name will be present, but the
  6631  // value will be replaced with "sensitive".
  6632  func (s ConfirmPrivateVirtualInterfaceInput) String() string {
  6633  	return awsutil.Prettify(s)
  6634  }
  6635  
  6636  // GoString returns the string representation.
  6637  //
  6638  // API parameter values that are decorated as "sensitive" in the API will not
  6639  // be included in the string output. The member name will be present, but the
  6640  // value will be replaced with "sensitive".
  6641  func (s ConfirmPrivateVirtualInterfaceInput) GoString() string {
  6642  	return s.String()
  6643  }
  6644  
  6645  // Validate inspects the fields of the type to determine if they are valid.
  6646  func (s *ConfirmPrivateVirtualInterfaceInput) Validate() error {
  6647  	invalidParams := request.ErrInvalidParams{Context: "ConfirmPrivateVirtualInterfaceInput"}
  6648  	if s.VirtualInterfaceId == nil {
  6649  		invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceId"))
  6650  	}
  6651  
  6652  	if invalidParams.Len() > 0 {
  6653  		return invalidParams
  6654  	}
  6655  	return nil
  6656  }
  6657  
  6658  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  6659  func (s *ConfirmPrivateVirtualInterfaceInput) SetDirectConnectGatewayId(v string) *ConfirmPrivateVirtualInterfaceInput {
  6660  	s.DirectConnectGatewayId = &v
  6661  	return s
  6662  }
  6663  
  6664  // SetVirtualGatewayId sets the VirtualGatewayId field's value.
  6665  func (s *ConfirmPrivateVirtualInterfaceInput) SetVirtualGatewayId(v string) *ConfirmPrivateVirtualInterfaceInput {
  6666  	s.VirtualGatewayId = &v
  6667  	return s
  6668  }
  6669  
  6670  // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  6671  func (s *ConfirmPrivateVirtualInterfaceInput) SetVirtualInterfaceId(v string) *ConfirmPrivateVirtualInterfaceInput {
  6672  	s.VirtualInterfaceId = &v
  6673  	return s
  6674  }
  6675  
  6676  type ConfirmPrivateVirtualInterfaceOutput struct {
  6677  	_ struct{} `type:"structure"`
  6678  
  6679  	// The state of the virtual interface. The following are the possible values:
  6680  	//
  6681  	//    * confirming: The creation of the virtual interface is pending confirmation
  6682  	//    from the virtual interface owner. If the owner of the virtual interface
  6683  	//    is different from the owner of the connection on which it is provisioned,
  6684  	//    then the virtual interface will remain in this state until it is confirmed
  6685  	//    by the virtual interface owner.
  6686  	//
  6687  	//    * verifying: This state only applies to public virtual interfaces. Each
  6688  	//    public virtual interface needs validation before the virtual interface
  6689  	//    can be created.
  6690  	//
  6691  	//    * pending: A virtual interface is in this state from the time that it
  6692  	//    is created until the virtual interface is ready to forward traffic.
  6693  	//
  6694  	//    * available: A virtual interface that is able to forward traffic.
  6695  	//
  6696  	//    * down: A virtual interface that is BGP down.
  6697  	//
  6698  	//    * deleting: A virtual interface is in this state immediately after calling
  6699  	//    DeleteVirtualInterface until it can no longer forward traffic.
  6700  	//
  6701  	//    * deleted: A virtual interface that cannot forward traffic.
  6702  	//
  6703  	//    * rejected: The virtual interface owner has declined creation of the virtual
  6704  	//    interface. If a virtual interface in the Confirming state is deleted by
  6705  	//    the virtual interface owner, the virtual interface enters the Rejected
  6706  	//    state.
  6707  	//
  6708  	//    * unknown: The state of the virtual interface is not available.
  6709  	VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string" enum:"VirtualInterfaceState"`
  6710  }
  6711  
  6712  // String returns the string representation.
  6713  //
  6714  // API parameter values that are decorated as "sensitive" in the API will not
  6715  // be included in the string output. The member name will be present, but the
  6716  // value will be replaced with "sensitive".
  6717  func (s ConfirmPrivateVirtualInterfaceOutput) String() string {
  6718  	return awsutil.Prettify(s)
  6719  }
  6720  
  6721  // GoString returns the string representation.
  6722  //
  6723  // API parameter values that are decorated as "sensitive" in the API will not
  6724  // be included in the string output. The member name will be present, but the
  6725  // value will be replaced with "sensitive".
  6726  func (s ConfirmPrivateVirtualInterfaceOutput) GoString() string {
  6727  	return s.String()
  6728  }
  6729  
  6730  // SetVirtualInterfaceState sets the VirtualInterfaceState field's value.
  6731  func (s *ConfirmPrivateVirtualInterfaceOutput) SetVirtualInterfaceState(v string) *ConfirmPrivateVirtualInterfaceOutput {
  6732  	s.VirtualInterfaceState = &v
  6733  	return s
  6734  }
  6735  
  6736  type ConfirmPublicVirtualInterfaceInput struct {
  6737  	_ struct{} `type:"structure"`
  6738  
  6739  	// The ID of the virtual interface.
  6740  	//
  6741  	// VirtualInterfaceId is a required field
  6742  	VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string" required:"true"`
  6743  }
  6744  
  6745  // String returns the string representation.
  6746  //
  6747  // API parameter values that are decorated as "sensitive" in the API will not
  6748  // be included in the string output. The member name will be present, but the
  6749  // value will be replaced with "sensitive".
  6750  func (s ConfirmPublicVirtualInterfaceInput) String() string {
  6751  	return awsutil.Prettify(s)
  6752  }
  6753  
  6754  // GoString returns the string representation.
  6755  //
  6756  // API parameter values that are decorated as "sensitive" in the API will not
  6757  // be included in the string output. The member name will be present, but the
  6758  // value will be replaced with "sensitive".
  6759  func (s ConfirmPublicVirtualInterfaceInput) GoString() string {
  6760  	return s.String()
  6761  }
  6762  
  6763  // Validate inspects the fields of the type to determine if they are valid.
  6764  func (s *ConfirmPublicVirtualInterfaceInput) Validate() error {
  6765  	invalidParams := request.ErrInvalidParams{Context: "ConfirmPublicVirtualInterfaceInput"}
  6766  	if s.VirtualInterfaceId == nil {
  6767  		invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceId"))
  6768  	}
  6769  
  6770  	if invalidParams.Len() > 0 {
  6771  		return invalidParams
  6772  	}
  6773  	return nil
  6774  }
  6775  
  6776  // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  6777  func (s *ConfirmPublicVirtualInterfaceInput) SetVirtualInterfaceId(v string) *ConfirmPublicVirtualInterfaceInput {
  6778  	s.VirtualInterfaceId = &v
  6779  	return s
  6780  }
  6781  
  6782  type ConfirmPublicVirtualInterfaceOutput struct {
  6783  	_ struct{} `type:"structure"`
  6784  
  6785  	// The state of the virtual interface. The following are the possible values:
  6786  	//
  6787  	//    * confirming: The creation of the virtual interface is pending confirmation
  6788  	//    from the virtual interface owner. If the owner of the virtual interface
  6789  	//    is different from the owner of the connection on which it is provisioned,
  6790  	//    then the virtual interface will remain in this state until it is confirmed
  6791  	//    by the virtual interface owner.
  6792  	//
  6793  	//    * verifying: This state only applies to public virtual interfaces. Each
  6794  	//    public virtual interface needs validation before the virtual interface
  6795  	//    can be created.
  6796  	//
  6797  	//    * pending: A virtual interface is in this state from the time that it
  6798  	//    is created until the virtual interface is ready to forward traffic.
  6799  	//
  6800  	//    * available: A virtual interface that is able to forward traffic.
  6801  	//
  6802  	//    * down: A virtual interface that is BGP down.
  6803  	//
  6804  	//    * deleting: A virtual interface is in this state immediately after calling
  6805  	//    DeleteVirtualInterface until it can no longer forward traffic.
  6806  	//
  6807  	//    * deleted: A virtual interface that cannot forward traffic.
  6808  	//
  6809  	//    * rejected: The virtual interface owner has declined creation of the virtual
  6810  	//    interface. If a virtual interface in the Confirming state is deleted by
  6811  	//    the virtual interface owner, the virtual interface enters the Rejected
  6812  	//    state.
  6813  	//
  6814  	//    * unknown: The state of the virtual interface is not available.
  6815  	VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string" enum:"VirtualInterfaceState"`
  6816  }
  6817  
  6818  // String returns the string representation.
  6819  //
  6820  // API parameter values that are decorated as "sensitive" in the API will not
  6821  // be included in the string output. The member name will be present, but the
  6822  // value will be replaced with "sensitive".
  6823  func (s ConfirmPublicVirtualInterfaceOutput) String() string {
  6824  	return awsutil.Prettify(s)
  6825  }
  6826  
  6827  // GoString returns the string representation.
  6828  //
  6829  // API parameter values that are decorated as "sensitive" in the API will not
  6830  // be included in the string output. The member name will be present, but the
  6831  // value will be replaced with "sensitive".
  6832  func (s ConfirmPublicVirtualInterfaceOutput) GoString() string {
  6833  	return s.String()
  6834  }
  6835  
  6836  // SetVirtualInterfaceState sets the VirtualInterfaceState field's value.
  6837  func (s *ConfirmPublicVirtualInterfaceOutput) SetVirtualInterfaceState(v string) *ConfirmPublicVirtualInterfaceOutput {
  6838  	s.VirtualInterfaceState = &v
  6839  	return s
  6840  }
  6841  
  6842  type ConfirmTransitVirtualInterfaceInput struct {
  6843  	_ struct{} `type:"structure"`
  6844  
  6845  	// The ID of the Direct Connect gateway.
  6846  	//
  6847  	// DirectConnectGatewayId is a required field
  6848  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string" required:"true"`
  6849  
  6850  	// The ID of the virtual interface.
  6851  	//
  6852  	// VirtualInterfaceId is a required field
  6853  	VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string" required:"true"`
  6854  }
  6855  
  6856  // String returns the string representation.
  6857  //
  6858  // API parameter values that are decorated as "sensitive" in the API will not
  6859  // be included in the string output. The member name will be present, but the
  6860  // value will be replaced with "sensitive".
  6861  func (s ConfirmTransitVirtualInterfaceInput) String() string {
  6862  	return awsutil.Prettify(s)
  6863  }
  6864  
  6865  // GoString returns the string representation.
  6866  //
  6867  // API parameter values that are decorated as "sensitive" in the API will not
  6868  // be included in the string output. The member name will be present, but the
  6869  // value will be replaced with "sensitive".
  6870  func (s ConfirmTransitVirtualInterfaceInput) GoString() string {
  6871  	return s.String()
  6872  }
  6873  
  6874  // Validate inspects the fields of the type to determine if they are valid.
  6875  func (s *ConfirmTransitVirtualInterfaceInput) Validate() error {
  6876  	invalidParams := request.ErrInvalidParams{Context: "ConfirmTransitVirtualInterfaceInput"}
  6877  	if s.DirectConnectGatewayId == nil {
  6878  		invalidParams.Add(request.NewErrParamRequired("DirectConnectGatewayId"))
  6879  	}
  6880  	if s.VirtualInterfaceId == nil {
  6881  		invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceId"))
  6882  	}
  6883  
  6884  	if invalidParams.Len() > 0 {
  6885  		return invalidParams
  6886  	}
  6887  	return nil
  6888  }
  6889  
  6890  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  6891  func (s *ConfirmTransitVirtualInterfaceInput) SetDirectConnectGatewayId(v string) *ConfirmTransitVirtualInterfaceInput {
  6892  	s.DirectConnectGatewayId = &v
  6893  	return s
  6894  }
  6895  
  6896  // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  6897  func (s *ConfirmTransitVirtualInterfaceInput) SetVirtualInterfaceId(v string) *ConfirmTransitVirtualInterfaceInput {
  6898  	s.VirtualInterfaceId = &v
  6899  	return s
  6900  }
  6901  
  6902  type ConfirmTransitVirtualInterfaceOutput struct {
  6903  	_ struct{} `type:"structure"`
  6904  
  6905  	// The state of the virtual interface. The following are the possible values:
  6906  	//
  6907  	//    * confirming: The creation of the virtual interface is pending confirmation
  6908  	//    from the virtual interface owner. If the owner of the virtual interface
  6909  	//    is different from the owner of the connection on which it is provisioned,
  6910  	//    then the virtual interface will remain in this state until it is confirmed
  6911  	//    by the virtual interface owner.
  6912  	//
  6913  	//    * verifying: This state only applies to public virtual interfaces. Each
  6914  	//    public virtual interface needs validation before the virtual interface
  6915  	//    can be created.
  6916  	//
  6917  	//    * pending: A virtual interface is in this state from the time that it
  6918  	//    is created until the virtual interface is ready to forward traffic.
  6919  	//
  6920  	//    * available: A virtual interface that is able to forward traffic.
  6921  	//
  6922  	//    * down: A virtual interface that is BGP down.
  6923  	//
  6924  	//    * deleting: A virtual interface is in this state immediately after calling
  6925  	//    DeleteVirtualInterface until it can no longer forward traffic.
  6926  	//
  6927  	//    * deleted: A virtual interface that cannot forward traffic.
  6928  	//
  6929  	//    * rejected: The virtual interface owner has declined creation of the virtual
  6930  	//    interface. If a virtual interface in the Confirming state is deleted by
  6931  	//    the virtual interface owner, the virtual interface enters the Rejected
  6932  	//    state.
  6933  	//
  6934  	//    * unknown: The state of the virtual interface is not available.
  6935  	VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string" enum:"VirtualInterfaceState"`
  6936  }
  6937  
  6938  // String returns the string representation.
  6939  //
  6940  // API parameter values that are decorated as "sensitive" in the API will not
  6941  // be included in the string output. The member name will be present, but the
  6942  // value will be replaced with "sensitive".
  6943  func (s ConfirmTransitVirtualInterfaceOutput) String() string {
  6944  	return awsutil.Prettify(s)
  6945  }
  6946  
  6947  // GoString returns the string representation.
  6948  //
  6949  // API parameter values that are decorated as "sensitive" in the API will not
  6950  // be included in the string output. The member name will be present, but the
  6951  // value will be replaced with "sensitive".
  6952  func (s ConfirmTransitVirtualInterfaceOutput) GoString() string {
  6953  	return s.String()
  6954  }
  6955  
  6956  // SetVirtualInterfaceState sets the VirtualInterfaceState field's value.
  6957  func (s *ConfirmTransitVirtualInterfaceOutput) SetVirtualInterfaceState(v string) *ConfirmTransitVirtualInterfaceOutput {
  6958  	s.VirtualInterfaceState = &v
  6959  	return s
  6960  }
  6961  
  6962  // Information about an Direct Connect connection.
  6963  type Connection struct {
  6964  	_ struct{} `type:"structure"`
  6965  
  6966  	// The Direct Connect endpoint on which the physical connection terminates.
  6967  	AwsDevice *string `locationName:"awsDevice" deprecated:"true" type:"string"`
  6968  
  6969  	// The Direct Connect endpoint that terminates the physical connection.
  6970  	AwsDeviceV2 *string `locationName:"awsDeviceV2" type:"string"`
  6971  
  6972  	// The Direct Connect endpoint that terminates the logical connection. This
  6973  	// device might be different than the device that terminates the physical connection.
  6974  	AwsLogicalDeviceId *string `locationName:"awsLogicalDeviceId" type:"string"`
  6975  
  6976  	// The bandwidth of the connection.
  6977  	Bandwidth *string `locationName:"bandwidth" type:"string"`
  6978  
  6979  	// The ID of the connection.
  6980  	ConnectionId *string `locationName:"connectionId" type:"string"`
  6981  
  6982  	// The name of the connection.
  6983  	ConnectionName *string `locationName:"connectionName" type:"string"`
  6984  
  6985  	// The state of the connection. The following are the possible values:
  6986  	//
  6987  	//    * ordering: The initial state of a hosted connection provisioned on an
  6988  	//    interconnect. The connection stays in the ordering state until the owner
  6989  	//    of the hosted connection confirms or declines the connection order.
  6990  	//
  6991  	//    * requested: The initial state of a standard connection. The connection
  6992  	//    stays in the requested state until the Letter of Authorization (LOA) is
  6993  	//    sent to the customer.
  6994  	//
  6995  	//    * pending: The connection has been approved and is being initialized.
  6996  	//
  6997  	//    * available: The network link is up and the connection is ready for use.
  6998  	//
  6999  	//    * down: The network link is down.
  7000  	//
  7001  	//    * deleting: The connection is being deleted.
  7002  	//
  7003  	//    * deleted: The connection has been deleted.
  7004  	//
  7005  	//    * rejected: A hosted connection in the ordering state enters the rejected
  7006  	//    state if it is deleted by the customer.
  7007  	//
  7008  	//    * unknown: The state of the connection is not available.
  7009  	ConnectionState *string `locationName:"connectionState" type:"string" enum:"ConnectionState"`
  7010  
  7011  	// The MAC Security (MACsec) connection encryption mode.
  7012  	//
  7013  	// The valid values are no_encrypt, should_encrypt, and must_encrypt.
  7014  	EncryptionMode *string `locationName:"encryptionMode" type:"string"`
  7015  
  7016  	// Indicates whether the connection supports a secondary BGP peer in the same
  7017  	// address family (IPv4/IPv6).
  7018  	HasLogicalRedundancy *string `locationName:"hasLogicalRedundancy" type:"string" enum:"HasLogicalRedundancy"`
  7019  
  7020  	// Indicates whether jumbo frames (9001 MTU) are supported.
  7021  	JumboFrameCapable *bool `locationName:"jumboFrameCapable" type:"boolean"`
  7022  
  7023  	// The ID of the LAG.
  7024  	LagId *string `locationName:"lagId" type:"string"`
  7025  
  7026  	// The time of the most recent call to DescribeLoa for this connection.
  7027  	LoaIssueTime *time.Time `locationName:"loaIssueTime" type:"timestamp"`
  7028  
  7029  	// The location of the connection.
  7030  	Location *string `locationName:"location" type:"string"`
  7031  
  7032  	// Indicates whether the connection supports MAC Security (MACsec).
  7033  	MacSecCapable *bool `locationName:"macSecCapable" type:"boolean"`
  7034  
  7035  	// The MAC Security (MACsec) security keys associated with the connection.
  7036  	MacSecKeys []*MacSecKey `locationName:"macSecKeys" type:"list"`
  7037  
  7038  	// The ID of the account that owns the connection.
  7039  	OwnerAccount *string `locationName:"ownerAccount" type:"string"`
  7040  
  7041  	// The name of the Direct Connect service provider associated with the connection.
  7042  	PartnerName *string `locationName:"partnerName" type:"string"`
  7043  
  7044  	// The MAC Security (MACsec) port link status of the connection.
  7045  	//
  7046  	// The valid values are Encryption Up, which means that there is an active Connection
  7047  	// Key Name, or Encryption Down.
  7048  	PortEncryptionStatus *string `locationName:"portEncryptionStatus" type:"string"`
  7049  
  7050  	// The name of the service provider associated with the connection.
  7051  	ProviderName *string `locationName:"providerName" type:"string"`
  7052  
  7053  	// The Region where the connection is located.
  7054  	Region *string `locationName:"region" type:"string"`
  7055  
  7056  	// The tags associated with the connection.
  7057  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
  7058  
  7059  	// The ID of the VLAN.
  7060  	Vlan *int64 `locationName:"vlan" type:"integer"`
  7061  }
  7062  
  7063  // String returns the string representation.
  7064  //
  7065  // API parameter values that are decorated as "sensitive" in the API will not
  7066  // be included in the string output. The member name will be present, but the
  7067  // value will be replaced with "sensitive".
  7068  func (s Connection) String() string {
  7069  	return awsutil.Prettify(s)
  7070  }
  7071  
  7072  // GoString returns the string representation.
  7073  //
  7074  // API parameter values that are decorated as "sensitive" in the API will not
  7075  // be included in the string output. The member name will be present, but the
  7076  // value will be replaced with "sensitive".
  7077  func (s Connection) GoString() string {
  7078  	return s.String()
  7079  }
  7080  
  7081  // SetAwsDevice sets the AwsDevice field's value.
  7082  func (s *Connection) SetAwsDevice(v string) *Connection {
  7083  	s.AwsDevice = &v
  7084  	return s
  7085  }
  7086  
  7087  // SetAwsDeviceV2 sets the AwsDeviceV2 field's value.
  7088  func (s *Connection) SetAwsDeviceV2(v string) *Connection {
  7089  	s.AwsDeviceV2 = &v
  7090  	return s
  7091  }
  7092  
  7093  // SetAwsLogicalDeviceId sets the AwsLogicalDeviceId field's value.
  7094  func (s *Connection) SetAwsLogicalDeviceId(v string) *Connection {
  7095  	s.AwsLogicalDeviceId = &v
  7096  	return s
  7097  }
  7098  
  7099  // SetBandwidth sets the Bandwidth field's value.
  7100  func (s *Connection) SetBandwidth(v string) *Connection {
  7101  	s.Bandwidth = &v
  7102  	return s
  7103  }
  7104  
  7105  // SetConnectionId sets the ConnectionId field's value.
  7106  func (s *Connection) SetConnectionId(v string) *Connection {
  7107  	s.ConnectionId = &v
  7108  	return s
  7109  }
  7110  
  7111  // SetConnectionName sets the ConnectionName field's value.
  7112  func (s *Connection) SetConnectionName(v string) *Connection {
  7113  	s.ConnectionName = &v
  7114  	return s
  7115  }
  7116  
  7117  // SetConnectionState sets the ConnectionState field's value.
  7118  func (s *Connection) SetConnectionState(v string) *Connection {
  7119  	s.ConnectionState = &v
  7120  	return s
  7121  }
  7122  
  7123  // SetEncryptionMode sets the EncryptionMode field's value.
  7124  func (s *Connection) SetEncryptionMode(v string) *Connection {
  7125  	s.EncryptionMode = &v
  7126  	return s
  7127  }
  7128  
  7129  // SetHasLogicalRedundancy sets the HasLogicalRedundancy field's value.
  7130  func (s *Connection) SetHasLogicalRedundancy(v string) *Connection {
  7131  	s.HasLogicalRedundancy = &v
  7132  	return s
  7133  }
  7134  
  7135  // SetJumboFrameCapable sets the JumboFrameCapable field's value.
  7136  func (s *Connection) SetJumboFrameCapable(v bool) *Connection {
  7137  	s.JumboFrameCapable = &v
  7138  	return s
  7139  }
  7140  
  7141  // SetLagId sets the LagId field's value.
  7142  func (s *Connection) SetLagId(v string) *Connection {
  7143  	s.LagId = &v
  7144  	return s
  7145  }
  7146  
  7147  // SetLoaIssueTime sets the LoaIssueTime field's value.
  7148  func (s *Connection) SetLoaIssueTime(v time.Time) *Connection {
  7149  	s.LoaIssueTime = &v
  7150  	return s
  7151  }
  7152  
  7153  // SetLocation sets the Location field's value.
  7154  func (s *Connection) SetLocation(v string) *Connection {
  7155  	s.Location = &v
  7156  	return s
  7157  }
  7158  
  7159  // SetMacSecCapable sets the MacSecCapable field's value.
  7160  func (s *Connection) SetMacSecCapable(v bool) *Connection {
  7161  	s.MacSecCapable = &v
  7162  	return s
  7163  }
  7164  
  7165  // SetMacSecKeys sets the MacSecKeys field's value.
  7166  func (s *Connection) SetMacSecKeys(v []*MacSecKey) *Connection {
  7167  	s.MacSecKeys = v
  7168  	return s
  7169  }
  7170  
  7171  // SetOwnerAccount sets the OwnerAccount field's value.
  7172  func (s *Connection) SetOwnerAccount(v string) *Connection {
  7173  	s.OwnerAccount = &v
  7174  	return s
  7175  }
  7176  
  7177  // SetPartnerName sets the PartnerName field's value.
  7178  func (s *Connection) SetPartnerName(v string) *Connection {
  7179  	s.PartnerName = &v
  7180  	return s
  7181  }
  7182  
  7183  // SetPortEncryptionStatus sets the PortEncryptionStatus field's value.
  7184  func (s *Connection) SetPortEncryptionStatus(v string) *Connection {
  7185  	s.PortEncryptionStatus = &v
  7186  	return s
  7187  }
  7188  
  7189  // SetProviderName sets the ProviderName field's value.
  7190  func (s *Connection) SetProviderName(v string) *Connection {
  7191  	s.ProviderName = &v
  7192  	return s
  7193  }
  7194  
  7195  // SetRegion sets the Region field's value.
  7196  func (s *Connection) SetRegion(v string) *Connection {
  7197  	s.Region = &v
  7198  	return s
  7199  }
  7200  
  7201  // SetTags sets the Tags field's value.
  7202  func (s *Connection) SetTags(v []*Tag) *Connection {
  7203  	s.Tags = v
  7204  	return s
  7205  }
  7206  
  7207  // SetVlan sets the Vlan field's value.
  7208  func (s *Connection) SetVlan(v int64) *Connection {
  7209  	s.Vlan = &v
  7210  	return s
  7211  }
  7212  
  7213  type Connections struct {
  7214  	_ struct{} `type:"structure"`
  7215  
  7216  	// The connections.
  7217  	Connections []*Connection `locationName:"connections" type:"list"`
  7218  }
  7219  
  7220  // String returns the string representation.
  7221  //
  7222  // API parameter values that are decorated as "sensitive" in the API will not
  7223  // be included in the string output. The member name will be present, but the
  7224  // value will be replaced with "sensitive".
  7225  func (s Connections) String() string {
  7226  	return awsutil.Prettify(s)
  7227  }
  7228  
  7229  // GoString returns the string representation.
  7230  //
  7231  // API parameter values that are decorated as "sensitive" in the API will not
  7232  // be included in the string output. The member name will be present, but the
  7233  // value will be replaced with "sensitive".
  7234  func (s Connections) GoString() string {
  7235  	return s.String()
  7236  }
  7237  
  7238  // SetConnections sets the Connections field's value.
  7239  func (s *Connections) SetConnections(v []*Connection) *Connections {
  7240  	s.Connections = v
  7241  	return s
  7242  }
  7243  
  7244  type CreateBGPPeerInput struct {
  7245  	_ struct{} `type:"structure"`
  7246  
  7247  	// Information about the BGP peer.
  7248  	NewBGPPeer *NewBGPPeer `locationName:"newBGPPeer" type:"structure"`
  7249  
  7250  	// The ID of the virtual interface.
  7251  	VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"`
  7252  }
  7253  
  7254  // String returns the string representation.
  7255  //
  7256  // API parameter values that are decorated as "sensitive" in the API will not
  7257  // be included in the string output. The member name will be present, but the
  7258  // value will be replaced with "sensitive".
  7259  func (s CreateBGPPeerInput) String() string {
  7260  	return awsutil.Prettify(s)
  7261  }
  7262  
  7263  // GoString returns the string representation.
  7264  //
  7265  // API parameter values that are decorated as "sensitive" in the API will not
  7266  // be included in the string output. The member name will be present, but the
  7267  // value will be replaced with "sensitive".
  7268  func (s CreateBGPPeerInput) GoString() string {
  7269  	return s.String()
  7270  }
  7271  
  7272  // SetNewBGPPeer sets the NewBGPPeer field's value.
  7273  func (s *CreateBGPPeerInput) SetNewBGPPeer(v *NewBGPPeer) *CreateBGPPeerInput {
  7274  	s.NewBGPPeer = v
  7275  	return s
  7276  }
  7277  
  7278  // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  7279  func (s *CreateBGPPeerInput) SetVirtualInterfaceId(v string) *CreateBGPPeerInput {
  7280  	s.VirtualInterfaceId = &v
  7281  	return s
  7282  }
  7283  
  7284  type CreateBGPPeerOutput struct {
  7285  	_ struct{} `type:"structure"`
  7286  
  7287  	// The virtual interface.
  7288  	VirtualInterface *VirtualInterface `locationName:"virtualInterface" type:"structure"`
  7289  }
  7290  
  7291  // String returns the string representation.
  7292  //
  7293  // API parameter values that are decorated as "sensitive" in the API will not
  7294  // be included in the string output. The member name will be present, but the
  7295  // value will be replaced with "sensitive".
  7296  func (s CreateBGPPeerOutput) String() string {
  7297  	return awsutil.Prettify(s)
  7298  }
  7299  
  7300  // GoString returns the string representation.
  7301  //
  7302  // API parameter values that are decorated as "sensitive" in the API will not
  7303  // be included in the string output. The member name will be present, but the
  7304  // value will be replaced with "sensitive".
  7305  func (s CreateBGPPeerOutput) GoString() string {
  7306  	return s.String()
  7307  }
  7308  
  7309  // SetVirtualInterface sets the VirtualInterface field's value.
  7310  func (s *CreateBGPPeerOutput) SetVirtualInterface(v *VirtualInterface) *CreateBGPPeerOutput {
  7311  	s.VirtualInterface = v
  7312  	return s
  7313  }
  7314  
  7315  type CreateConnectionInput struct {
  7316  	_ struct{} `type:"structure"`
  7317  
  7318  	// The bandwidth of the connection.
  7319  	//
  7320  	// Bandwidth is a required field
  7321  	Bandwidth *string `locationName:"bandwidth" type:"string" required:"true"`
  7322  
  7323  	// The name of the connection.
  7324  	//
  7325  	// ConnectionName is a required field
  7326  	ConnectionName *string `locationName:"connectionName" type:"string" required:"true"`
  7327  
  7328  	// The ID of the LAG.
  7329  	LagId *string `locationName:"lagId" type:"string"`
  7330  
  7331  	// The location of the connection.
  7332  	//
  7333  	// Location is a required field
  7334  	Location *string `locationName:"location" type:"string" required:"true"`
  7335  
  7336  	// The name of the service provider associated with the requested connection.
  7337  	ProviderName *string `locationName:"providerName" type:"string"`
  7338  
  7339  	// Indicates whether you want the connection to support MAC Security (MACsec).
  7340  	//
  7341  	// MAC Security (MACsec) is only available on dedicated connections. For information
  7342  	// about MAC Security (MACsec) prerequisties, see MACsec prerequisties (https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites)
  7343  	// in the Direct Connect User Guide.
  7344  	RequestMACSec *bool `locationName:"requestMACSec" type:"boolean"`
  7345  
  7346  	// The tags to associate with the lag.
  7347  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
  7348  }
  7349  
  7350  // String returns the string representation.
  7351  //
  7352  // API parameter values that are decorated as "sensitive" in the API will not
  7353  // be included in the string output. The member name will be present, but the
  7354  // value will be replaced with "sensitive".
  7355  func (s CreateConnectionInput) String() string {
  7356  	return awsutil.Prettify(s)
  7357  }
  7358  
  7359  // GoString returns the string representation.
  7360  //
  7361  // API parameter values that are decorated as "sensitive" in the API will not
  7362  // be included in the string output. The member name will be present, but the
  7363  // value will be replaced with "sensitive".
  7364  func (s CreateConnectionInput) GoString() string {
  7365  	return s.String()
  7366  }
  7367  
  7368  // Validate inspects the fields of the type to determine if they are valid.
  7369  func (s *CreateConnectionInput) Validate() error {
  7370  	invalidParams := request.ErrInvalidParams{Context: "CreateConnectionInput"}
  7371  	if s.Bandwidth == nil {
  7372  		invalidParams.Add(request.NewErrParamRequired("Bandwidth"))
  7373  	}
  7374  	if s.ConnectionName == nil {
  7375  		invalidParams.Add(request.NewErrParamRequired("ConnectionName"))
  7376  	}
  7377  	if s.Location == nil {
  7378  		invalidParams.Add(request.NewErrParamRequired("Location"))
  7379  	}
  7380  	if s.Tags != nil && len(s.Tags) < 1 {
  7381  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  7382  	}
  7383  	if s.Tags != nil {
  7384  		for i, v := range s.Tags {
  7385  			if v == nil {
  7386  				continue
  7387  			}
  7388  			if err := v.Validate(); err != nil {
  7389  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  7390  			}
  7391  		}
  7392  	}
  7393  
  7394  	if invalidParams.Len() > 0 {
  7395  		return invalidParams
  7396  	}
  7397  	return nil
  7398  }
  7399  
  7400  // SetBandwidth sets the Bandwidth field's value.
  7401  func (s *CreateConnectionInput) SetBandwidth(v string) *CreateConnectionInput {
  7402  	s.Bandwidth = &v
  7403  	return s
  7404  }
  7405  
  7406  // SetConnectionName sets the ConnectionName field's value.
  7407  func (s *CreateConnectionInput) SetConnectionName(v string) *CreateConnectionInput {
  7408  	s.ConnectionName = &v
  7409  	return s
  7410  }
  7411  
  7412  // SetLagId sets the LagId field's value.
  7413  func (s *CreateConnectionInput) SetLagId(v string) *CreateConnectionInput {
  7414  	s.LagId = &v
  7415  	return s
  7416  }
  7417  
  7418  // SetLocation sets the Location field's value.
  7419  func (s *CreateConnectionInput) SetLocation(v string) *CreateConnectionInput {
  7420  	s.Location = &v
  7421  	return s
  7422  }
  7423  
  7424  // SetProviderName sets the ProviderName field's value.
  7425  func (s *CreateConnectionInput) SetProviderName(v string) *CreateConnectionInput {
  7426  	s.ProviderName = &v
  7427  	return s
  7428  }
  7429  
  7430  // SetRequestMACSec sets the RequestMACSec field's value.
  7431  func (s *CreateConnectionInput) SetRequestMACSec(v bool) *CreateConnectionInput {
  7432  	s.RequestMACSec = &v
  7433  	return s
  7434  }
  7435  
  7436  // SetTags sets the Tags field's value.
  7437  func (s *CreateConnectionInput) SetTags(v []*Tag) *CreateConnectionInput {
  7438  	s.Tags = v
  7439  	return s
  7440  }
  7441  
  7442  type CreateDirectConnectGatewayAssociationInput struct {
  7443  	_ struct{} `type:"structure"`
  7444  
  7445  	// The Amazon VPC prefixes to advertise to the Direct Connect gateway
  7446  	//
  7447  	// This parameter is required when you create an association to a transit gateway.
  7448  	//
  7449  	// For information about how to set the prefixes, see Allowed Prefixes (https://docs.aws.amazon.com/directconnect/latest/UserGuide/multi-account-associate-vgw.html#allowed-prefixes)
  7450  	// in the Direct Connect User Guide.
  7451  	AddAllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"addAllowedPrefixesToDirectConnectGateway" type:"list"`
  7452  
  7453  	// The ID of the Direct Connect gateway.
  7454  	//
  7455  	// DirectConnectGatewayId is a required field
  7456  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string" required:"true"`
  7457  
  7458  	// The ID of the virtual private gateway or transit gateway.
  7459  	GatewayId *string `locationName:"gatewayId" type:"string"`
  7460  
  7461  	// The ID of the virtual private gateway.
  7462  	VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"`
  7463  }
  7464  
  7465  // String returns the string representation.
  7466  //
  7467  // API parameter values that are decorated as "sensitive" in the API will not
  7468  // be included in the string output. The member name will be present, but the
  7469  // value will be replaced with "sensitive".
  7470  func (s CreateDirectConnectGatewayAssociationInput) String() string {
  7471  	return awsutil.Prettify(s)
  7472  }
  7473  
  7474  // GoString returns the string representation.
  7475  //
  7476  // API parameter values that are decorated as "sensitive" in the API will not
  7477  // be included in the string output. The member name will be present, but the
  7478  // value will be replaced with "sensitive".
  7479  func (s CreateDirectConnectGatewayAssociationInput) GoString() string {
  7480  	return s.String()
  7481  }
  7482  
  7483  // Validate inspects the fields of the type to determine if they are valid.
  7484  func (s *CreateDirectConnectGatewayAssociationInput) Validate() error {
  7485  	invalidParams := request.ErrInvalidParams{Context: "CreateDirectConnectGatewayAssociationInput"}
  7486  	if s.DirectConnectGatewayId == nil {
  7487  		invalidParams.Add(request.NewErrParamRequired("DirectConnectGatewayId"))
  7488  	}
  7489  
  7490  	if invalidParams.Len() > 0 {
  7491  		return invalidParams
  7492  	}
  7493  	return nil
  7494  }
  7495  
  7496  // SetAddAllowedPrefixesToDirectConnectGateway sets the AddAllowedPrefixesToDirectConnectGateway field's value.
  7497  func (s *CreateDirectConnectGatewayAssociationInput) SetAddAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *CreateDirectConnectGatewayAssociationInput {
  7498  	s.AddAllowedPrefixesToDirectConnectGateway = v
  7499  	return s
  7500  }
  7501  
  7502  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  7503  func (s *CreateDirectConnectGatewayAssociationInput) SetDirectConnectGatewayId(v string) *CreateDirectConnectGatewayAssociationInput {
  7504  	s.DirectConnectGatewayId = &v
  7505  	return s
  7506  }
  7507  
  7508  // SetGatewayId sets the GatewayId field's value.
  7509  func (s *CreateDirectConnectGatewayAssociationInput) SetGatewayId(v string) *CreateDirectConnectGatewayAssociationInput {
  7510  	s.GatewayId = &v
  7511  	return s
  7512  }
  7513  
  7514  // SetVirtualGatewayId sets the VirtualGatewayId field's value.
  7515  func (s *CreateDirectConnectGatewayAssociationInput) SetVirtualGatewayId(v string) *CreateDirectConnectGatewayAssociationInput {
  7516  	s.VirtualGatewayId = &v
  7517  	return s
  7518  }
  7519  
  7520  type CreateDirectConnectGatewayAssociationOutput struct {
  7521  	_ struct{} `type:"structure"`
  7522  
  7523  	// The association to be created.
  7524  	DirectConnectGatewayAssociation *GatewayAssociation `locationName:"directConnectGatewayAssociation" type:"structure"`
  7525  }
  7526  
  7527  // String returns the string representation.
  7528  //
  7529  // API parameter values that are decorated as "sensitive" in the API will not
  7530  // be included in the string output. The member name will be present, but the
  7531  // value will be replaced with "sensitive".
  7532  func (s CreateDirectConnectGatewayAssociationOutput) String() string {
  7533  	return awsutil.Prettify(s)
  7534  }
  7535  
  7536  // GoString returns the string representation.
  7537  //
  7538  // API parameter values that are decorated as "sensitive" in the API will not
  7539  // be included in the string output. The member name will be present, but the
  7540  // value will be replaced with "sensitive".
  7541  func (s CreateDirectConnectGatewayAssociationOutput) GoString() string {
  7542  	return s.String()
  7543  }
  7544  
  7545  // SetDirectConnectGatewayAssociation sets the DirectConnectGatewayAssociation field's value.
  7546  func (s *CreateDirectConnectGatewayAssociationOutput) SetDirectConnectGatewayAssociation(v *GatewayAssociation) *CreateDirectConnectGatewayAssociationOutput {
  7547  	s.DirectConnectGatewayAssociation = v
  7548  	return s
  7549  }
  7550  
  7551  type CreateDirectConnectGatewayAssociationProposalInput struct {
  7552  	_ struct{} `type:"structure"`
  7553  
  7554  	// The Amazon VPC prefixes to advertise to the Direct Connect gateway.
  7555  	AddAllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"addAllowedPrefixesToDirectConnectGateway" type:"list"`
  7556  
  7557  	// The ID of the Direct Connect gateway.
  7558  	//
  7559  	// DirectConnectGatewayId is a required field
  7560  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string" required:"true"`
  7561  
  7562  	// The ID of the account that owns the Direct Connect gateway.
  7563  	//
  7564  	// DirectConnectGatewayOwnerAccount is a required field
  7565  	DirectConnectGatewayOwnerAccount *string `locationName:"directConnectGatewayOwnerAccount" type:"string" required:"true"`
  7566  
  7567  	// The ID of the virtual private gateway or transit gateway.
  7568  	//
  7569  	// GatewayId is a required field
  7570  	GatewayId *string `locationName:"gatewayId" type:"string" required:"true"`
  7571  
  7572  	// The Amazon VPC prefixes to no longer advertise to the Direct Connect gateway.
  7573  	RemoveAllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"removeAllowedPrefixesToDirectConnectGateway" type:"list"`
  7574  }
  7575  
  7576  // String returns the string representation.
  7577  //
  7578  // API parameter values that are decorated as "sensitive" in the API will not
  7579  // be included in the string output. The member name will be present, but the
  7580  // value will be replaced with "sensitive".
  7581  func (s CreateDirectConnectGatewayAssociationProposalInput) String() string {
  7582  	return awsutil.Prettify(s)
  7583  }
  7584  
  7585  // GoString returns the string representation.
  7586  //
  7587  // API parameter values that are decorated as "sensitive" in the API will not
  7588  // be included in the string output. The member name will be present, but the
  7589  // value will be replaced with "sensitive".
  7590  func (s CreateDirectConnectGatewayAssociationProposalInput) GoString() string {
  7591  	return s.String()
  7592  }
  7593  
  7594  // Validate inspects the fields of the type to determine if they are valid.
  7595  func (s *CreateDirectConnectGatewayAssociationProposalInput) Validate() error {
  7596  	invalidParams := request.ErrInvalidParams{Context: "CreateDirectConnectGatewayAssociationProposalInput"}
  7597  	if s.DirectConnectGatewayId == nil {
  7598  		invalidParams.Add(request.NewErrParamRequired("DirectConnectGatewayId"))
  7599  	}
  7600  	if s.DirectConnectGatewayOwnerAccount == nil {
  7601  		invalidParams.Add(request.NewErrParamRequired("DirectConnectGatewayOwnerAccount"))
  7602  	}
  7603  	if s.GatewayId == nil {
  7604  		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  7605  	}
  7606  
  7607  	if invalidParams.Len() > 0 {
  7608  		return invalidParams
  7609  	}
  7610  	return nil
  7611  }
  7612  
  7613  // SetAddAllowedPrefixesToDirectConnectGateway sets the AddAllowedPrefixesToDirectConnectGateway field's value.
  7614  func (s *CreateDirectConnectGatewayAssociationProposalInput) SetAddAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *CreateDirectConnectGatewayAssociationProposalInput {
  7615  	s.AddAllowedPrefixesToDirectConnectGateway = v
  7616  	return s
  7617  }
  7618  
  7619  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  7620  func (s *CreateDirectConnectGatewayAssociationProposalInput) SetDirectConnectGatewayId(v string) *CreateDirectConnectGatewayAssociationProposalInput {
  7621  	s.DirectConnectGatewayId = &v
  7622  	return s
  7623  }
  7624  
  7625  // SetDirectConnectGatewayOwnerAccount sets the DirectConnectGatewayOwnerAccount field's value.
  7626  func (s *CreateDirectConnectGatewayAssociationProposalInput) SetDirectConnectGatewayOwnerAccount(v string) *CreateDirectConnectGatewayAssociationProposalInput {
  7627  	s.DirectConnectGatewayOwnerAccount = &v
  7628  	return s
  7629  }
  7630  
  7631  // SetGatewayId sets the GatewayId field's value.
  7632  func (s *CreateDirectConnectGatewayAssociationProposalInput) SetGatewayId(v string) *CreateDirectConnectGatewayAssociationProposalInput {
  7633  	s.GatewayId = &v
  7634  	return s
  7635  }
  7636  
  7637  // SetRemoveAllowedPrefixesToDirectConnectGateway sets the RemoveAllowedPrefixesToDirectConnectGateway field's value.
  7638  func (s *CreateDirectConnectGatewayAssociationProposalInput) SetRemoveAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *CreateDirectConnectGatewayAssociationProposalInput {
  7639  	s.RemoveAllowedPrefixesToDirectConnectGateway = v
  7640  	return s
  7641  }
  7642  
  7643  type CreateDirectConnectGatewayAssociationProposalOutput struct {
  7644  	_ struct{} `type:"structure"`
  7645  
  7646  	// Information about the Direct Connect gateway proposal.
  7647  	DirectConnectGatewayAssociationProposal *GatewayAssociationProposal `locationName:"directConnectGatewayAssociationProposal" type:"structure"`
  7648  }
  7649  
  7650  // String returns the string representation.
  7651  //
  7652  // API parameter values that are decorated as "sensitive" in the API will not
  7653  // be included in the string output. The member name will be present, but the
  7654  // value will be replaced with "sensitive".
  7655  func (s CreateDirectConnectGatewayAssociationProposalOutput) String() string {
  7656  	return awsutil.Prettify(s)
  7657  }
  7658  
  7659  // GoString returns the string representation.
  7660  //
  7661  // API parameter values that are decorated as "sensitive" in the API will not
  7662  // be included in the string output. The member name will be present, but the
  7663  // value will be replaced with "sensitive".
  7664  func (s CreateDirectConnectGatewayAssociationProposalOutput) GoString() string {
  7665  	return s.String()
  7666  }
  7667  
  7668  // SetDirectConnectGatewayAssociationProposal sets the DirectConnectGatewayAssociationProposal field's value.
  7669  func (s *CreateDirectConnectGatewayAssociationProposalOutput) SetDirectConnectGatewayAssociationProposal(v *GatewayAssociationProposal) *CreateDirectConnectGatewayAssociationProposalOutput {
  7670  	s.DirectConnectGatewayAssociationProposal = v
  7671  	return s
  7672  }
  7673  
  7674  type CreateDirectConnectGatewayInput struct {
  7675  	_ struct{} `type:"structure"`
  7676  
  7677  	// The autonomous system number (ASN) for Border Gateway Protocol (BGP) to be
  7678  	// configured on the Amazon side of the connection. The ASN must be in the private
  7679  	// range of 64,512 to 65,534 or 4,200,000,000 to 4,294,967,294. The default
  7680  	// is 64512.
  7681  	AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
  7682  
  7683  	// The name of the Direct Connect gateway.
  7684  	//
  7685  	// DirectConnectGatewayName is a required field
  7686  	DirectConnectGatewayName *string `locationName:"directConnectGatewayName" type:"string" required:"true"`
  7687  }
  7688  
  7689  // String returns the string representation.
  7690  //
  7691  // API parameter values that are decorated as "sensitive" in the API will not
  7692  // be included in the string output. The member name will be present, but the
  7693  // value will be replaced with "sensitive".
  7694  func (s CreateDirectConnectGatewayInput) String() string {
  7695  	return awsutil.Prettify(s)
  7696  }
  7697  
  7698  // GoString returns the string representation.
  7699  //
  7700  // API parameter values that are decorated as "sensitive" in the API will not
  7701  // be included in the string output. The member name will be present, but the
  7702  // value will be replaced with "sensitive".
  7703  func (s CreateDirectConnectGatewayInput) GoString() string {
  7704  	return s.String()
  7705  }
  7706  
  7707  // Validate inspects the fields of the type to determine if they are valid.
  7708  func (s *CreateDirectConnectGatewayInput) Validate() error {
  7709  	invalidParams := request.ErrInvalidParams{Context: "CreateDirectConnectGatewayInput"}
  7710  	if s.DirectConnectGatewayName == nil {
  7711  		invalidParams.Add(request.NewErrParamRequired("DirectConnectGatewayName"))
  7712  	}
  7713  
  7714  	if invalidParams.Len() > 0 {
  7715  		return invalidParams
  7716  	}
  7717  	return nil
  7718  }
  7719  
  7720  // SetAmazonSideAsn sets the AmazonSideAsn field's value.
  7721  func (s *CreateDirectConnectGatewayInput) SetAmazonSideAsn(v int64) *CreateDirectConnectGatewayInput {
  7722  	s.AmazonSideAsn = &v
  7723  	return s
  7724  }
  7725  
  7726  // SetDirectConnectGatewayName sets the DirectConnectGatewayName field's value.
  7727  func (s *CreateDirectConnectGatewayInput) SetDirectConnectGatewayName(v string) *CreateDirectConnectGatewayInput {
  7728  	s.DirectConnectGatewayName = &v
  7729  	return s
  7730  }
  7731  
  7732  type CreateDirectConnectGatewayOutput struct {
  7733  	_ struct{} `type:"structure"`
  7734  
  7735  	// The Direct Connect gateway.
  7736  	DirectConnectGateway *Gateway `locationName:"directConnectGateway" type:"structure"`
  7737  }
  7738  
  7739  // String returns the string representation.
  7740  //
  7741  // API parameter values that are decorated as "sensitive" in the API will not
  7742  // be included in the string output. The member name will be present, but the
  7743  // value will be replaced with "sensitive".
  7744  func (s CreateDirectConnectGatewayOutput) String() string {
  7745  	return awsutil.Prettify(s)
  7746  }
  7747  
  7748  // GoString returns the string representation.
  7749  //
  7750  // API parameter values that are decorated as "sensitive" in the API will not
  7751  // be included in the string output. The member name will be present, but the
  7752  // value will be replaced with "sensitive".
  7753  func (s CreateDirectConnectGatewayOutput) GoString() string {
  7754  	return s.String()
  7755  }
  7756  
  7757  // SetDirectConnectGateway sets the DirectConnectGateway field's value.
  7758  func (s *CreateDirectConnectGatewayOutput) SetDirectConnectGateway(v *Gateway) *CreateDirectConnectGatewayOutput {
  7759  	s.DirectConnectGateway = v
  7760  	return s
  7761  }
  7762  
  7763  type CreateInterconnectInput struct {
  7764  	_ struct{} `type:"structure"`
  7765  
  7766  	// The port bandwidth, in Gbps. The possible values are 1 and 10.
  7767  	//
  7768  	// Bandwidth is a required field
  7769  	Bandwidth *string `locationName:"bandwidth" type:"string" required:"true"`
  7770  
  7771  	// The name of the interconnect.
  7772  	//
  7773  	// InterconnectName is a required field
  7774  	InterconnectName *string `locationName:"interconnectName" type:"string" required:"true"`
  7775  
  7776  	// The ID of the LAG.
  7777  	LagId *string `locationName:"lagId" type:"string"`
  7778  
  7779  	// The location of the interconnect.
  7780  	//
  7781  	// Location is a required field
  7782  	Location *string `locationName:"location" type:"string" required:"true"`
  7783  
  7784  	// The name of the service provider associated with the interconnect.
  7785  	ProviderName *string `locationName:"providerName" type:"string"`
  7786  
  7787  	// The tags to associate with the interconnect.
  7788  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
  7789  }
  7790  
  7791  // String returns the string representation.
  7792  //
  7793  // API parameter values that are decorated as "sensitive" in the API will not
  7794  // be included in the string output. The member name will be present, but the
  7795  // value will be replaced with "sensitive".
  7796  func (s CreateInterconnectInput) String() string {
  7797  	return awsutil.Prettify(s)
  7798  }
  7799  
  7800  // GoString returns the string representation.
  7801  //
  7802  // API parameter values that are decorated as "sensitive" in the API will not
  7803  // be included in the string output. The member name will be present, but the
  7804  // value will be replaced with "sensitive".
  7805  func (s CreateInterconnectInput) GoString() string {
  7806  	return s.String()
  7807  }
  7808  
  7809  // Validate inspects the fields of the type to determine if they are valid.
  7810  func (s *CreateInterconnectInput) Validate() error {
  7811  	invalidParams := request.ErrInvalidParams{Context: "CreateInterconnectInput"}
  7812  	if s.Bandwidth == nil {
  7813  		invalidParams.Add(request.NewErrParamRequired("Bandwidth"))
  7814  	}
  7815  	if s.InterconnectName == nil {
  7816  		invalidParams.Add(request.NewErrParamRequired("InterconnectName"))
  7817  	}
  7818  	if s.Location == nil {
  7819  		invalidParams.Add(request.NewErrParamRequired("Location"))
  7820  	}
  7821  	if s.Tags != nil && len(s.Tags) < 1 {
  7822  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  7823  	}
  7824  	if s.Tags != nil {
  7825  		for i, v := range s.Tags {
  7826  			if v == nil {
  7827  				continue
  7828  			}
  7829  			if err := v.Validate(); err != nil {
  7830  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  7831  			}
  7832  		}
  7833  	}
  7834  
  7835  	if invalidParams.Len() > 0 {
  7836  		return invalidParams
  7837  	}
  7838  	return nil
  7839  }
  7840  
  7841  // SetBandwidth sets the Bandwidth field's value.
  7842  func (s *CreateInterconnectInput) SetBandwidth(v string) *CreateInterconnectInput {
  7843  	s.Bandwidth = &v
  7844  	return s
  7845  }
  7846  
  7847  // SetInterconnectName sets the InterconnectName field's value.
  7848  func (s *CreateInterconnectInput) SetInterconnectName(v string) *CreateInterconnectInput {
  7849  	s.InterconnectName = &v
  7850  	return s
  7851  }
  7852  
  7853  // SetLagId sets the LagId field's value.
  7854  func (s *CreateInterconnectInput) SetLagId(v string) *CreateInterconnectInput {
  7855  	s.LagId = &v
  7856  	return s
  7857  }
  7858  
  7859  // SetLocation sets the Location field's value.
  7860  func (s *CreateInterconnectInput) SetLocation(v string) *CreateInterconnectInput {
  7861  	s.Location = &v
  7862  	return s
  7863  }
  7864  
  7865  // SetProviderName sets the ProviderName field's value.
  7866  func (s *CreateInterconnectInput) SetProviderName(v string) *CreateInterconnectInput {
  7867  	s.ProviderName = &v
  7868  	return s
  7869  }
  7870  
  7871  // SetTags sets the Tags field's value.
  7872  func (s *CreateInterconnectInput) SetTags(v []*Tag) *CreateInterconnectInput {
  7873  	s.Tags = v
  7874  	return s
  7875  }
  7876  
  7877  type CreateLagInput struct {
  7878  	_ struct{} `type:"structure"`
  7879  
  7880  	// The tags to associate with the automtically created LAGs.
  7881  	ChildConnectionTags []*Tag `locationName:"childConnectionTags" min:"1" type:"list"`
  7882  
  7883  	// The ID of an existing dedicated connection to migrate to the LAG.
  7884  	ConnectionId *string `locationName:"connectionId" type:"string"`
  7885  
  7886  	// The bandwidth of the individual physical dedicated connections bundled by
  7887  	// the LAG. The possible values are 1Gbps and 10Gbps.
  7888  	//
  7889  	// ConnectionsBandwidth is a required field
  7890  	ConnectionsBandwidth *string `locationName:"connectionsBandwidth" type:"string" required:"true"`
  7891  
  7892  	// The name of the LAG.
  7893  	//
  7894  	// LagName is a required field
  7895  	LagName *string `locationName:"lagName" type:"string" required:"true"`
  7896  
  7897  	// The location for the LAG.
  7898  	//
  7899  	// Location is a required field
  7900  	Location *string `locationName:"location" type:"string" required:"true"`
  7901  
  7902  	// The number of physical dedicated connections initially provisioned and bundled
  7903  	// by the LAG.
  7904  	//
  7905  	// NumberOfConnections is a required field
  7906  	NumberOfConnections *int64 `locationName:"numberOfConnections" type:"integer" required:"true"`
  7907  
  7908  	// The name of the service provider associated with the LAG.
  7909  	ProviderName *string `locationName:"providerName" type:"string"`
  7910  
  7911  	// Indicates whether the connection will support MAC Security (MACsec).
  7912  	//
  7913  	// All connections in the LAG must be capable of supporting MAC Security (MACsec).
  7914  	// For information about MAC Security (MACsec) prerequisties, see MACsec prerequisties
  7915  	// (https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites)
  7916  	// in the Direct Connect User Guide.
  7917  	RequestMACSec *bool `locationName:"requestMACSec" type:"boolean"`
  7918  
  7919  	// The tags to associate with the LAG.
  7920  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
  7921  }
  7922  
  7923  // String returns the string representation.
  7924  //
  7925  // API parameter values that are decorated as "sensitive" in the API will not
  7926  // be included in the string output. The member name will be present, but the
  7927  // value will be replaced with "sensitive".
  7928  func (s CreateLagInput) String() string {
  7929  	return awsutil.Prettify(s)
  7930  }
  7931  
  7932  // GoString returns the string representation.
  7933  //
  7934  // API parameter values that are decorated as "sensitive" in the API will not
  7935  // be included in the string output. The member name will be present, but the
  7936  // value will be replaced with "sensitive".
  7937  func (s CreateLagInput) GoString() string {
  7938  	return s.String()
  7939  }
  7940  
  7941  // Validate inspects the fields of the type to determine if they are valid.
  7942  func (s *CreateLagInput) Validate() error {
  7943  	invalidParams := request.ErrInvalidParams{Context: "CreateLagInput"}
  7944  	if s.ChildConnectionTags != nil && len(s.ChildConnectionTags) < 1 {
  7945  		invalidParams.Add(request.NewErrParamMinLen("ChildConnectionTags", 1))
  7946  	}
  7947  	if s.ConnectionsBandwidth == nil {
  7948  		invalidParams.Add(request.NewErrParamRequired("ConnectionsBandwidth"))
  7949  	}
  7950  	if s.LagName == nil {
  7951  		invalidParams.Add(request.NewErrParamRequired("LagName"))
  7952  	}
  7953  	if s.Location == nil {
  7954  		invalidParams.Add(request.NewErrParamRequired("Location"))
  7955  	}
  7956  	if s.NumberOfConnections == nil {
  7957  		invalidParams.Add(request.NewErrParamRequired("NumberOfConnections"))
  7958  	}
  7959  	if s.Tags != nil && len(s.Tags) < 1 {
  7960  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  7961  	}
  7962  	if s.ChildConnectionTags != nil {
  7963  		for i, v := range s.ChildConnectionTags {
  7964  			if v == nil {
  7965  				continue
  7966  			}
  7967  			if err := v.Validate(); err != nil {
  7968  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ChildConnectionTags", i), err.(request.ErrInvalidParams))
  7969  			}
  7970  		}
  7971  	}
  7972  	if s.Tags != nil {
  7973  		for i, v := range s.Tags {
  7974  			if v == nil {
  7975  				continue
  7976  			}
  7977  			if err := v.Validate(); err != nil {
  7978  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  7979  			}
  7980  		}
  7981  	}
  7982  
  7983  	if invalidParams.Len() > 0 {
  7984  		return invalidParams
  7985  	}
  7986  	return nil
  7987  }
  7988  
  7989  // SetChildConnectionTags sets the ChildConnectionTags field's value.
  7990  func (s *CreateLagInput) SetChildConnectionTags(v []*Tag) *CreateLagInput {
  7991  	s.ChildConnectionTags = v
  7992  	return s
  7993  }
  7994  
  7995  // SetConnectionId sets the ConnectionId field's value.
  7996  func (s *CreateLagInput) SetConnectionId(v string) *CreateLagInput {
  7997  	s.ConnectionId = &v
  7998  	return s
  7999  }
  8000  
  8001  // SetConnectionsBandwidth sets the ConnectionsBandwidth field's value.
  8002  func (s *CreateLagInput) SetConnectionsBandwidth(v string) *CreateLagInput {
  8003  	s.ConnectionsBandwidth = &v
  8004  	return s
  8005  }
  8006  
  8007  // SetLagName sets the LagName field's value.
  8008  func (s *CreateLagInput) SetLagName(v string) *CreateLagInput {
  8009  	s.LagName = &v
  8010  	return s
  8011  }
  8012  
  8013  // SetLocation sets the Location field's value.
  8014  func (s *CreateLagInput) SetLocation(v string) *CreateLagInput {
  8015  	s.Location = &v
  8016  	return s
  8017  }
  8018  
  8019  // SetNumberOfConnections sets the NumberOfConnections field's value.
  8020  func (s *CreateLagInput) SetNumberOfConnections(v int64) *CreateLagInput {
  8021  	s.NumberOfConnections = &v
  8022  	return s
  8023  }
  8024  
  8025  // SetProviderName sets the ProviderName field's value.
  8026  func (s *CreateLagInput) SetProviderName(v string) *CreateLagInput {
  8027  	s.ProviderName = &v
  8028  	return s
  8029  }
  8030  
  8031  // SetRequestMACSec sets the RequestMACSec field's value.
  8032  func (s *CreateLagInput) SetRequestMACSec(v bool) *CreateLagInput {
  8033  	s.RequestMACSec = &v
  8034  	return s
  8035  }
  8036  
  8037  // SetTags sets the Tags field's value.
  8038  func (s *CreateLagInput) SetTags(v []*Tag) *CreateLagInput {
  8039  	s.Tags = v
  8040  	return s
  8041  }
  8042  
  8043  type CreatePrivateVirtualInterfaceInput struct {
  8044  	_ struct{} `type:"structure"`
  8045  
  8046  	// The ID of the connection.
  8047  	//
  8048  	// ConnectionId is a required field
  8049  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  8050  
  8051  	// Information about the private virtual interface.
  8052  	//
  8053  	// NewPrivateVirtualInterface is a required field
  8054  	NewPrivateVirtualInterface *NewPrivateVirtualInterface `locationName:"newPrivateVirtualInterface" type:"structure" required:"true"`
  8055  }
  8056  
  8057  // String returns the string representation.
  8058  //
  8059  // API parameter values that are decorated as "sensitive" in the API will not
  8060  // be included in the string output. The member name will be present, but the
  8061  // value will be replaced with "sensitive".
  8062  func (s CreatePrivateVirtualInterfaceInput) String() string {
  8063  	return awsutil.Prettify(s)
  8064  }
  8065  
  8066  // GoString returns the string representation.
  8067  //
  8068  // API parameter values that are decorated as "sensitive" in the API will not
  8069  // be included in the string output. The member name will be present, but the
  8070  // value will be replaced with "sensitive".
  8071  func (s CreatePrivateVirtualInterfaceInput) GoString() string {
  8072  	return s.String()
  8073  }
  8074  
  8075  // Validate inspects the fields of the type to determine if they are valid.
  8076  func (s *CreatePrivateVirtualInterfaceInput) Validate() error {
  8077  	invalidParams := request.ErrInvalidParams{Context: "CreatePrivateVirtualInterfaceInput"}
  8078  	if s.ConnectionId == nil {
  8079  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  8080  	}
  8081  	if s.NewPrivateVirtualInterface == nil {
  8082  		invalidParams.Add(request.NewErrParamRequired("NewPrivateVirtualInterface"))
  8083  	}
  8084  	if s.NewPrivateVirtualInterface != nil {
  8085  		if err := s.NewPrivateVirtualInterface.Validate(); err != nil {
  8086  			invalidParams.AddNested("NewPrivateVirtualInterface", err.(request.ErrInvalidParams))
  8087  		}
  8088  	}
  8089  
  8090  	if invalidParams.Len() > 0 {
  8091  		return invalidParams
  8092  	}
  8093  	return nil
  8094  }
  8095  
  8096  // SetConnectionId sets the ConnectionId field's value.
  8097  func (s *CreatePrivateVirtualInterfaceInput) SetConnectionId(v string) *CreatePrivateVirtualInterfaceInput {
  8098  	s.ConnectionId = &v
  8099  	return s
  8100  }
  8101  
  8102  // SetNewPrivateVirtualInterface sets the NewPrivateVirtualInterface field's value.
  8103  func (s *CreatePrivateVirtualInterfaceInput) SetNewPrivateVirtualInterface(v *NewPrivateVirtualInterface) *CreatePrivateVirtualInterfaceInput {
  8104  	s.NewPrivateVirtualInterface = v
  8105  	return s
  8106  }
  8107  
  8108  type CreatePublicVirtualInterfaceInput struct {
  8109  	_ struct{} `type:"structure"`
  8110  
  8111  	// The ID of the connection.
  8112  	//
  8113  	// ConnectionId is a required field
  8114  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  8115  
  8116  	// Information about the public virtual interface.
  8117  	//
  8118  	// NewPublicVirtualInterface is a required field
  8119  	NewPublicVirtualInterface *NewPublicVirtualInterface `locationName:"newPublicVirtualInterface" type:"structure" required:"true"`
  8120  }
  8121  
  8122  // String returns the string representation.
  8123  //
  8124  // API parameter values that are decorated as "sensitive" in the API will not
  8125  // be included in the string output. The member name will be present, but the
  8126  // value will be replaced with "sensitive".
  8127  func (s CreatePublicVirtualInterfaceInput) String() string {
  8128  	return awsutil.Prettify(s)
  8129  }
  8130  
  8131  // GoString returns the string representation.
  8132  //
  8133  // API parameter values that are decorated as "sensitive" in the API will not
  8134  // be included in the string output. The member name will be present, but the
  8135  // value will be replaced with "sensitive".
  8136  func (s CreatePublicVirtualInterfaceInput) GoString() string {
  8137  	return s.String()
  8138  }
  8139  
  8140  // Validate inspects the fields of the type to determine if they are valid.
  8141  func (s *CreatePublicVirtualInterfaceInput) Validate() error {
  8142  	invalidParams := request.ErrInvalidParams{Context: "CreatePublicVirtualInterfaceInput"}
  8143  	if s.ConnectionId == nil {
  8144  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  8145  	}
  8146  	if s.NewPublicVirtualInterface == nil {
  8147  		invalidParams.Add(request.NewErrParamRequired("NewPublicVirtualInterface"))
  8148  	}
  8149  	if s.NewPublicVirtualInterface != nil {
  8150  		if err := s.NewPublicVirtualInterface.Validate(); err != nil {
  8151  			invalidParams.AddNested("NewPublicVirtualInterface", err.(request.ErrInvalidParams))
  8152  		}
  8153  	}
  8154  
  8155  	if invalidParams.Len() > 0 {
  8156  		return invalidParams
  8157  	}
  8158  	return nil
  8159  }
  8160  
  8161  // SetConnectionId sets the ConnectionId field's value.
  8162  func (s *CreatePublicVirtualInterfaceInput) SetConnectionId(v string) *CreatePublicVirtualInterfaceInput {
  8163  	s.ConnectionId = &v
  8164  	return s
  8165  }
  8166  
  8167  // SetNewPublicVirtualInterface sets the NewPublicVirtualInterface field's value.
  8168  func (s *CreatePublicVirtualInterfaceInput) SetNewPublicVirtualInterface(v *NewPublicVirtualInterface) *CreatePublicVirtualInterfaceInput {
  8169  	s.NewPublicVirtualInterface = v
  8170  	return s
  8171  }
  8172  
  8173  type CreateTransitVirtualInterfaceInput struct {
  8174  	_ struct{} `type:"structure"`
  8175  
  8176  	// The ID of the connection.
  8177  	//
  8178  	// ConnectionId is a required field
  8179  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  8180  
  8181  	// Information about the transit virtual interface.
  8182  	//
  8183  	// NewTransitVirtualInterface is a required field
  8184  	NewTransitVirtualInterface *NewTransitVirtualInterface `locationName:"newTransitVirtualInterface" type:"structure" required:"true"`
  8185  }
  8186  
  8187  // String returns the string representation.
  8188  //
  8189  // API parameter values that are decorated as "sensitive" in the API will not
  8190  // be included in the string output. The member name will be present, but the
  8191  // value will be replaced with "sensitive".
  8192  func (s CreateTransitVirtualInterfaceInput) String() string {
  8193  	return awsutil.Prettify(s)
  8194  }
  8195  
  8196  // GoString returns the string representation.
  8197  //
  8198  // API parameter values that are decorated as "sensitive" in the API will not
  8199  // be included in the string output. The member name will be present, but the
  8200  // value will be replaced with "sensitive".
  8201  func (s CreateTransitVirtualInterfaceInput) GoString() string {
  8202  	return s.String()
  8203  }
  8204  
  8205  // Validate inspects the fields of the type to determine if they are valid.
  8206  func (s *CreateTransitVirtualInterfaceInput) Validate() error {
  8207  	invalidParams := request.ErrInvalidParams{Context: "CreateTransitVirtualInterfaceInput"}
  8208  	if s.ConnectionId == nil {
  8209  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  8210  	}
  8211  	if s.NewTransitVirtualInterface == nil {
  8212  		invalidParams.Add(request.NewErrParamRequired("NewTransitVirtualInterface"))
  8213  	}
  8214  	if s.NewTransitVirtualInterface != nil {
  8215  		if err := s.NewTransitVirtualInterface.Validate(); err != nil {
  8216  			invalidParams.AddNested("NewTransitVirtualInterface", err.(request.ErrInvalidParams))
  8217  		}
  8218  	}
  8219  
  8220  	if invalidParams.Len() > 0 {
  8221  		return invalidParams
  8222  	}
  8223  	return nil
  8224  }
  8225  
  8226  // SetConnectionId sets the ConnectionId field's value.
  8227  func (s *CreateTransitVirtualInterfaceInput) SetConnectionId(v string) *CreateTransitVirtualInterfaceInput {
  8228  	s.ConnectionId = &v
  8229  	return s
  8230  }
  8231  
  8232  // SetNewTransitVirtualInterface sets the NewTransitVirtualInterface field's value.
  8233  func (s *CreateTransitVirtualInterfaceInput) SetNewTransitVirtualInterface(v *NewTransitVirtualInterface) *CreateTransitVirtualInterfaceInput {
  8234  	s.NewTransitVirtualInterface = v
  8235  	return s
  8236  }
  8237  
  8238  type CreateTransitVirtualInterfaceOutput struct {
  8239  	_ struct{} `type:"structure"`
  8240  
  8241  	// Information about a virtual interface.
  8242  	VirtualInterface *VirtualInterface `locationName:"virtualInterface" type:"structure"`
  8243  }
  8244  
  8245  // String returns the string representation.
  8246  //
  8247  // API parameter values that are decorated as "sensitive" in the API will not
  8248  // be included in the string output. The member name will be present, but the
  8249  // value will be replaced with "sensitive".
  8250  func (s CreateTransitVirtualInterfaceOutput) String() string {
  8251  	return awsutil.Prettify(s)
  8252  }
  8253  
  8254  // GoString returns the string representation.
  8255  //
  8256  // API parameter values that are decorated as "sensitive" in the API will not
  8257  // be included in the string output. The member name will be present, but the
  8258  // value will be replaced with "sensitive".
  8259  func (s CreateTransitVirtualInterfaceOutput) GoString() string {
  8260  	return s.String()
  8261  }
  8262  
  8263  // SetVirtualInterface sets the VirtualInterface field's value.
  8264  func (s *CreateTransitVirtualInterfaceOutput) SetVirtualInterface(v *VirtualInterface) *CreateTransitVirtualInterfaceOutput {
  8265  	s.VirtualInterface = v
  8266  	return s
  8267  }
  8268  
  8269  type DeleteBGPPeerInput struct {
  8270  	_ struct{} `type:"structure"`
  8271  
  8272  	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
  8273  	Asn *int64 `locationName:"asn" type:"integer"`
  8274  
  8275  	// The ID of the BGP peer.
  8276  	BgpPeerId *string `locationName:"bgpPeerId" type:"string"`
  8277  
  8278  	// The IP address assigned to the customer interface.
  8279  	CustomerAddress *string `locationName:"customerAddress" type:"string"`
  8280  
  8281  	// The ID of the virtual interface.
  8282  	VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"`
  8283  }
  8284  
  8285  // String returns the string representation.
  8286  //
  8287  // API parameter values that are decorated as "sensitive" in the API will not
  8288  // be included in the string output. The member name will be present, but the
  8289  // value will be replaced with "sensitive".
  8290  func (s DeleteBGPPeerInput) String() string {
  8291  	return awsutil.Prettify(s)
  8292  }
  8293  
  8294  // GoString returns the string representation.
  8295  //
  8296  // API parameter values that are decorated as "sensitive" in the API will not
  8297  // be included in the string output. The member name will be present, but the
  8298  // value will be replaced with "sensitive".
  8299  func (s DeleteBGPPeerInput) GoString() string {
  8300  	return s.String()
  8301  }
  8302  
  8303  // SetAsn sets the Asn field's value.
  8304  func (s *DeleteBGPPeerInput) SetAsn(v int64) *DeleteBGPPeerInput {
  8305  	s.Asn = &v
  8306  	return s
  8307  }
  8308  
  8309  // SetBgpPeerId sets the BgpPeerId field's value.
  8310  func (s *DeleteBGPPeerInput) SetBgpPeerId(v string) *DeleteBGPPeerInput {
  8311  	s.BgpPeerId = &v
  8312  	return s
  8313  }
  8314  
  8315  // SetCustomerAddress sets the CustomerAddress field's value.
  8316  func (s *DeleteBGPPeerInput) SetCustomerAddress(v string) *DeleteBGPPeerInput {
  8317  	s.CustomerAddress = &v
  8318  	return s
  8319  }
  8320  
  8321  // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  8322  func (s *DeleteBGPPeerInput) SetVirtualInterfaceId(v string) *DeleteBGPPeerInput {
  8323  	s.VirtualInterfaceId = &v
  8324  	return s
  8325  }
  8326  
  8327  type DeleteBGPPeerOutput struct {
  8328  	_ struct{} `type:"structure"`
  8329  
  8330  	// The virtual interface.
  8331  	VirtualInterface *VirtualInterface `locationName:"virtualInterface" type:"structure"`
  8332  }
  8333  
  8334  // String returns the string representation.
  8335  //
  8336  // API parameter values that are decorated as "sensitive" in the API will not
  8337  // be included in the string output. The member name will be present, but the
  8338  // value will be replaced with "sensitive".
  8339  func (s DeleteBGPPeerOutput) String() string {
  8340  	return awsutil.Prettify(s)
  8341  }
  8342  
  8343  // GoString returns the string representation.
  8344  //
  8345  // API parameter values that are decorated as "sensitive" in the API will not
  8346  // be included in the string output. The member name will be present, but the
  8347  // value will be replaced with "sensitive".
  8348  func (s DeleteBGPPeerOutput) GoString() string {
  8349  	return s.String()
  8350  }
  8351  
  8352  // SetVirtualInterface sets the VirtualInterface field's value.
  8353  func (s *DeleteBGPPeerOutput) SetVirtualInterface(v *VirtualInterface) *DeleteBGPPeerOutput {
  8354  	s.VirtualInterface = v
  8355  	return s
  8356  }
  8357  
  8358  type DeleteConnectionInput struct {
  8359  	_ struct{} `type:"structure"`
  8360  
  8361  	// The ID of the connection.
  8362  	//
  8363  	// ConnectionId is a required field
  8364  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  8365  }
  8366  
  8367  // String returns the string representation.
  8368  //
  8369  // API parameter values that are decorated as "sensitive" in the API will not
  8370  // be included in the string output. The member name will be present, but the
  8371  // value will be replaced with "sensitive".
  8372  func (s DeleteConnectionInput) String() string {
  8373  	return awsutil.Prettify(s)
  8374  }
  8375  
  8376  // GoString returns the string representation.
  8377  //
  8378  // API parameter values that are decorated as "sensitive" in the API will not
  8379  // be included in the string output. The member name will be present, but the
  8380  // value will be replaced with "sensitive".
  8381  func (s DeleteConnectionInput) GoString() string {
  8382  	return s.String()
  8383  }
  8384  
  8385  // Validate inspects the fields of the type to determine if they are valid.
  8386  func (s *DeleteConnectionInput) Validate() error {
  8387  	invalidParams := request.ErrInvalidParams{Context: "DeleteConnectionInput"}
  8388  	if s.ConnectionId == nil {
  8389  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  8390  	}
  8391  
  8392  	if invalidParams.Len() > 0 {
  8393  		return invalidParams
  8394  	}
  8395  	return nil
  8396  }
  8397  
  8398  // SetConnectionId sets the ConnectionId field's value.
  8399  func (s *DeleteConnectionInput) SetConnectionId(v string) *DeleteConnectionInput {
  8400  	s.ConnectionId = &v
  8401  	return s
  8402  }
  8403  
  8404  type DeleteDirectConnectGatewayAssociationInput struct {
  8405  	_ struct{} `type:"structure"`
  8406  
  8407  	// The ID of the Direct Connect gateway association.
  8408  	AssociationId *string `locationName:"associationId" type:"string"`
  8409  
  8410  	// The ID of the Direct Connect gateway.
  8411  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
  8412  
  8413  	// The ID of the virtual private gateway.
  8414  	VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"`
  8415  }
  8416  
  8417  // String returns the string representation.
  8418  //
  8419  // API parameter values that are decorated as "sensitive" in the API will not
  8420  // be included in the string output. The member name will be present, but the
  8421  // value will be replaced with "sensitive".
  8422  func (s DeleteDirectConnectGatewayAssociationInput) String() string {
  8423  	return awsutil.Prettify(s)
  8424  }
  8425  
  8426  // GoString returns the string representation.
  8427  //
  8428  // API parameter values that are decorated as "sensitive" in the API will not
  8429  // be included in the string output. The member name will be present, but the
  8430  // value will be replaced with "sensitive".
  8431  func (s DeleteDirectConnectGatewayAssociationInput) GoString() string {
  8432  	return s.String()
  8433  }
  8434  
  8435  // SetAssociationId sets the AssociationId field's value.
  8436  func (s *DeleteDirectConnectGatewayAssociationInput) SetAssociationId(v string) *DeleteDirectConnectGatewayAssociationInput {
  8437  	s.AssociationId = &v
  8438  	return s
  8439  }
  8440  
  8441  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  8442  func (s *DeleteDirectConnectGatewayAssociationInput) SetDirectConnectGatewayId(v string) *DeleteDirectConnectGatewayAssociationInput {
  8443  	s.DirectConnectGatewayId = &v
  8444  	return s
  8445  }
  8446  
  8447  // SetVirtualGatewayId sets the VirtualGatewayId field's value.
  8448  func (s *DeleteDirectConnectGatewayAssociationInput) SetVirtualGatewayId(v string) *DeleteDirectConnectGatewayAssociationInput {
  8449  	s.VirtualGatewayId = &v
  8450  	return s
  8451  }
  8452  
  8453  type DeleteDirectConnectGatewayAssociationOutput struct {
  8454  	_ struct{} `type:"structure"`
  8455  
  8456  	// Information about the deleted association.
  8457  	DirectConnectGatewayAssociation *GatewayAssociation `locationName:"directConnectGatewayAssociation" type:"structure"`
  8458  }
  8459  
  8460  // String returns the string representation.
  8461  //
  8462  // API parameter values that are decorated as "sensitive" in the API will not
  8463  // be included in the string output. The member name will be present, but the
  8464  // value will be replaced with "sensitive".
  8465  func (s DeleteDirectConnectGatewayAssociationOutput) String() string {
  8466  	return awsutil.Prettify(s)
  8467  }
  8468  
  8469  // GoString returns the string representation.
  8470  //
  8471  // API parameter values that are decorated as "sensitive" in the API will not
  8472  // be included in the string output. The member name will be present, but the
  8473  // value will be replaced with "sensitive".
  8474  func (s DeleteDirectConnectGatewayAssociationOutput) GoString() string {
  8475  	return s.String()
  8476  }
  8477  
  8478  // SetDirectConnectGatewayAssociation sets the DirectConnectGatewayAssociation field's value.
  8479  func (s *DeleteDirectConnectGatewayAssociationOutput) SetDirectConnectGatewayAssociation(v *GatewayAssociation) *DeleteDirectConnectGatewayAssociationOutput {
  8480  	s.DirectConnectGatewayAssociation = v
  8481  	return s
  8482  }
  8483  
  8484  type DeleteDirectConnectGatewayAssociationProposalInput struct {
  8485  	_ struct{} `type:"structure"`
  8486  
  8487  	// The ID of the proposal.
  8488  	//
  8489  	// ProposalId is a required field
  8490  	ProposalId *string `locationName:"proposalId" type:"string" required:"true"`
  8491  }
  8492  
  8493  // String returns the string representation.
  8494  //
  8495  // API parameter values that are decorated as "sensitive" in the API will not
  8496  // be included in the string output. The member name will be present, but the
  8497  // value will be replaced with "sensitive".
  8498  func (s DeleteDirectConnectGatewayAssociationProposalInput) String() string {
  8499  	return awsutil.Prettify(s)
  8500  }
  8501  
  8502  // GoString returns the string representation.
  8503  //
  8504  // API parameter values that are decorated as "sensitive" in the API will not
  8505  // be included in the string output. The member name will be present, but the
  8506  // value will be replaced with "sensitive".
  8507  func (s DeleteDirectConnectGatewayAssociationProposalInput) GoString() string {
  8508  	return s.String()
  8509  }
  8510  
  8511  // Validate inspects the fields of the type to determine if they are valid.
  8512  func (s *DeleteDirectConnectGatewayAssociationProposalInput) Validate() error {
  8513  	invalidParams := request.ErrInvalidParams{Context: "DeleteDirectConnectGatewayAssociationProposalInput"}
  8514  	if s.ProposalId == nil {
  8515  		invalidParams.Add(request.NewErrParamRequired("ProposalId"))
  8516  	}
  8517  
  8518  	if invalidParams.Len() > 0 {
  8519  		return invalidParams
  8520  	}
  8521  	return nil
  8522  }
  8523  
  8524  // SetProposalId sets the ProposalId field's value.
  8525  func (s *DeleteDirectConnectGatewayAssociationProposalInput) SetProposalId(v string) *DeleteDirectConnectGatewayAssociationProposalInput {
  8526  	s.ProposalId = &v
  8527  	return s
  8528  }
  8529  
  8530  type DeleteDirectConnectGatewayAssociationProposalOutput struct {
  8531  	_ struct{} `type:"structure"`
  8532  
  8533  	// The ID of the associated gateway.
  8534  	DirectConnectGatewayAssociationProposal *GatewayAssociationProposal `locationName:"directConnectGatewayAssociationProposal" type:"structure"`
  8535  }
  8536  
  8537  // String returns the string representation.
  8538  //
  8539  // API parameter values that are decorated as "sensitive" in the API will not
  8540  // be included in the string output. The member name will be present, but the
  8541  // value will be replaced with "sensitive".
  8542  func (s DeleteDirectConnectGatewayAssociationProposalOutput) String() string {
  8543  	return awsutil.Prettify(s)
  8544  }
  8545  
  8546  // GoString returns the string representation.
  8547  //
  8548  // API parameter values that are decorated as "sensitive" in the API will not
  8549  // be included in the string output. The member name will be present, but the
  8550  // value will be replaced with "sensitive".
  8551  func (s DeleteDirectConnectGatewayAssociationProposalOutput) GoString() string {
  8552  	return s.String()
  8553  }
  8554  
  8555  // SetDirectConnectGatewayAssociationProposal sets the DirectConnectGatewayAssociationProposal field's value.
  8556  func (s *DeleteDirectConnectGatewayAssociationProposalOutput) SetDirectConnectGatewayAssociationProposal(v *GatewayAssociationProposal) *DeleteDirectConnectGatewayAssociationProposalOutput {
  8557  	s.DirectConnectGatewayAssociationProposal = v
  8558  	return s
  8559  }
  8560  
  8561  type DeleteDirectConnectGatewayInput struct {
  8562  	_ struct{} `type:"structure"`
  8563  
  8564  	// The ID of the Direct Connect gateway.
  8565  	//
  8566  	// DirectConnectGatewayId is a required field
  8567  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string" required:"true"`
  8568  }
  8569  
  8570  // String returns the string representation.
  8571  //
  8572  // API parameter values that are decorated as "sensitive" in the API will not
  8573  // be included in the string output. The member name will be present, but the
  8574  // value will be replaced with "sensitive".
  8575  func (s DeleteDirectConnectGatewayInput) String() string {
  8576  	return awsutil.Prettify(s)
  8577  }
  8578  
  8579  // GoString returns the string representation.
  8580  //
  8581  // API parameter values that are decorated as "sensitive" in the API will not
  8582  // be included in the string output. The member name will be present, but the
  8583  // value will be replaced with "sensitive".
  8584  func (s DeleteDirectConnectGatewayInput) GoString() string {
  8585  	return s.String()
  8586  }
  8587  
  8588  // Validate inspects the fields of the type to determine if they are valid.
  8589  func (s *DeleteDirectConnectGatewayInput) Validate() error {
  8590  	invalidParams := request.ErrInvalidParams{Context: "DeleteDirectConnectGatewayInput"}
  8591  	if s.DirectConnectGatewayId == nil {
  8592  		invalidParams.Add(request.NewErrParamRequired("DirectConnectGatewayId"))
  8593  	}
  8594  
  8595  	if invalidParams.Len() > 0 {
  8596  		return invalidParams
  8597  	}
  8598  	return nil
  8599  }
  8600  
  8601  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  8602  func (s *DeleteDirectConnectGatewayInput) SetDirectConnectGatewayId(v string) *DeleteDirectConnectGatewayInput {
  8603  	s.DirectConnectGatewayId = &v
  8604  	return s
  8605  }
  8606  
  8607  type DeleteDirectConnectGatewayOutput struct {
  8608  	_ struct{} `type:"structure"`
  8609  
  8610  	// The Direct Connect gateway.
  8611  	DirectConnectGateway *Gateway `locationName:"directConnectGateway" type:"structure"`
  8612  }
  8613  
  8614  // String returns the string representation.
  8615  //
  8616  // API parameter values that are decorated as "sensitive" in the API will not
  8617  // be included in the string output. The member name will be present, but the
  8618  // value will be replaced with "sensitive".
  8619  func (s DeleteDirectConnectGatewayOutput) String() string {
  8620  	return awsutil.Prettify(s)
  8621  }
  8622  
  8623  // GoString returns the string representation.
  8624  //
  8625  // API parameter values that are decorated as "sensitive" in the API will not
  8626  // be included in the string output. The member name will be present, but the
  8627  // value will be replaced with "sensitive".
  8628  func (s DeleteDirectConnectGatewayOutput) GoString() string {
  8629  	return s.String()
  8630  }
  8631  
  8632  // SetDirectConnectGateway sets the DirectConnectGateway field's value.
  8633  func (s *DeleteDirectConnectGatewayOutput) SetDirectConnectGateway(v *Gateway) *DeleteDirectConnectGatewayOutput {
  8634  	s.DirectConnectGateway = v
  8635  	return s
  8636  }
  8637  
  8638  type DeleteInterconnectInput struct {
  8639  	_ struct{} `type:"structure"`
  8640  
  8641  	// The ID of the interconnect.
  8642  	//
  8643  	// InterconnectId is a required field
  8644  	InterconnectId *string `locationName:"interconnectId" type:"string" required:"true"`
  8645  }
  8646  
  8647  // String returns the string representation.
  8648  //
  8649  // API parameter values that are decorated as "sensitive" in the API will not
  8650  // be included in the string output. The member name will be present, but the
  8651  // value will be replaced with "sensitive".
  8652  func (s DeleteInterconnectInput) String() string {
  8653  	return awsutil.Prettify(s)
  8654  }
  8655  
  8656  // GoString returns the string representation.
  8657  //
  8658  // API parameter values that are decorated as "sensitive" in the API will not
  8659  // be included in the string output. The member name will be present, but the
  8660  // value will be replaced with "sensitive".
  8661  func (s DeleteInterconnectInput) GoString() string {
  8662  	return s.String()
  8663  }
  8664  
  8665  // Validate inspects the fields of the type to determine if they are valid.
  8666  func (s *DeleteInterconnectInput) Validate() error {
  8667  	invalidParams := request.ErrInvalidParams{Context: "DeleteInterconnectInput"}
  8668  	if s.InterconnectId == nil {
  8669  		invalidParams.Add(request.NewErrParamRequired("InterconnectId"))
  8670  	}
  8671  
  8672  	if invalidParams.Len() > 0 {
  8673  		return invalidParams
  8674  	}
  8675  	return nil
  8676  }
  8677  
  8678  // SetInterconnectId sets the InterconnectId field's value.
  8679  func (s *DeleteInterconnectInput) SetInterconnectId(v string) *DeleteInterconnectInput {
  8680  	s.InterconnectId = &v
  8681  	return s
  8682  }
  8683  
  8684  type DeleteInterconnectOutput struct {
  8685  	_ struct{} `type:"structure"`
  8686  
  8687  	// The state of the interconnect. The following are the possible values:
  8688  	//
  8689  	//    * requested: The initial state of an interconnect. The interconnect stays
  8690  	//    in the requested state until the Letter of Authorization (LOA) is sent
  8691  	//    to the customer.
  8692  	//
  8693  	//    * pending: The interconnect is approved, and is being initialized.
  8694  	//
  8695  	//    * available: The network link is up, and the interconnect is ready for
  8696  	//    use.
  8697  	//
  8698  	//    * down: The network link is down.
  8699  	//
  8700  	//    * deleting: The interconnect is being deleted.
  8701  	//
  8702  	//    * deleted: The interconnect is deleted.
  8703  	//
  8704  	//    * unknown: The state of the interconnect is not available.
  8705  	InterconnectState *string `locationName:"interconnectState" type:"string" enum:"InterconnectState"`
  8706  }
  8707  
  8708  // String returns the string representation.
  8709  //
  8710  // API parameter values that are decorated as "sensitive" in the API will not
  8711  // be included in the string output. The member name will be present, but the
  8712  // value will be replaced with "sensitive".
  8713  func (s DeleteInterconnectOutput) String() string {
  8714  	return awsutil.Prettify(s)
  8715  }
  8716  
  8717  // GoString returns the string representation.
  8718  //
  8719  // API parameter values that are decorated as "sensitive" in the API will not
  8720  // be included in the string output. The member name will be present, but the
  8721  // value will be replaced with "sensitive".
  8722  func (s DeleteInterconnectOutput) GoString() string {
  8723  	return s.String()
  8724  }
  8725  
  8726  // SetInterconnectState sets the InterconnectState field's value.
  8727  func (s *DeleteInterconnectOutput) SetInterconnectState(v string) *DeleteInterconnectOutput {
  8728  	s.InterconnectState = &v
  8729  	return s
  8730  }
  8731  
  8732  type DeleteLagInput struct {
  8733  	_ struct{} `type:"structure"`
  8734  
  8735  	// The ID of the LAG.
  8736  	//
  8737  	// LagId is a required field
  8738  	LagId *string `locationName:"lagId" type:"string" required:"true"`
  8739  }
  8740  
  8741  // String returns the string representation.
  8742  //
  8743  // API parameter values that are decorated as "sensitive" in the API will not
  8744  // be included in the string output. The member name will be present, but the
  8745  // value will be replaced with "sensitive".
  8746  func (s DeleteLagInput) String() string {
  8747  	return awsutil.Prettify(s)
  8748  }
  8749  
  8750  // GoString returns the string representation.
  8751  //
  8752  // API parameter values that are decorated as "sensitive" in the API will not
  8753  // be included in the string output. The member name will be present, but the
  8754  // value will be replaced with "sensitive".
  8755  func (s DeleteLagInput) GoString() string {
  8756  	return s.String()
  8757  }
  8758  
  8759  // Validate inspects the fields of the type to determine if they are valid.
  8760  func (s *DeleteLagInput) Validate() error {
  8761  	invalidParams := request.ErrInvalidParams{Context: "DeleteLagInput"}
  8762  	if s.LagId == nil {
  8763  		invalidParams.Add(request.NewErrParamRequired("LagId"))
  8764  	}
  8765  
  8766  	if invalidParams.Len() > 0 {
  8767  		return invalidParams
  8768  	}
  8769  	return nil
  8770  }
  8771  
  8772  // SetLagId sets the LagId field's value.
  8773  func (s *DeleteLagInput) SetLagId(v string) *DeleteLagInput {
  8774  	s.LagId = &v
  8775  	return s
  8776  }
  8777  
  8778  type DeleteVirtualInterfaceInput struct {
  8779  	_ struct{} `type:"structure"`
  8780  
  8781  	// The ID of the virtual interface.
  8782  	//
  8783  	// VirtualInterfaceId is a required field
  8784  	VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string" required:"true"`
  8785  }
  8786  
  8787  // String returns the string representation.
  8788  //
  8789  // API parameter values that are decorated as "sensitive" in the API will not
  8790  // be included in the string output. The member name will be present, but the
  8791  // value will be replaced with "sensitive".
  8792  func (s DeleteVirtualInterfaceInput) String() string {
  8793  	return awsutil.Prettify(s)
  8794  }
  8795  
  8796  // GoString returns the string representation.
  8797  //
  8798  // API parameter values that are decorated as "sensitive" in the API will not
  8799  // be included in the string output. The member name will be present, but the
  8800  // value will be replaced with "sensitive".
  8801  func (s DeleteVirtualInterfaceInput) GoString() string {
  8802  	return s.String()
  8803  }
  8804  
  8805  // Validate inspects the fields of the type to determine if they are valid.
  8806  func (s *DeleteVirtualInterfaceInput) Validate() error {
  8807  	invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualInterfaceInput"}
  8808  	if s.VirtualInterfaceId == nil {
  8809  		invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceId"))
  8810  	}
  8811  
  8812  	if invalidParams.Len() > 0 {
  8813  		return invalidParams
  8814  	}
  8815  	return nil
  8816  }
  8817  
  8818  // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  8819  func (s *DeleteVirtualInterfaceInput) SetVirtualInterfaceId(v string) *DeleteVirtualInterfaceInput {
  8820  	s.VirtualInterfaceId = &v
  8821  	return s
  8822  }
  8823  
  8824  type DeleteVirtualInterfaceOutput struct {
  8825  	_ struct{} `type:"structure"`
  8826  
  8827  	// The state of the virtual interface. The following are the possible values:
  8828  	//
  8829  	//    * confirming: The creation of the virtual interface is pending confirmation
  8830  	//    from the virtual interface owner. If the owner of the virtual interface
  8831  	//    is different from the owner of the connection on which it is provisioned,
  8832  	//    then the virtual interface will remain in this state until it is confirmed
  8833  	//    by the virtual interface owner.
  8834  	//
  8835  	//    * verifying: This state only applies to public virtual interfaces. Each
  8836  	//    public virtual interface needs validation before the virtual interface
  8837  	//    can be created.
  8838  	//
  8839  	//    * pending: A virtual interface is in this state from the time that it
  8840  	//    is created until the virtual interface is ready to forward traffic.
  8841  	//
  8842  	//    * available: A virtual interface that is able to forward traffic.
  8843  	//
  8844  	//    * down: A virtual interface that is BGP down.
  8845  	//
  8846  	//    * deleting: A virtual interface is in this state immediately after calling
  8847  	//    DeleteVirtualInterface until it can no longer forward traffic.
  8848  	//
  8849  	//    * deleted: A virtual interface that cannot forward traffic.
  8850  	//
  8851  	//    * rejected: The virtual interface owner has declined creation of the virtual
  8852  	//    interface. If a virtual interface in the Confirming state is deleted by
  8853  	//    the virtual interface owner, the virtual interface enters the Rejected
  8854  	//    state.
  8855  	//
  8856  	//    * unknown: The state of the virtual interface is not available.
  8857  	VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string" enum:"VirtualInterfaceState"`
  8858  }
  8859  
  8860  // String returns the string representation.
  8861  //
  8862  // API parameter values that are decorated as "sensitive" in the API will not
  8863  // be included in the string output. The member name will be present, but the
  8864  // value will be replaced with "sensitive".
  8865  func (s DeleteVirtualInterfaceOutput) String() string {
  8866  	return awsutil.Prettify(s)
  8867  }
  8868  
  8869  // GoString returns the string representation.
  8870  //
  8871  // API parameter values that are decorated as "sensitive" in the API will not
  8872  // be included in the string output. The member name will be present, but the
  8873  // value will be replaced with "sensitive".
  8874  func (s DeleteVirtualInterfaceOutput) GoString() string {
  8875  	return s.String()
  8876  }
  8877  
  8878  // SetVirtualInterfaceState sets the VirtualInterfaceState field's value.
  8879  func (s *DeleteVirtualInterfaceOutput) SetVirtualInterfaceState(v string) *DeleteVirtualInterfaceOutput {
  8880  	s.VirtualInterfaceState = &v
  8881  	return s
  8882  }
  8883  
  8884  type DescribeConnectionLoaInput struct {
  8885  	_ struct{} `type:"structure"`
  8886  
  8887  	// The ID of the connection.
  8888  	//
  8889  	// ConnectionId is a required field
  8890  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  8891  
  8892  	// The standard media type for the LOA-CFA document. The only supported value
  8893  	// is application/pdf.
  8894  	LoaContentType *string `locationName:"loaContentType" type:"string" enum:"LoaContentType"`
  8895  
  8896  	// The name of the APN partner or service provider who establishes connectivity
  8897  	// on your behalf. If you specify this parameter, the LOA-CFA lists the provider
  8898  	// name alongside your company name as the requester of the cross connect.
  8899  	ProviderName *string `locationName:"providerName" type:"string"`
  8900  }
  8901  
  8902  // String returns the string representation.
  8903  //
  8904  // API parameter values that are decorated as "sensitive" in the API will not
  8905  // be included in the string output. The member name will be present, but the
  8906  // value will be replaced with "sensitive".
  8907  func (s DescribeConnectionLoaInput) String() string {
  8908  	return awsutil.Prettify(s)
  8909  }
  8910  
  8911  // GoString returns the string representation.
  8912  //
  8913  // API parameter values that are decorated as "sensitive" in the API will not
  8914  // be included in the string output. The member name will be present, but the
  8915  // value will be replaced with "sensitive".
  8916  func (s DescribeConnectionLoaInput) GoString() string {
  8917  	return s.String()
  8918  }
  8919  
  8920  // Validate inspects the fields of the type to determine if they are valid.
  8921  func (s *DescribeConnectionLoaInput) Validate() error {
  8922  	invalidParams := request.ErrInvalidParams{Context: "DescribeConnectionLoaInput"}
  8923  	if s.ConnectionId == nil {
  8924  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  8925  	}
  8926  
  8927  	if invalidParams.Len() > 0 {
  8928  		return invalidParams
  8929  	}
  8930  	return nil
  8931  }
  8932  
  8933  // SetConnectionId sets the ConnectionId field's value.
  8934  func (s *DescribeConnectionLoaInput) SetConnectionId(v string) *DescribeConnectionLoaInput {
  8935  	s.ConnectionId = &v
  8936  	return s
  8937  }
  8938  
  8939  // SetLoaContentType sets the LoaContentType field's value.
  8940  func (s *DescribeConnectionLoaInput) SetLoaContentType(v string) *DescribeConnectionLoaInput {
  8941  	s.LoaContentType = &v
  8942  	return s
  8943  }
  8944  
  8945  // SetProviderName sets the ProviderName field's value.
  8946  func (s *DescribeConnectionLoaInput) SetProviderName(v string) *DescribeConnectionLoaInput {
  8947  	s.ProviderName = &v
  8948  	return s
  8949  }
  8950  
  8951  type DescribeConnectionLoaOutput struct {
  8952  	_ struct{} `type:"structure"`
  8953  
  8954  	// The Letter of Authorization - Connecting Facility Assignment (LOA-CFA).
  8955  	Loa *Loa `locationName:"loa" type:"structure"`
  8956  }
  8957  
  8958  // String returns the string representation.
  8959  //
  8960  // API parameter values that are decorated as "sensitive" in the API will not
  8961  // be included in the string output. The member name will be present, but the
  8962  // value will be replaced with "sensitive".
  8963  func (s DescribeConnectionLoaOutput) String() string {
  8964  	return awsutil.Prettify(s)
  8965  }
  8966  
  8967  // GoString returns the string representation.
  8968  //
  8969  // API parameter values that are decorated as "sensitive" in the API will not
  8970  // be included in the string output. The member name will be present, but the
  8971  // value will be replaced with "sensitive".
  8972  func (s DescribeConnectionLoaOutput) GoString() string {
  8973  	return s.String()
  8974  }
  8975  
  8976  // SetLoa sets the Loa field's value.
  8977  func (s *DescribeConnectionLoaOutput) SetLoa(v *Loa) *DescribeConnectionLoaOutput {
  8978  	s.Loa = v
  8979  	return s
  8980  }
  8981  
  8982  type DescribeConnectionsInput struct {
  8983  	_ struct{} `type:"structure"`
  8984  
  8985  	// The ID of the connection.
  8986  	ConnectionId *string `locationName:"connectionId" type:"string"`
  8987  }
  8988  
  8989  // String returns the string representation.
  8990  //
  8991  // API parameter values that are decorated as "sensitive" in the API will not
  8992  // be included in the string output. The member name will be present, but the
  8993  // value will be replaced with "sensitive".
  8994  func (s DescribeConnectionsInput) String() string {
  8995  	return awsutil.Prettify(s)
  8996  }
  8997  
  8998  // GoString returns the string representation.
  8999  //
  9000  // API parameter values that are decorated as "sensitive" in the API will not
  9001  // be included in the string output. The member name will be present, but the
  9002  // value will be replaced with "sensitive".
  9003  func (s DescribeConnectionsInput) GoString() string {
  9004  	return s.String()
  9005  }
  9006  
  9007  // SetConnectionId sets the ConnectionId field's value.
  9008  func (s *DescribeConnectionsInput) SetConnectionId(v string) *DescribeConnectionsInput {
  9009  	s.ConnectionId = &v
  9010  	return s
  9011  }
  9012  
  9013  type DescribeConnectionsOnInterconnectInput struct {
  9014  	_ struct{} `type:"structure"`
  9015  
  9016  	// The ID of the interconnect.
  9017  	//
  9018  	// InterconnectId is a required field
  9019  	InterconnectId *string `locationName:"interconnectId" type:"string" required:"true"`
  9020  }
  9021  
  9022  // String returns the string representation.
  9023  //
  9024  // API parameter values that are decorated as "sensitive" in the API will not
  9025  // be included in the string output. The member name will be present, but the
  9026  // value will be replaced with "sensitive".
  9027  func (s DescribeConnectionsOnInterconnectInput) String() string {
  9028  	return awsutil.Prettify(s)
  9029  }
  9030  
  9031  // GoString returns the string representation.
  9032  //
  9033  // API parameter values that are decorated as "sensitive" in the API will not
  9034  // be included in the string output. The member name will be present, but the
  9035  // value will be replaced with "sensitive".
  9036  func (s DescribeConnectionsOnInterconnectInput) GoString() string {
  9037  	return s.String()
  9038  }
  9039  
  9040  // Validate inspects the fields of the type to determine if they are valid.
  9041  func (s *DescribeConnectionsOnInterconnectInput) Validate() error {
  9042  	invalidParams := request.ErrInvalidParams{Context: "DescribeConnectionsOnInterconnectInput"}
  9043  	if s.InterconnectId == nil {
  9044  		invalidParams.Add(request.NewErrParamRequired("InterconnectId"))
  9045  	}
  9046  
  9047  	if invalidParams.Len() > 0 {
  9048  		return invalidParams
  9049  	}
  9050  	return nil
  9051  }
  9052  
  9053  // SetInterconnectId sets the InterconnectId field's value.
  9054  func (s *DescribeConnectionsOnInterconnectInput) SetInterconnectId(v string) *DescribeConnectionsOnInterconnectInput {
  9055  	s.InterconnectId = &v
  9056  	return s
  9057  }
  9058  
  9059  type DescribeDirectConnectGatewayAssociationProposalsInput struct {
  9060  	_ struct{} `type:"structure"`
  9061  
  9062  	// The ID of the associated gateway.
  9063  	AssociatedGatewayId *string `locationName:"associatedGatewayId" type:"string"`
  9064  
  9065  	// The ID of the Direct Connect gateway.
  9066  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
  9067  
  9068  	// The maximum number of results to return with a single call. To retrieve the
  9069  	// remaining results, make another call with the returned nextToken value.
  9070  	//
  9071  	// If MaxResults is given a value larger than 100, only 100 results are returned.
  9072  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
  9073  
  9074  	// The token for the next page of results.
  9075  	NextToken *string `locationName:"nextToken" type:"string"`
  9076  
  9077  	// The ID of the proposal.
  9078  	ProposalId *string `locationName:"proposalId" type:"string"`
  9079  }
  9080  
  9081  // String returns the string representation.
  9082  //
  9083  // API parameter values that are decorated as "sensitive" in the API will not
  9084  // be included in the string output. The member name will be present, but the
  9085  // value will be replaced with "sensitive".
  9086  func (s DescribeDirectConnectGatewayAssociationProposalsInput) String() string {
  9087  	return awsutil.Prettify(s)
  9088  }
  9089  
  9090  // GoString returns the string representation.
  9091  //
  9092  // API parameter values that are decorated as "sensitive" in the API will not
  9093  // be included in the string output. The member name will be present, but the
  9094  // value will be replaced with "sensitive".
  9095  func (s DescribeDirectConnectGatewayAssociationProposalsInput) GoString() string {
  9096  	return s.String()
  9097  }
  9098  
  9099  // SetAssociatedGatewayId sets the AssociatedGatewayId field's value.
  9100  func (s *DescribeDirectConnectGatewayAssociationProposalsInput) SetAssociatedGatewayId(v string) *DescribeDirectConnectGatewayAssociationProposalsInput {
  9101  	s.AssociatedGatewayId = &v
  9102  	return s
  9103  }
  9104  
  9105  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  9106  func (s *DescribeDirectConnectGatewayAssociationProposalsInput) SetDirectConnectGatewayId(v string) *DescribeDirectConnectGatewayAssociationProposalsInput {
  9107  	s.DirectConnectGatewayId = &v
  9108  	return s
  9109  }
  9110  
  9111  // SetMaxResults sets the MaxResults field's value.
  9112  func (s *DescribeDirectConnectGatewayAssociationProposalsInput) SetMaxResults(v int64) *DescribeDirectConnectGatewayAssociationProposalsInput {
  9113  	s.MaxResults = &v
  9114  	return s
  9115  }
  9116  
  9117  // SetNextToken sets the NextToken field's value.
  9118  func (s *DescribeDirectConnectGatewayAssociationProposalsInput) SetNextToken(v string) *DescribeDirectConnectGatewayAssociationProposalsInput {
  9119  	s.NextToken = &v
  9120  	return s
  9121  }
  9122  
  9123  // SetProposalId sets the ProposalId field's value.
  9124  func (s *DescribeDirectConnectGatewayAssociationProposalsInput) SetProposalId(v string) *DescribeDirectConnectGatewayAssociationProposalsInput {
  9125  	s.ProposalId = &v
  9126  	return s
  9127  }
  9128  
  9129  type DescribeDirectConnectGatewayAssociationProposalsOutput struct {
  9130  	_ struct{} `type:"structure"`
  9131  
  9132  	// Describes the Direct Connect gateway association proposals.
  9133  	DirectConnectGatewayAssociationProposals []*GatewayAssociationProposal `locationName:"directConnectGatewayAssociationProposals" type:"list"`
  9134  
  9135  	// The token to use to retrieve the next page of results. This value is null
  9136  	// when there are no more results to return.
  9137  	NextToken *string `locationName:"nextToken" type:"string"`
  9138  }
  9139  
  9140  // String returns the string representation.
  9141  //
  9142  // API parameter values that are decorated as "sensitive" in the API will not
  9143  // be included in the string output. The member name will be present, but the
  9144  // value will be replaced with "sensitive".
  9145  func (s DescribeDirectConnectGatewayAssociationProposalsOutput) String() string {
  9146  	return awsutil.Prettify(s)
  9147  }
  9148  
  9149  // GoString returns the string representation.
  9150  //
  9151  // API parameter values that are decorated as "sensitive" in the API will not
  9152  // be included in the string output. The member name will be present, but the
  9153  // value will be replaced with "sensitive".
  9154  func (s DescribeDirectConnectGatewayAssociationProposalsOutput) GoString() string {
  9155  	return s.String()
  9156  }
  9157  
  9158  // SetDirectConnectGatewayAssociationProposals sets the DirectConnectGatewayAssociationProposals field's value.
  9159  func (s *DescribeDirectConnectGatewayAssociationProposalsOutput) SetDirectConnectGatewayAssociationProposals(v []*GatewayAssociationProposal) *DescribeDirectConnectGatewayAssociationProposalsOutput {
  9160  	s.DirectConnectGatewayAssociationProposals = v
  9161  	return s
  9162  }
  9163  
  9164  // SetNextToken sets the NextToken field's value.
  9165  func (s *DescribeDirectConnectGatewayAssociationProposalsOutput) SetNextToken(v string) *DescribeDirectConnectGatewayAssociationProposalsOutput {
  9166  	s.NextToken = &v
  9167  	return s
  9168  }
  9169  
  9170  type DescribeDirectConnectGatewayAssociationsInput struct {
  9171  	_ struct{} `type:"structure"`
  9172  
  9173  	// The ID of the associated gateway.
  9174  	AssociatedGatewayId *string `locationName:"associatedGatewayId" type:"string"`
  9175  
  9176  	// The ID of the Direct Connect gateway association.
  9177  	AssociationId *string `locationName:"associationId" type:"string"`
  9178  
  9179  	// The ID of the Direct Connect gateway.
  9180  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
  9181  
  9182  	// The maximum number of results to return with a single call. To retrieve the
  9183  	// remaining results, make another call with the returned nextToken value.
  9184  	//
  9185  	// If MaxResults is given a value larger than 100, only 100 results are returned.
  9186  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
  9187  
  9188  	// The token provided in the previous call to retrieve the next page.
  9189  	NextToken *string `locationName:"nextToken" type:"string"`
  9190  
  9191  	// The ID of the virtual private gateway or transit gateway.
  9192  	VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"`
  9193  }
  9194  
  9195  // String returns the string representation.
  9196  //
  9197  // API parameter values that are decorated as "sensitive" in the API will not
  9198  // be included in the string output. The member name will be present, but the
  9199  // value will be replaced with "sensitive".
  9200  func (s DescribeDirectConnectGatewayAssociationsInput) String() string {
  9201  	return awsutil.Prettify(s)
  9202  }
  9203  
  9204  // GoString returns the string representation.
  9205  //
  9206  // API parameter values that are decorated as "sensitive" in the API will not
  9207  // be included in the string output. The member name will be present, but the
  9208  // value will be replaced with "sensitive".
  9209  func (s DescribeDirectConnectGatewayAssociationsInput) GoString() string {
  9210  	return s.String()
  9211  }
  9212  
  9213  // SetAssociatedGatewayId sets the AssociatedGatewayId field's value.
  9214  func (s *DescribeDirectConnectGatewayAssociationsInput) SetAssociatedGatewayId(v string) *DescribeDirectConnectGatewayAssociationsInput {
  9215  	s.AssociatedGatewayId = &v
  9216  	return s
  9217  }
  9218  
  9219  // SetAssociationId sets the AssociationId field's value.
  9220  func (s *DescribeDirectConnectGatewayAssociationsInput) SetAssociationId(v string) *DescribeDirectConnectGatewayAssociationsInput {
  9221  	s.AssociationId = &v
  9222  	return s
  9223  }
  9224  
  9225  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  9226  func (s *DescribeDirectConnectGatewayAssociationsInput) SetDirectConnectGatewayId(v string) *DescribeDirectConnectGatewayAssociationsInput {
  9227  	s.DirectConnectGatewayId = &v
  9228  	return s
  9229  }
  9230  
  9231  // SetMaxResults sets the MaxResults field's value.
  9232  func (s *DescribeDirectConnectGatewayAssociationsInput) SetMaxResults(v int64) *DescribeDirectConnectGatewayAssociationsInput {
  9233  	s.MaxResults = &v
  9234  	return s
  9235  }
  9236  
  9237  // SetNextToken sets the NextToken field's value.
  9238  func (s *DescribeDirectConnectGatewayAssociationsInput) SetNextToken(v string) *DescribeDirectConnectGatewayAssociationsInput {
  9239  	s.NextToken = &v
  9240  	return s
  9241  }
  9242  
  9243  // SetVirtualGatewayId sets the VirtualGatewayId field's value.
  9244  func (s *DescribeDirectConnectGatewayAssociationsInput) SetVirtualGatewayId(v string) *DescribeDirectConnectGatewayAssociationsInput {
  9245  	s.VirtualGatewayId = &v
  9246  	return s
  9247  }
  9248  
  9249  type DescribeDirectConnectGatewayAssociationsOutput struct {
  9250  	_ struct{} `type:"structure"`
  9251  
  9252  	// Information about the associations.
  9253  	DirectConnectGatewayAssociations []*GatewayAssociation `locationName:"directConnectGatewayAssociations" type:"list"`
  9254  
  9255  	// The token to retrieve the next page.
  9256  	NextToken *string `locationName:"nextToken" type:"string"`
  9257  }
  9258  
  9259  // String returns the string representation.
  9260  //
  9261  // API parameter values that are decorated as "sensitive" in the API will not
  9262  // be included in the string output. The member name will be present, but the
  9263  // value will be replaced with "sensitive".
  9264  func (s DescribeDirectConnectGatewayAssociationsOutput) String() string {
  9265  	return awsutil.Prettify(s)
  9266  }
  9267  
  9268  // GoString returns the string representation.
  9269  //
  9270  // API parameter values that are decorated as "sensitive" in the API will not
  9271  // be included in the string output. The member name will be present, but the
  9272  // value will be replaced with "sensitive".
  9273  func (s DescribeDirectConnectGatewayAssociationsOutput) GoString() string {
  9274  	return s.String()
  9275  }
  9276  
  9277  // SetDirectConnectGatewayAssociations sets the DirectConnectGatewayAssociations field's value.
  9278  func (s *DescribeDirectConnectGatewayAssociationsOutput) SetDirectConnectGatewayAssociations(v []*GatewayAssociation) *DescribeDirectConnectGatewayAssociationsOutput {
  9279  	s.DirectConnectGatewayAssociations = v
  9280  	return s
  9281  }
  9282  
  9283  // SetNextToken sets the NextToken field's value.
  9284  func (s *DescribeDirectConnectGatewayAssociationsOutput) SetNextToken(v string) *DescribeDirectConnectGatewayAssociationsOutput {
  9285  	s.NextToken = &v
  9286  	return s
  9287  }
  9288  
  9289  type DescribeDirectConnectGatewayAttachmentsInput struct {
  9290  	_ struct{} `type:"structure"`
  9291  
  9292  	// The ID of the Direct Connect gateway.
  9293  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
  9294  
  9295  	// The maximum number of results to return with a single call. To retrieve the
  9296  	// remaining results, make another call with the returned nextToken value.
  9297  	//
  9298  	// If MaxResults is given a value larger than 100, only 100 results are returned.
  9299  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
  9300  
  9301  	// The token provided in the previous call to retrieve the next page.
  9302  	NextToken *string `locationName:"nextToken" type:"string"`
  9303  
  9304  	// The ID of the virtual interface.
  9305  	VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"`
  9306  }
  9307  
  9308  // String returns the string representation.
  9309  //
  9310  // API parameter values that are decorated as "sensitive" in the API will not
  9311  // be included in the string output. The member name will be present, but the
  9312  // value will be replaced with "sensitive".
  9313  func (s DescribeDirectConnectGatewayAttachmentsInput) String() string {
  9314  	return awsutil.Prettify(s)
  9315  }
  9316  
  9317  // GoString returns the string representation.
  9318  //
  9319  // API parameter values that are decorated as "sensitive" in the API will not
  9320  // be included in the string output. The member name will be present, but the
  9321  // value will be replaced with "sensitive".
  9322  func (s DescribeDirectConnectGatewayAttachmentsInput) GoString() string {
  9323  	return s.String()
  9324  }
  9325  
  9326  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  9327  func (s *DescribeDirectConnectGatewayAttachmentsInput) SetDirectConnectGatewayId(v string) *DescribeDirectConnectGatewayAttachmentsInput {
  9328  	s.DirectConnectGatewayId = &v
  9329  	return s
  9330  }
  9331  
  9332  // SetMaxResults sets the MaxResults field's value.
  9333  func (s *DescribeDirectConnectGatewayAttachmentsInput) SetMaxResults(v int64) *DescribeDirectConnectGatewayAttachmentsInput {
  9334  	s.MaxResults = &v
  9335  	return s
  9336  }
  9337  
  9338  // SetNextToken sets the NextToken field's value.
  9339  func (s *DescribeDirectConnectGatewayAttachmentsInput) SetNextToken(v string) *DescribeDirectConnectGatewayAttachmentsInput {
  9340  	s.NextToken = &v
  9341  	return s
  9342  }
  9343  
  9344  // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
  9345  func (s *DescribeDirectConnectGatewayAttachmentsInput) SetVirtualInterfaceId(v string) *DescribeDirectConnectGatewayAttachmentsInput {
  9346  	s.VirtualInterfaceId = &v
  9347  	return s
  9348  }
  9349  
  9350  type DescribeDirectConnectGatewayAttachmentsOutput struct {
  9351  	_ struct{} `type:"structure"`
  9352  
  9353  	// The attachments.
  9354  	DirectConnectGatewayAttachments []*GatewayAttachment `locationName:"directConnectGatewayAttachments" type:"list"`
  9355  
  9356  	// The token to retrieve the next page.
  9357  	NextToken *string `locationName:"nextToken" type:"string"`
  9358  }
  9359  
  9360  // String returns the string representation.
  9361  //
  9362  // API parameter values that are decorated as "sensitive" in the API will not
  9363  // be included in the string output. The member name will be present, but the
  9364  // value will be replaced with "sensitive".
  9365  func (s DescribeDirectConnectGatewayAttachmentsOutput) String() string {
  9366  	return awsutil.Prettify(s)
  9367  }
  9368  
  9369  // GoString returns the string representation.
  9370  //
  9371  // API parameter values that are decorated as "sensitive" in the API will not
  9372  // be included in the string output. The member name will be present, but the
  9373  // value will be replaced with "sensitive".
  9374  func (s DescribeDirectConnectGatewayAttachmentsOutput) GoString() string {
  9375  	return s.String()
  9376  }
  9377  
  9378  // SetDirectConnectGatewayAttachments sets the DirectConnectGatewayAttachments field's value.
  9379  func (s *DescribeDirectConnectGatewayAttachmentsOutput) SetDirectConnectGatewayAttachments(v []*GatewayAttachment) *DescribeDirectConnectGatewayAttachmentsOutput {
  9380  	s.DirectConnectGatewayAttachments = v
  9381  	return s
  9382  }
  9383  
  9384  // SetNextToken sets the NextToken field's value.
  9385  func (s *DescribeDirectConnectGatewayAttachmentsOutput) SetNextToken(v string) *DescribeDirectConnectGatewayAttachmentsOutput {
  9386  	s.NextToken = &v
  9387  	return s
  9388  }
  9389  
  9390  type DescribeDirectConnectGatewaysInput struct {
  9391  	_ struct{} `type:"structure"`
  9392  
  9393  	// The ID of the Direct Connect gateway.
  9394  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
  9395  
  9396  	// The maximum number of results to return with a single call. To retrieve the
  9397  	// remaining results, make another call with the returned nextToken value.
  9398  	//
  9399  	// If MaxResults is given a value larger than 100, only 100 results are returned.
  9400  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
  9401  
  9402  	// The token provided in the previous call to retrieve the next page.
  9403  	NextToken *string `locationName:"nextToken" type:"string"`
  9404  }
  9405  
  9406  // String returns the string representation.
  9407  //
  9408  // API parameter values that are decorated as "sensitive" in the API will not
  9409  // be included in the string output. The member name will be present, but the
  9410  // value will be replaced with "sensitive".
  9411  func (s DescribeDirectConnectGatewaysInput) String() string {
  9412  	return awsutil.Prettify(s)
  9413  }
  9414  
  9415  // GoString returns the string representation.
  9416  //
  9417  // API parameter values that are decorated as "sensitive" in the API will not
  9418  // be included in the string output. The member name will be present, but the
  9419  // value will be replaced with "sensitive".
  9420  func (s DescribeDirectConnectGatewaysInput) GoString() string {
  9421  	return s.String()
  9422  }
  9423  
  9424  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
  9425  func (s *DescribeDirectConnectGatewaysInput) SetDirectConnectGatewayId(v string) *DescribeDirectConnectGatewaysInput {
  9426  	s.DirectConnectGatewayId = &v
  9427  	return s
  9428  }
  9429  
  9430  // SetMaxResults sets the MaxResults field's value.
  9431  func (s *DescribeDirectConnectGatewaysInput) SetMaxResults(v int64) *DescribeDirectConnectGatewaysInput {
  9432  	s.MaxResults = &v
  9433  	return s
  9434  }
  9435  
  9436  // SetNextToken sets the NextToken field's value.
  9437  func (s *DescribeDirectConnectGatewaysInput) SetNextToken(v string) *DescribeDirectConnectGatewaysInput {
  9438  	s.NextToken = &v
  9439  	return s
  9440  }
  9441  
  9442  type DescribeDirectConnectGatewaysOutput struct {
  9443  	_ struct{} `type:"structure"`
  9444  
  9445  	// The Direct Connect gateways.
  9446  	DirectConnectGateways []*Gateway `locationName:"directConnectGateways" type:"list"`
  9447  
  9448  	// The token to retrieve the next page.
  9449  	NextToken *string `locationName:"nextToken" type:"string"`
  9450  }
  9451  
  9452  // String returns the string representation.
  9453  //
  9454  // API parameter values that are decorated as "sensitive" in the API will not
  9455  // be included in the string output. The member name will be present, but the
  9456  // value will be replaced with "sensitive".
  9457  func (s DescribeDirectConnectGatewaysOutput) String() string {
  9458  	return awsutil.Prettify(s)
  9459  }
  9460  
  9461  // GoString returns the string representation.
  9462  //
  9463  // API parameter values that are decorated as "sensitive" in the API will not
  9464  // be included in the string output. The member name will be present, but the
  9465  // value will be replaced with "sensitive".
  9466  func (s DescribeDirectConnectGatewaysOutput) GoString() string {
  9467  	return s.String()
  9468  }
  9469  
  9470  // SetDirectConnectGateways sets the DirectConnectGateways field's value.
  9471  func (s *DescribeDirectConnectGatewaysOutput) SetDirectConnectGateways(v []*Gateway) *DescribeDirectConnectGatewaysOutput {
  9472  	s.DirectConnectGateways = v
  9473  	return s
  9474  }
  9475  
  9476  // SetNextToken sets the NextToken field's value.
  9477  func (s *DescribeDirectConnectGatewaysOutput) SetNextToken(v string) *DescribeDirectConnectGatewaysOutput {
  9478  	s.NextToken = &v
  9479  	return s
  9480  }
  9481  
  9482  type DescribeHostedConnectionsInput struct {
  9483  	_ struct{} `type:"structure"`
  9484  
  9485  	// The ID of the interconnect or LAG.
  9486  	//
  9487  	// ConnectionId is a required field
  9488  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  9489  }
  9490  
  9491  // String returns the string representation.
  9492  //
  9493  // API parameter values that are decorated as "sensitive" in the API will not
  9494  // be included in the string output. The member name will be present, but the
  9495  // value will be replaced with "sensitive".
  9496  func (s DescribeHostedConnectionsInput) String() string {
  9497  	return awsutil.Prettify(s)
  9498  }
  9499  
  9500  // GoString returns the string representation.
  9501  //
  9502  // API parameter values that are decorated as "sensitive" in the API will not
  9503  // be included in the string output. The member name will be present, but the
  9504  // value will be replaced with "sensitive".
  9505  func (s DescribeHostedConnectionsInput) GoString() string {
  9506  	return s.String()
  9507  }
  9508  
  9509  // Validate inspects the fields of the type to determine if they are valid.
  9510  func (s *DescribeHostedConnectionsInput) Validate() error {
  9511  	invalidParams := request.ErrInvalidParams{Context: "DescribeHostedConnectionsInput"}
  9512  	if s.ConnectionId == nil {
  9513  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  9514  	}
  9515  
  9516  	if invalidParams.Len() > 0 {
  9517  		return invalidParams
  9518  	}
  9519  	return nil
  9520  }
  9521  
  9522  // SetConnectionId sets the ConnectionId field's value.
  9523  func (s *DescribeHostedConnectionsInput) SetConnectionId(v string) *DescribeHostedConnectionsInput {
  9524  	s.ConnectionId = &v
  9525  	return s
  9526  }
  9527  
  9528  type DescribeInterconnectLoaInput struct {
  9529  	_ struct{} `type:"structure"`
  9530  
  9531  	// The ID of the interconnect.
  9532  	//
  9533  	// InterconnectId is a required field
  9534  	InterconnectId *string `locationName:"interconnectId" type:"string" required:"true"`
  9535  
  9536  	// The standard media type for the LOA-CFA document. The only supported value
  9537  	// is application/pdf.
  9538  	LoaContentType *string `locationName:"loaContentType" type:"string" enum:"LoaContentType"`
  9539  
  9540  	// The name of the service provider who establishes connectivity on your behalf.
  9541  	// If you supply this parameter, the LOA-CFA lists the provider name alongside
  9542  	// your company name as the requester of the cross connect.
  9543  	ProviderName *string `locationName:"providerName" type:"string"`
  9544  }
  9545  
  9546  // String returns the string representation.
  9547  //
  9548  // API parameter values that are decorated as "sensitive" in the API will not
  9549  // be included in the string output. The member name will be present, but the
  9550  // value will be replaced with "sensitive".
  9551  func (s DescribeInterconnectLoaInput) String() string {
  9552  	return awsutil.Prettify(s)
  9553  }
  9554  
  9555  // GoString returns the string representation.
  9556  //
  9557  // API parameter values that are decorated as "sensitive" in the API will not
  9558  // be included in the string output. The member name will be present, but the
  9559  // value will be replaced with "sensitive".
  9560  func (s DescribeInterconnectLoaInput) GoString() string {
  9561  	return s.String()
  9562  }
  9563  
  9564  // Validate inspects the fields of the type to determine if they are valid.
  9565  func (s *DescribeInterconnectLoaInput) Validate() error {
  9566  	invalidParams := request.ErrInvalidParams{Context: "DescribeInterconnectLoaInput"}
  9567  	if s.InterconnectId == nil {
  9568  		invalidParams.Add(request.NewErrParamRequired("InterconnectId"))
  9569  	}
  9570  
  9571  	if invalidParams.Len() > 0 {
  9572  		return invalidParams
  9573  	}
  9574  	return nil
  9575  }
  9576  
  9577  // SetInterconnectId sets the InterconnectId field's value.
  9578  func (s *DescribeInterconnectLoaInput) SetInterconnectId(v string) *DescribeInterconnectLoaInput {
  9579  	s.InterconnectId = &v
  9580  	return s
  9581  }
  9582  
  9583  // SetLoaContentType sets the LoaContentType field's value.
  9584  func (s *DescribeInterconnectLoaInput) SetLoaContentType(v string) *DescribeInterconnectLoaInput {
  9585  	s.LoaContentType = &v
  9586  	return s
  9587  }
  9588  
  9589  // SetProviderName sets the ProviderName field's value.
  9590  func (s *DescribeInterconnectLoaInput) SetProviderName(v string) *DescribeInterconnectLoaInput {
  9591  	s.ProviderName = &v
  9592  	return s
  9593  }
  9594  
  9595  type DescribeInterconnectLoaOutput struct {
  9596  	_ struct{} `type:"structure"`
  9597  
  9598  	// The Letter of Authorization - Connecting Facility Assignment (LOA-CFA).
  9599  	Loa *Loa `locationName:"loa" type:"structure"`
  9600  }
  9601  
  9602  // String returns the string representation.
  9603  //
  9604  // API parameter values that are decorated as "sensitive" in the API will not
  9605  // be included in the string output. The member name will be present, but the
  9606  // value will be replaced with "sensitive".
  9607  func (s DescribeInterconnectLoaOutput) String() string {
  9608  	return awsutil.Prettify(s)
  9609  }
  9610  
  9611  // GoString returns the string representation.
  9612  //
  9613  // API parameter values that are decorated as "sensitive" in the API will not
  9614  // be included in the string output. The member name will be present, but the
  9615  // value will be replaced with "sensitive".
  9616  func (s DescribeInterconnectLoaOutput) GoString() string {
  9617  	return s.String()
  9618  }
  9619  
  9620  // SetLoa sets the Loa field's value.
  9621  func (s *DescribeInterconnectLoaOutput) SetLoa(v *Loa) *DescribeInterconnectLoaOutput {
  9622  	s.Loa = v
  9623  	return s
  9624  }
  9625  
  9626  type DescribeInterconnectsInput struct {
  9627  	_ struct{} `type:"structure"`
  9628  
  9629  	// The ID of the interconnect.
  9630  	InterconnectId *string `locationName:"interconnectId" type:"string"`
  9631  }
  9632  
  9633  // String returns the string representation.
  9634  //
  9635  // API parameter values that are decorated as "sensitive" in the API will not
  9636  // be included in the string output. The member name will be present, but the
  9637  // value will be replaced with "sensitive".
  9638  func (s DescribeInterconnectsInput) String() string {
  9639  	return awsutil.Prettify(s)
  9640  }
  9641  
  9642  // GoString returns the string representation.
  9643  //
  9644  // API parameter values that are decorated as "sensitive" in the API will not
  9645  // be included in the string output. The member name will be present, but the
  9646  // value will be replaced with "sensitive".
  9647  func (s DescribeInterconnectsInput) GoString() string {
  9648  	return s.String()
  9649  }
  9650  
  9651  // SetInterconnectId sets the InterconnectId field's value.
  9652  func (s *DescribeInterconnectsInput) SetInterconnectId(v string) *DescribeInterconnectsInput {
  9653  	s.InterconnectId = &v
  9654  	return s
  9655  }
  9656  
  9657  type DescribeInterconnectsOutput struct {
  9658  	_ struct{} `type:"structure"`
  9659  
  9660  	// The interconnects.
  9661  	Interconnects []*Interconnect `locationName:"interconnects" type:"list"`
  9662  }
  9663  
  9664  // String returns the string representation.
  9665  //
  9666  // API parameter values that are decorated as "sensitive" in the API will not
  9667  // be included in the string output. The member name will be present, but the
  9668  // value will be replaced with "sensitive".
  9669  func (s DescribeInterconnectsOutput) String() string {
  9670  	return awsutil.Prettify(s)
  9671  }
  9672  
  9673  // GoString returns the string representation.
  9674  //
  9675  // API parameter values that are decorated as "sensitive" in the API will not
  9676  // be included in the string output. The member name will be present, but the
  9677  // value will be replaced with "sensitive".
  9678  func (s DescribeInterconnectsOutput) GoString() string {
  9679  	return s.String()
  9680  }
  9681  
  9682  // SetInterconnects sets the Interconnects field's value.
  9683  func (s *DescribeInterconnectsOutput) SetInterconnects(v []*Interconnect) *DescribeInterconnectsOutput {
  9684  	s.Interconnects = v
  9685  	return s
  9686  }
  9687  
  9688  type DescribeLagsInput struct {
  9689  	_ struct{} `type:"structure"`
  9690  
  9691  	// The ID of the LAG.
  9692  	LagId *string `locationName:"lagId" type:"string"`
  9693  }
  9694  
  9695  // String returns the string representation.
  9696  //
  9697  // API parameter values that are decorated as "sensitive" in the API will not
  9698  // be included in the string output. The member name will be present, but the
  9699  // value will be replaced with "sensitive".
  9700  func (s DescribeLagsInput) String() string {
  9701  	return awsutil.Prettify(s)
  9702  }
  9703  
  9704  // GoString returns the string representation.
  9705  //
  9706  // API parameter values that are decorated as "sensitive" in the API will not
  9707  // be included in the string output. The member name will be present, but the
  9708  // value will be replaced with "sensitive".
  9709  func (s DescribeLagsInput) GoString() string {
  9710  	return s.String()
  9711  }
  9712  
  9713  // SetLagId sets the LagId field's value.
  9714  func (s *DescribeLagsInput) SetLagId(v string) *DescribeLagsInput {
  9715  	s.LagId = &v
  9716  	return s
  9717  }
  9718  
  9719  type DescribeLagsOutput struct {
  9720  	_ struct{} `type:"structure"`
  9721  
  9722  	// The LAGs.
  9723  	Lags []*Lag `locationName:"lags" type:"list"`
  9724  }
  9725  
  9726  // String returns the string representation.
  9727  //
  9728  // API parameter values that are decorated as "sensitive" in the API will not
  9729  // be included in the string output. The member name will be present, but the
  9730  // value will be replaced with "sensitive".
  9731  func (s DescribeLagsOutput) String() string {
  9732  	return awsutil.Prettify(s)
  9733  }
  9734  
  9735  // GoString returns the string representation.
  9736  //
  9737  // API parameter values that are decorated as "sensitive" in the API will not
  9738  // be included in the string output. The member name will be present, but the
  9739  // value will be replaced with "sensitive".
  9740  func (s DescribeLagsOutput) GoString() string {
  9741  	return s.String()
  9742  }
  9743  
  9744  // SetLags sets the Lags field's value.
  9745  func (s *DescribeLagsOutput) SetLags(v []*Lag) *DescribeLagsOutput {
  9746  	s.Lags = v
  9747  	return s
  9748  }
  9749  
  9750  type DescribeLoaInput struct {
  9751  	_ struct{} `type:"structure"`
  9752  
  9753  	// The ID of a connection, LAG, or interconnect.
  9754  	//
  9755  	// ConnectionId is a required field
  9756  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
  9757  
  9758  	// The standard media type for the LOA-CFA document. The only supported value
  9759  	// is application/pdf.
  9760  	LoaContentType *string `locationName:"loaContentType" type:"string" enum:"LoaContentType"`
  9761  
  9762  	// The name of the service provider who establishes connectivity on your behalf.
  9763  	// If you specify this parameter, the LOA-CFA lists the provider name alongside
  9764  	// your company name as the requester of the cross connect.
  9765  	ProviderName *string `locationName:"providerName" type:"string"`
  9766  }
  9767  
  9768  // String returns the string representation.
  9769  //
  9770  // API parameter values that are decorated as "sensitive" in the API will not
  9771  // be included in the string output. The member name will be present, but the
  9772  // value will be replaced with "sensitive".
  9773  func (s DescribeLoaInput) String() string {
  9774  	return awsutil.Prettify(s)
  9775  }
  9776  
  9777  // GoString returns the string representation.
  9778  //
  9779  // API parameter values that are decorated as "sensitive" in the API will not
  9780  // be included in the string output. The member name will be present, but the
  9781  // value will be replaced with "sensitive".
  9782  func (s DescribeLoaInput) GoString() string {
  9783  	return s.String()
  9784  }
  9785  
  9786  // Validate inspects the fields of the type to determine if they are valid.
  9787  func (s *DescribeLoaInput) Validate() error {
  9788  	invalidParams := request.ErrInvalidParams{Context: "DescribeLoaInput"}
  9789  	if s.ConnectionId == nil {
  9790  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  9791  	}
  9792  
  9793  	if invalidParams.Len() > 0 {
  9794  		return invalidParams
  9795  	}
  9796  	return nil
  9797  }
  9798  
  9799  // SetConnectionId sets the ConnectionId field's value.
  9800  func (s *DescribeLoaInput) SetConnectionId(v string) *DescribeLoaInput {
  9801  	s.ConnectionId = &v
  9802  	return s
  9803  }
  9804  
  9805  // SetLoaContentType sets the LoaContentType field's value.
  9806  func (s *DescribeLoaInput) SetLoaContentType(v string) *DescribeLoaInput {
  9807  	s.LoaContentType = &v
  9808  	return s
  9809  }
  9810  
  9811  // SetProviderName sets the ProviderName field's value.
  9812  func (s *DescribeLoaInput) SetProviderName(v string) *DescribeLoaInput {
  9813  	s.ProviderName = &v
  9814  	return s
  9815  }
  9816  
  9817  type DescribeLocationsInput struct {
  9818  	_ struct{} `type:"structure"`
  9819  }
  9820  
  9821  // String returns the string representation.
  9822  //
  9823  // API parameter values that are decorated as "sensitive" in the API will not
  9824  // be included in the string output. The member name will be present, but the
  9825  // value will be replaced with "sensitive".
  9826  func (s DescribeLocationsInput) String() string {
  9827  	return awsutil.Prettify(s)
  9828  }
  9829  
  9830  // GoString returns the string representation.
  9831  //
  9832  // API parameter values that are decorated as "sensitive" in the API will not
  9833  // be included in the string output. The member name will be present, but the
  9834  // value will be replaced with "sensitive".
  9835  func (s DescribeLocationsInput) GoString() string {
  9836  	return s.String()
  9837  }
  9838  
  9839  type DescribeLocationsOutput struct {
  9840  	_ struct{} `type:"structure"`
  9841  
  9842  	// The locations.
  9843  	Locations []*Location `locationName:"locations" type:"list"`
  9844  }
  9845  
  9846  // String returns the string representation.
  9847  //
  9848  // API parameter values that are decorated as "sensitive" in the API will not
  9849  // be included in the string output. The member name will be present, but the
  9850  // value will be replaced with "sensitive".
  9851  func (s DescribeLocationsOutput) String() string {
  9852  	return awsutil.Prettify(s)
  9853  }
  9854  
  9855  // GoString returns the string representation.
  9856  //
  9857  // API parameter values that are decorated as "sensitive" in the API will not
  9858  // be included in the string output. The member name will be present, but the
  9859  // value will be replaced with "sensitive".
  9860  func (s DescribeLocationsOutput) GoString() string {
  9861  	return s.String()
  9862  }
  9863  
  9864  // SetLocations sets the Locations field's value.
  9865  func (s *DescribeLocationsOutput) SetLocations(v []*Location) *DescribeLocationsOutput {
  9866  	s.Locations = v
  9867  	return s
  9868  }
  9869  
  9870  type DescribeTagsInput struct {
  9871  	_ struct{} `type:"structure"`
  9872  
  9873  	// The Amazon Resource Names (ARNs) of the resources.
  9874  	//
  9875  	// ResourceArns is a required field
  9876  	ResourceArns []*string `locationName:"resourceArns" type:"list" required:"true"`
  9877  }
  9878  
  9879  // String returns the string representation.
  9880  //
  9881  // API parameter values that are decorated as "sensitive" in the API will not
  9882  // be included in the string output. The member name will be present, but the
  9883  // value will be replaced with "sensitive".
  9884  func (s DescribeTagsInput) String() string {
  9885  	return awsutil.Prettify(s)
  9886  }
  9887  
  9888  // GoString returns the string representation.
  9889  //
  9890  // API parameter values that are decorated as "sensitive" in the API will not
  9891  // be included in the string output. The member name will be present, but the
  9892  // value will be replaced with "sensitive".
  9893  func (s DescribeTagsInput) GoString() string {
  9894  	return s.String()
  9895  }
  9896  
  9897  // Validate inspects the fields of the type to determine if they are valid.
  9898  func (s *DescribeTagsInput) Validate() error {
  9899  	invalidParams := request.ErrInvalidParams{Context: "DescribeTagsInput"}
  9900  	if s.ResourceArns == nil {
  9901  		invalidParams.Add(request.NewErrParamRequired("ResourceArns"))
  9902  	}
  9903  
  9904  	if invalidParams.Len() > 0 {
  9905  		return invalidParams
  9906  	}
  9907  	return nil
  9908  }
  9909  
  9910  // SetResourceArns sets the ResourceArns field's value.
  9911  func (s *DescribeTagsInput) SetResourceArns(v []*string) *DescribeTagsInput {
  9912  	s.ResourceArns = v
  9913  	return s
  9914  }
  9915  
  9916  type DescribeTagsOutput struct {
  9917  	_ struct{} `type:"structure"`
  9918  
  9919  	// Information about the tags.
  9920  	ResourceTags []*ResourceTag `locationName:"resourceTags" type:"list"`
  9921  }
  9922  
  9923  // String returns the string representation.
  9924  //
  9925  // API parameter values that are decorated as "sensitive" in the API will not
  9926  // be included in the string output. The member name will be present, but the
  9927  // value will be replaced with "sensitive".
  9928  func (s DescribeTagsOutput) String() string {
  9929  	return awsutil.Prettify(s)
  9930  }
  9931  
  9932  // GoString returns the string representation.
  9933  //
  9934  // API parameter values that are decorated as "sensitive" in the API will not
  9935  // be included in the string output. The member name will be present, but the
  9936  // value will be replaced with "sensitive".
  9937  func (s DescribeTagsOutput) GoString() string {
  9938  	return s.String()
  9939  }
  9940  
  9941  // SetResourceTags sets the ResourceTags field's value.
  9942  func (s *DescribeTagsOutput) SetResourceTags(v []*ResourceTag) *DescribeTagsOutput {
  9943  	s.ResourceTags = v
  9944  	return s
  9945  }
  9946  
  9947  type DescribeVirtualGatewaysInput struct {
  9948  	_ struct{} `type:"structure"`
  9949  }
  9950  
  9951  // String returns the string representation.
  9952  //
  9953  // API parameter values that are decorated as "sensitive" in the API will not
  9954  // be included in the string output. The member name will be present, but the
  9955  // value will be replaced with "sensitive".
  9956  func (s DescribeVirtualGatewaysInput) String() string {
  9957  	return awsutil.Prettify(s)
  9958  }
  9959  
  9960  // GoString returns the string representation.
  9961  //
  9962  // API parameter values that are decorated as "sensitive" in the API will not
  9963  // be included in the string output. The member name will be present, but the
  9964  // value will be replaced with "sensitive".
  9965  func (s DescribeVirtualGatewaysInput) GoString() string {
  9966  	return s.String()
  9967  }
  9968  
  9969  type DescribeVirtualGatewaysOutput struct {
  9970  	_ struct{} `type:"structure"`
  9971  
  9972  	// The virtual private gateways.
  9973  	VirtualGateways []*VirtualGateway `locationName:"virtualGateways" type:"list"`
  9974  }
  9975  
  9976  // String returns the string representation.
  9977  //
  9978  // API parameter values that are decorated as "sensitive" in the API will not
  9979  // be included in the string output. The member name will be present, but the
  9980  // value will be replaced with "sensitive".
  9981  func (s DescribeVirtualGatewaysOutput) String() string {
  9982  	return awsutil.Prettify(s)
  9983  }
  9984  
  9985  // GoString returns the string representation.
  9986  //
  9987  // API parameter values that are decorated as "sensitive" in the API will not
  9988  // be included in the string output. The member name will be present, but the
  9989  // value will be replaced with "sensitive".
  9990  func (s DescribeVirtualGatewaysOutput) GoString() string {
  9991  	return s.String()
  9992  }
  9993  
  9994  // SetVirtualGateways sets the VirtualGateways field's value.
  9995  func (s *DescribeVirtualGatewaysOutput) SetVirtualGateways(v []*VirtualGateway) *DescribeVirtualGatewaysOutput {
  9996  	s.VirtualGateways = v
  9997  	return s
  9998  }
  9999  
 10000  type DescribeVirtualInterfacesInput struct {
 10001  	_ struct{} `type:"structure"`
 10002  
 10003  	// The ID of the connection.
 10004  	ConnectionId *string `locationName:"connectionId" type:"string"`
 10005  
 10006  	// The ID of the virtual interface.
 10007  	VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"`
 10008  }
 10009  
 10010  // String returns the string representation.
 10011  //
 10012  // API parameter values that are decorated as "sensitive" in the API will not
 10013  // be included in the string output. The member name will be present, but the
 10014  // value will be replaced with "sensitive".
 10015  func (s DescribeVirtualInterfacesInput) String() string {
 10016  	return awsutil.Prettify(s)
 10017  }
 10018  
 10019  // GoString returns the string representation.
 10020  //
 10021  // API parameter values that are decorated as "sensitive" in the API will not
 10022  // be included in the string output. The member name will be present, but the
 10023  // value will be replaced with "sensitive".
 10024  func (s DescribeVirtualInterfacesInput) GoString() string {
 10025  	return s.String()
 10026  }
 10027  
 10028  // SetConnectionId sets the ConnectionId field's value.
 10029  func (s *DescribeVirtualInterfacesInput) SetConnectionId(v string) *DescribeVirtualInterfacesInput {
 10030  	s.ConnectionId = &v
 10031  	return s
 10032  }
 10033  
 10034  // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
 10035  func (s *DescribeVirtualInterfacesInput) SetVirtualInterfaceId(v string) *DescribeVirtualInterfacesInput {
 10036  	s.VirtualInterfaceId = &v
 10037  	return s
 10038  }
 10039  
 10040  type DescribeVirtualInterfacesOutput struct {
 10041  	_ struct{} `type:"structure"`
 10042  
 10043  	// The virtual interfaces
 10044  	VirtualInterfaces []*VirtualInterface `locationName:"virtualInterfaces" type:"list"`
 10045  }
 10046  
 10047  // String returns the string representation.
 10048  //
 10049  // API parameter values that are decorated as "sensitive" in the API will not
 10050  // be included in the string output. The member name will be present, but the
 10051  // value will be replaced with "sensitive".
 10052  func (s DescribeVirtualInterfacesOutput) String() string {
 10053  	return awsutil.Prettify(s)
 10054  }
 10055  
 10056  // GoString returns the string representation.
 10057  //
 10058  // API parameter values that are decorated as "sensitive" in the API will not
 10059  // be included in the string output. The member name will be present, but the
 10060  // value will be replaced with "sensitive".
 10061  func (s DescribeVirtualInterfacesOutput) GoString() string {
 10062  	return s.String()
 10063  }
 10064  
 10065  // SetVirtualInterfaces sets the VirtualInterfaces field's value.
 10066  func (s *DescribeVirtualInterfacesOutput) SetVirtualInterfaces(v []*VirtualInterface) *DescribeVirtualInterfacesOutput {
 10067  	s.VirtualInterfaces = v
 10068  	return s
 10069  }
 10070  
 10071  type DisassociateConnectionFromLagInput struct {
 10072  	_ struct{} `type:"structure"`
 10073  
 10074  	// The ID of the connection.
 10075  	//
 10076  	// ConnectionId is a required field
 10077  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
 10078  
 10079  	// The ID of the LAG.
 10080  	//
 10081  	// LagId is a required field
 10082  	LagId *string `locationName:"lagId" type:"string" required:"true"`
 10083  }
 10084  
 10085  // String returns the string representation.
 10086  //
 10087  // API parameter values that are decorated as "sensitive" in the API will not
 10088  // be included in the string output. The member name will be present, but the
 10089  // value will be replaced with "sensitive".
 10090  func (s DisassociateConnectionFromLagInput) String() string {
 10091  	return awsutil.Prettify(s)
 10092  }
 10093  
 10094  // GoString returns the string representation.
 10095  //
 10096  // API parameter values that are decorated as "sensitive" in the API will not
 10097  // be included in the string output. The member name will be present, but the
 10098  // value will be replaced with "sensitive".
 10099  func (s DisassociateConnectionFromLagInput) GoString() string {
 10100  	return s.String()
 10101  }
 10102  
 10103  // Validate inspects the fields of the type to determine if they are valid.
 10104  func (s *DisassociateConnectionFromLagInput) Validate() error {
 10105  	invalidParams := request.ErrInvalidParams{Context: "DisassociateConnectionFromLagInput"}
 10106  	if s.ConnectionId == nil {
 10107  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
 10108  	}
 10109  	if s.LagId == nil {
 10110  		invalidParams.Add(request.NewErrParamRequired("LagId"))
 10111  	}
 10112  
 10113  	if invalidParams.Len() > 0 {
 10114  		return invalidParams
 10115  	}
 10116  	return nil
 10117  }
 10118  
 10119  // SetConnectionId sets the ConnectionId field's value.
 10120  func (s *DisassociateConnectionFromLagInput) SetConnectionId(v string) *DisassociateConnectionFromLagInput {
 10121  	s.ConnectionId = &v
 10122  	return s
 10123  }
 10124  
 10125  // SetLagId sets the LagId field's value.
 10126  func (s *DisassociateConnectionFromLagInput) SetLagId(v string) *DisassociateConnectionFromLagInput {
 10127  	s.LagId = &v
 10128  	return s
 10129  }
 10130  
 10131  type DisassociateMacSecKeyInput struct {
 10132  	_ struct{} `type:"structure"`
 10133  
 10134  	// The ID of the dedicated connection (dxcon-xxxx), or the ID of the LAG (dxlag-xxxx).
 10135  	//
 10136  	// You can use DescribeConnections or DescribeLags to retrieve connection ID.
 10137  	//
 10138  	// ConnectionId is a required field
 10139  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
 10140  
 10141  	// The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key.
 10142  	//
 10143  	// You can use DescribeConnections to retrieve the ARN of the MAC Security (MACsec)
 10144  	// secret key.
 10145  	//
 10146  	// SecretARN is a required field
 10147  	SecretARN *string `locationName:"secretARN" type:"string" required:"true"`
 10148  }
 10149  
 10150  // String returns the string representation.
 10151  //
 10152  // API parameter values that are decorated as "sensitive" in the API will not
 10153  // be included in the string output. The member name will be present, but the
 10154  // value will be replaced with "sensitive".
 10155  func (s DisassociateMacSecKeyInput) String() string {
 10156  	return awsutil.Prettify(s)
 10157  }
 10158  
 10159  // GoString returns the string representation.
 10160  //
 10161  // API parameter values that are decorated as "sensitive" in the API will not
 10162  // be included in the string output. The member name will be present, but the
 10163  // value will be replaced with "sensitive".
 10164  func (s DisassociateMacSecKeyInput) GoString() string {
 10165  	return s.String()
 10166  }
 10167  
 10168  // Validate inspects the fields of the type to determine if they are valid.
 10169  func (s *DisassociateMacSecKeyInput) Validate() error {
 10170  	invalidParams := request.ErrInvalidParams{Context: "DisassociateMacSecKeyInput"}
 10171  	if s.ConnectionId == nil {
 10172  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
 10173  	}
 10174  	if s.SecretARN == nil {
 10175  		invalidParams.Add(request.NewErrParamRequired("SecretARN"))
 10176  	}
 10177  
 10178  	if invalidParams.Len() > 0 {
 10179  		return invalidParams
 10180  	}
 10181  	return nil
 10182  }
 10183  
 10184  // SetConnectionId sets the ConnectionId field's value.
 10185  func (s *DisassociateMacSecKeyInput) SetConnectionId(v string) *DisassociateMacSecKeyInput {
 10186  	s.ConnectionId = &v
 10187  	return s
 10188  }
 10189  
 10190  // SetSecretARN sets the SecretARN field's value.
 10191  func (s *DisassociateMacSecKeyInput) SetSecretARN(v string) *DisassociateMacSecKeyInput {
 10192  	s.SecretARN = &v
 10193  	return s
 10194  }
 10195  
 10196  type DisassociateMacSecKeyOutput struct {
 10197  	_ struct{} `type:"structure"`
 10198  
 10199  	// The ID of the dedicated connection (dxcon-xxxx), or the ID of the LAG (dxlag-xxxx).
 10200  	ConnectionId *string `locationName:"connectionId" type:"string"`
 10201  
 10202  	// The MAC Security (MACsec) security keys no longer associated with the dedicated
 10203  	// connection.
 10204  	MacSecKeys []*MacSecKey `locationName:"macSecKeys" type:"list"`
 10205  }
 10206  
 10207  // String returns the string representation.
 10208  //
 10209  // API parameter values that are decorated as "sensitive" in the API will not
 10210  // be included in the string output. The member name will be present, but the
 10211  // value will be replaced with "sensitive".
 10212  func (s DisassociateMacSecKeyOutput) String() string {
 10213  	return awsutil.Prettify(s)
 10214  }
 10215  
 10216  // GoString returns the string representation.
 10217  //
 10218  // API parameter values that are decorated as "sensitive" in the API will not
 10219  // be included in the string output. The member name will be present, but the
 10220  // value will be replaced with "sensitive".
 10221  func (s DisassociateMacSecKeyOutput) GoString() string {
 10222  	return s.String()
 10223  }
 10224  
 10225  // SetConnectionId sets the ConnectionId field's value.
 10226  func (s *DisassociateMacSecKeyOutput) SetConnectionId(v string) *DisassociateMacSecKeyOutput {
 10227  	s.ConnectionId = &v
 10228  	return s
 10229  }
 10230  
 10231  // SetMacSecKeys sets the MacSecKeys field's value.
 10232  func (s *DisassociateMacSecKeyOutput) SetMacSecKeys(v []*MacSecKey) *DisassociateMacSecKeyOutput {
 10233  	s.MacSecKeys = v
 10234  	return s
 10235  }
 10236  
 10237  // A tag key was specified more than once.
 10238  type DuplicateTagKeysException struct {
 10239  	_            struct{}                  `type:"structure"`
 10240  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10241  
 10242  	Message_ *string `locationName:"message" type:"string"`
 10243  }
 10244  
 10245  // String returns the string representation.
 10246  //
 10247  // API parameter values that are decorated as "sensitive" in the API will not
 10248  // be included in the string output. The member name will be present, but the
 10249  // value will be replaced with "sensitive".
 10250  func (s DuplicateTagKeysException) String() string {
 10251  	return awsutil.Prettify(s)
 10252  }
 10253  
 10254  // GoString returns the string representation.
 10255  //
 10256  // API parameter values that are decorated as "sensitive" in the API will not
 10257  // be included in the string output. The member name will be present, but the
 10258  // value will be replaced with "sensitive".
 10259  func (s DuplicateTagKeysException) GoString() string {
 10260  	return s.String()
 10261  }
 10262  
 10263  func newErrorDuplicateTagKeysException(v protocol.ResponseMetadata) error {
 10264  	return &DuplicateTagKeysException{
 10265  		RespMetadata: v,
 10266  	}
 10267  }
 10268  
 10269  // Code returns the exception type name.
 10270  func (s *DuplicateTagKeysException) Code() string {
 10271  	return "DuplicateTagKeysException"
 10272  }
 10273  
 10274  // Message returns the exception's message.
 10275  func (s *DuplicateTagKeysException) Message() string {
 10276  	if s.Message_ != nil {
 10277  		return *s.Message_
 10278  	}
 10279  	return ""
 10280  }
 10281  
 10282  // OrigErr always returns nil, satisfies awserr.Error interface.
 10283  func (s *DuplicateTagKeysException) OrigErr() error {
 10284  	return nil
 10285  }
 10286  
 10287  func (s *DuplicateTagKeysException) Error() string {
 10288  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10289  }
 10290  
 10291  // Status code returns the HTTP status code for the request's response error.
 10292  func (s *DuplicateTagKeysException) StatusCode() int {
 10293  	return s.RespMetadata.StatusCode
 10294  }
 10295  
 10296  // RequestID returns the service's response RequestID for request.
 10297  func (s *DuplicateTagKeysException) RequestID() string {
 10298  	return s.RespMetadata.RequestID
 10299  }
 10300  
 10301  // Information about a Direct Connect gateway, which enables you to connect
 10302  // virtual interfaces and virtual private gateway or transit gateways.
 10303  type Gateway struct {
 10304  	_ struct{} `type:"structure"`
 10305  
 10306  	// The autonomous system number (ASN) for the Amazon side of the connection.
 10307  	AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
 10308  
 10309  	// The ID of the Direct Connect gateway.
 10310  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
 10311  
 10312  	// The name of the Direct Connect gateway.
 10313  	DirectConnectGatewayName *string `locationName:"directConnectGatewayName" type:"string"`
 10314  
 10315  	// The state of the Direct Connect gateway. The following are the possible values:
 10316  	//
 10317  	//    * pending: The initial state after calling CreateDirectConnectGateway.
 10318  	//
 10319  	//    * available: The Direct Connect gateway is ready for use.
 10320  	//
 10321  	//    * deleting: The initial state after calling DeleteDirectConnectGateway.
 10322  	//
 10323  	//    * deleted: The Direct Connect gateway is deleted and cannot pass traffic.
 10324  	DirectConnectGatewayState *string `locationName:"directConnectGatewayState" type:"string" enum:"GatewayState"`
 10325  
 10326  	// The ID of the account that owns the Direct Connect gateway.
 10327  	OwnerAccount *string `locationName:"ownerAccount" type:"string"`
 10328  
 10329  	// The error message if the state of an object failed to advance.
 10330  	StateChangeError *string `locationName:"stateChangeError" type:"string"`
 10331  }
 10332  
 10333  // String returns the string representation.
 10334  //
 10335  // API parameter values that are decorated as "sensitive" in the API will not
 10336  // be included in the string output. The member name will be present, but the
 10337  // value will be replaced with "sensitive".
 10338  func (s Gateway) String() string {
 10339  	return awsutil.Prettify(s)
 10340  }
 10341  
 10342  // GoString returns the string representation.
 10343  //
 10344  // API parameter values that are decorated as "sensitive" in the API will not
 10345  // be included in the string output. The member name will be present, but the
 10346  // value will be replaced with "sensitive".
 10347  func (s Gateway) GoString() string {
 10348  	return s.String()
 10349  }
 10350  
 10351  // SetAmazonSideAsn sets the AmazonSideAsn field's value.
 10352  func (s *Gateway) SetAmazonSideAsn(v int64) *Gateway {
 10353  	s.AmazonSideAsn = &v
 10354  	return s
 10355  }
 10356  
 10357  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
 10358  func (s *Gateway) SetDirectConnectGatewayId(v string) *Gateway {
 10359  	s.DirectConnectGatewayId = &v
 10360  	return s
 10361  }
 10362  
 10363  // SetDirectConnectGatewayName sets the DirectConnectGatewayName field's value.
 10364  func (s *Gateway) SetDirectConnectGatewayName(v string) *Gateway {
 10365  	s.DirectConnectGatewayName = &v
 10366  	return s
 10367  }
 10368  
 10369  // SetDirectConnectGatewayState sets the DirectConnectGatewayState field's value.
 10370  func (s *Gateway) SetDirectConnectGatewayState(v string) *Gateway {
 10371  	s.DirectConnectGatewayState = &v
 10372  	return s
 10373  }
 10374  
 10375  // SetOwnerAccount sets the OwnerAccount field's value.
 10376  func (s *Gateway) SetOwnerAccount(v string) *Gateway {
 10377  	s.OwnerAccount = &v
 10378  	return s
 10379  }
 10380  
 10381  // SetStateChangeError sets the StateChangeError field's value.
 10382  func (s *Gateway) SetStateChangeError(v string) *Gateway {
 10383  	s.StateChangeError = &v
 10384  	return s
 10385  }
 10386  
 10387  // Information about an association between a Direct Connect gateway and a virtual
 10388  // private gateway or transit gateway.
 10389  type GatewayAssociation struct {
 10390  	_ struct{} `type:"structure"`
 10391  
 10392  	// The Amazon VPC prefixes to advertise to the Direct Connect gateway.
 10393  	AllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"allowedPrefixesToDirectConnectGateway" type:"list"`
 10394  
 10395  	// Information about the associated gateway.
 10396  	AssociatedGateway *AssociatedGateway `locationName:"associatedGateway" type:"structure"`
 10397  
 10398  	// The ID of the Direct Connect gateway association.
 10399  	AssociationId *string `locationName:"associationId" type:"string"`
 10400  
 10401  	// The state of the association. The following are the possible values:
 10402  	//
 10403  	//    * associating: The initial state after calling CreateDirectConnectGatewayAssociation.
 10404  	//
 10405  	//    * associated: The Direct Connect gateway and virtual private gateway or
 10406  	//    transit gateway are successfully associated and ready to pass traffic.
 10407  	//
 10408  	//    * disassociating: The initial state after calling DeleteDirectConnectGatewayAssociation.
 10409  	//
 10410  	//    * disassociated: The virtual private gateway or transit gateway is disassociated
 10411  	//    from the Direct Connect gateway. Traffic flow between the Direct Connect
 10412  	//    gateway and virtual private gateway or transit gateway is stopped.
 10413  	AssociationState *string `locationName:"associationState" type:"string" enum:"GatewayAssociationState"`
 10414  
 10415  	// The ID of the Direct Connect gateway.
 10416  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
 10417  
 10418  	// The ID of the account that owns the associated gateway.
 10419  	DirectConnectGatewayOwnerAccount *string `locationName:"directConnectGatewayOwnerAccount" type:"string"`
 10420  
 10421  	// The error message if the state of an object failed to advance.
 10422  	StateChangeError *string `locationName:"stateChangeError" type:"string"`
 10423  
 10424  	// The ID of the virtual private gateway. Applies only to private virtual interfaces.
 10425  	VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"`
 10426  
 10427  	// The ID of the account that owns the virtual private gateway.
 10428  	VirtualGatewayOwnerAccount *string `locationName:"virtualGatewayOwnerAccount" type:"string"`
 10429  
 10430  	// The Region where the virtual private gateway is located.
 10431  	VirtualGatewayRegion *string `locationName:"virtualGatewayRegion" deprecated:"true" type:"string"`
 10432  }
 10433  
 10434  // String returns the string representation.
 10435  //
 10436  // API parameter values that are decorated as "sensitive" in the API will not
 10437  // be included in the string output. The member name will be present, but the
 10438  // value will be replaced with "sensitive".
 10439  func (s GatewayAssociation) String() string {
 10440  	return awsutil.Prettify(s)
 10441  }
 10442  
 10443  // GoString returns the string representation.
 10444  //
 10445  // API parameter values that are decorated as "sensitive" in the API will not
 10446  // be included in the string output. The member name will be present, but the
 10447  // value will be replaced with "sensitive".
 10448  func (s GatewayAssociation) GoString() string {
 10449  	return s.String()
 10450  }
 10451  
 10452  // SetAllowedPrefixesToDirectConnectGateway sets the AllowedPrefixesToDirectConnectGateway field's value.
 10453  func (s *GatewayAssociation) SetAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *GatewayAssociation {
 10454  	s.AllowedPrefixesToDirectConnectGateway = v
 10455  	return s
 10456  }
 10457  
 10458  // SetAssociatedGateway sets the AssociatedGateway field's value.
 10459  func (s *GatewayAssociation) SetAssociatedGateway(v *AssociatedGateway) *GatewayAssociation {
 10460  	s.AssociatedGateway = v
 10461  	return s
 10462  }
 10463  
 10464  // SetAssociationId sets the AssociationId field's value.
 10465  func (s *GatewayAssociation) SetAssociationId(v string) *GatewayAssociation {
 10466  	s.AssociationId = &v
 10467  	return s
 10468  }
 10469  
 10470  // SetAssociationState sets the AssociationState field's value.
 10471  func (s *GatewayAssociation) SetAssociationState(v string) *GatewayAssociation {
 10472  	s.AssociationState = &v
 10473  	return s
 10474  }
 10475  
 10476  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
 10477  func (s *GatewayAssociation) SetDirectConnectGatewayId(v string) *GatewayAssociation {
 10478  	s.DirectConnectGatewayId = &v
 10479  	return s
 10480  }
 10481  
 10482  // SetDirectConnectGatewayOwnerAccount sets the DirectConnectGatewayOwnerAccount field's value.
 10483  func (s *GatewayAssociation) SetDirectConnectGatewayOwnerAccount(v string) *GatewayAssociation {
 10484  	s.DirectConnectGatewayOwnerAccount = &v
 10485  	return s
 10486  }
 10487  
 10488  // SetStateChangeError sets the StateChangeError field's value.
 10489  func (s *GatewayAssociation) SetStateChangeError(v string) *GatewayAssociation {
 10490  	s.StateChangeError = &v
 10491  	return s
 10492  }
 10493  
 10494  // SetVirtualGatewayId sets the VirtualGatewayId field's value.
 10495  func (s *GatewayAssociation) SetVirtualGatewayId(v string) *GatewayAssociation {
 10496  	s.VirtualGatewayId = &v
 10497  	return s
 10498  }
 10499  
 10500  // SetVirtualGatewayOwnerAccount sets the VirtualGatewayOwnerAccount field's value.
 10501  func (s *GatewayAssociation) SetVirtualGatewayOwnerAccount(v string) *GatewayAssociation {
 10502  	s.VirtualGatewayOwnerAccount = &v
 10503  	return s
 10504  }
 10505  
 10506  // SetVirtualGatewayRegion sets the VirtualGatewayRegion field's value.
 10507  func (s *GatewayAssociation) SetVirtualGatewayRegion(v string) *GatewayAssociation {
 10508  	s.VirtualGatewayRegion = &v
 10509  	return s
 10510  }
 10511  
 10512  // Information about the proposal request to attach a virtual private gateway
 10513  // to a Direct Connect gateway.
 10514  type GatewayAssociationProposal struct {
 10515  	_ struct{} `type:"structure"`
 10516  
 10517  	// Information about the associated gateway.
 10518  	AssociatedGateway *AssociatedGateway `locationName:"associatedGateway" type:"structure"`
 10519  
 10520  	// The ID of the Direct Connect gateway.
 10521  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
 10522  
 10523  	// The ID of the account that owns the Direct Connect gateway.
 10524  	DirectConnectGatewayOwnerAccount *string `locationName:"directConnectGatewayOwnerAccount" type:"string"`
 10525  
 10526  	// The existing Amazon VPC prefixes advertised to the Direct Connect gateway.
 10527  	ExistingAllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"existingAllowedPrefixesToDirectConnectGateway" type:"list"`
 10528  
 10529  	// The ID of the association proposal.
 10530  	ProposalId *string `locationName:"proposalId" type:"string"`
 10531  
 10532  	// The state of the proposal. The following are possible values:
 10533  	//
 10534  	//    * accepted: The proposal has been accepted. The Direct Connect gateway
 10535  	//    association is available to use in this state.
 10536  	//
 10537  	//    * deleted: The proposal has been deleted by the owner that made the proposal.
 10538  	//    The Direct Connect gateway association cannot be used in this state.
 10539  	//
 10540  	//    * requested: The proposal has been requested. The Direct Connect gateway
 10541  	//    association cannot be used in this state.
 10542  	ProposalState *string `locationName:"proposalState" type:"string" enum:"GatewayAssociationProposalState"`
 10543  
 10544  	// The Amazon VPC prefixes to advertise to the Direct Connect gateway.
 10545  	RequestedAllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"requestedAllowedPrefixesToDirectConnectGateway" type:"list"`
 10546  }
 10547  
 10548  // String returns the string representation.
 10549  //
 10550  // API parameter values that are decorated as "sensitive" in the API will not
 10551  // be included in the string output. The member name will be present, but the
 10552  // value will be replaced with "sensitive".
 10553  func (s GatewayAssociationProposal) String() string {
 10554  	return awsutil.Prettify(s)
 10555  }
 10556  
 10557  // GoString returns the string representation.
 10558  //
 10559  // API parameter values that are decorated as "sensitive" in the API will not
 10560  // be included in the string output. The member name will be present, but the
 10561  // value will be replaced with "sensitive".
 10562  func (s GatewayAssociationProposal) GoString() string {
 10563  	return s.String()
 10564  }
 10565  
 10566  // SetAssociatedGateway sets the AssociatedGateway field's value.
 10567  func (s *GatewayAssociationProposal) SetAssociatedGateway(v *AssociatedGateway) *GatewayAssociationProposal {
 10568  	s.AssociatedGateway = v
 10569  	return s
 10570  }
 10571  
 10572  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
 10573  func (s *GatewayAssociationProposal) SetDirectConnectGatewayId(v string) *GatewayAssociationProposal {
 10574  	s.DirectConnectGatewayId = &v
 10575  	return s
 10576  }
 10577  
 10578  // SetDirectConnectGatewayOwnerAccount sets the DirectConnectGatewayOwnerAccount field's value.
 10579  func (s *GatewayAssociationProposal) SetDirectConnectGatewayOwnerAccount(v string) *GatewayAssociationProposal {
 10580  	s.DirectConnectGatewayOwnerAccount = &v
 10581  	return s
 10582  }
 10583  
 10584  // SetExistingAllowedPrefixesToDirectConnectGateway sets the ExistingAllowedPrefixesToDirectConnectGateway field's value.
 10585  func (s *GatewayAssociationProposal) SetExistingAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *GatewayAssociationProposal {
 10586  	s.ExistingAllowedPrefixesToDirectConnectGateway = v
 10587  	return s
 10588  }
 10589  
 10590  // SetProposalId sets the ProposalId field's value.
 10591  func (s *GatewayAssociationProposal) SetProposalId(v string) *GatewayAssociationProposal {
 10592  	s.ProposalId = &v
 10593  	return s
 10594  }
 10595  
 10596  // SetProposalState sets the ProposalState field's value.
 10597  func (s *GatewayAssociationProposal) SetProposalState(v string) *GatewayAssociationProposal {
 10598  	s.ProposalState = &v
 10599  	return s
 10600  }
 10601  
 10602  // SetRequestedAllowedPrefixesToDirectConnectGateway sets the RequestedAllowedPrefixesToDirectConnectGateway field's value.
 10603  func (s *GatewayAssociationProposal) SetRequestedAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *GatewayAssociationProposal {
 10604  	s.RequestedAllowedPrefixesToDirectConnectGateway = v
 10605  	return s
 10606  }
 10607  
 10608  // Information about an attachment between a Direct Connect gateway and a virtual
 10609  // interface.
 10610  type GatewayAttachment struct {
 10611  	_ struct{} `type:"structure"`
 10612  
 10613  	// The state of the attachment. The following are the possible values:
 10614  	//
 10615  	//    * attaching: The initial state after a virtual interface is created using
 10616  	//    the Direct Connect gateway.
 10617  	//
 10618  	//    * attached: The Direct Connect gateway and virtual interface are attached
 10619  	//    and ready to pass traffic.
 10620  	//
 10621  	//    * detaching: The initial state after calling DeleteVirtualInterface.
 10622  	//
 10623  	//    * detached: The virtual interface is detached from the Direct Connect
 10624  	//    gateway. Traffic flow between the Direct Connect gateway and virtual interface
 10625  	//    is stopped.
 10626  	AttachmentState *string `locationName:"attachmentState" type:"string" enum:"GatewayAttachmentState"`
 10627  
 10628  	// The type of attachment.
 10629  	AttachmentType *string `locationName:"attachmentType" type:"string" enum:"GatewayAttachmentType"`
 10630  
 10631  	// The ID of the Direct Connect gateway.
 10632  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
 10633  
 10634  	// The error message if the state of an object failed to advance.
 10635  	StateChangeError *string `locationName:"stateChangeError" type:"string"`
 10636  
 10637  	// The ID of the virtual interface.
 10638  	VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"`
 10639  
 10640  	// The ID of the account that owns the virtual interface.
 10641  	VirtualInterfaceOwnerAccount *string `locationName:"virtualInterfaceOwnerAccount" type:"string"`
 10642  
 10643  	// The Region where the virtual interface is located.
 10644  	VirtualInterfaceRegion *string `locationName:"virtualInterfaceRegion" type:"string"`
 10645  }
 10646  
 10647  // String returns the string representation.
 10648  //
 10649  // API parameter values that are decorated as "sensitive" in the API will not
 10650  // be included in the string output. The member name will be present, but the
 10651  // value will be replaced with "sensitive".
 10652  func (s GatewayAttachment) String() string {
 10653  	return awsutil.Prettify(s)
 10654  }
 10655  
 10656  // GoString returns the string representation.
 10657  //
 10658  // API parameter values that are decorated as "sensitive" in the API will not
 10659  // be included in the string output. The member name will be present, but the
 10660  // value will be replaced with "sensitive".
 10661  func (s GatewayAttachment) GoString() string {
 10662  	return s.String()
 10663  }
 10664  
 10665  // SetAttachmentState sets the AttachmentState field's value.
 10666  func (s *GatewayAttachment) SetAttachmentState(v string) *GatewayAttachment {
 10667  	s.AttachmentState = &v
 10668  	return s
 10669  }
 10670  
 10671  // SetAttachmentType sets the AttachmentType field's value.
 10672  func (s *GatewayAttachment) SetAttachmentType(v string) *GatewayAttachment {
 10673  	s.AttachmentType = &v
 10674  	return s
 10675  }
 10676  
 10677  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
 10678  func (s *GatewayAttachment) SetDirectConnectGatewayId(v string) *GatewayAttachment {
 10679  	s.DirectConnectGatewayId = &v
 10680  	return s
 10681  }
 10682  
 10683  // SetStateChangeError sets the StateChangeError field's value.
 10684  func (s *GatewayAttachment) SetStateChangeError(v string) *GatewayAttachment {
 10685  	s.StateChangeError = &v
 10686  	return s
 10687  }
 10688  
 10689  // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
 10690  func (s *GatewayAttachment) SetVirtualInterfaceId(v string) *GatewayAttachment {
 10691  	s.VirtualInterfaceId = &v
 10692  	return s
 10693  }
 10694  
 10695  // SetVirtualInterfaceOwnerAccount sets the VirtualInterfaceOwnerAccount field's value.
 10696  func (s *GatewayAttachment) SetVirtualInterfaceOwnerAccount(v string) *GatewayAttachment {
 10697  	s.VirtualInterfaceOwnerAccount = &v
 10698  	return s
 10699  }
 10700  
 10701  // SetVirtualInterfaceRegion sets the VirtualInterfaceRegion field's value.
 10702  func (s *GatewayAttachment) SetVirtualInterfaceRegion(v string) *GatewayAttachment {
 10703  	s.VirtualInterfaceRegion = &v
 10704  	return s
 10705  }
 10706  
 10707  // Information about an interconnect.
 10708  type Interconnect struct {
 10709  	_ struct{} `type:"structure"`
 10710  
 10711  	// The Direct Connect endpoint on which the physical connection terminates.
 10712  	AwsDevice *string `locationName:"awsDevice" deprecated:"true" type:"string"`
 10713  
 10714  	// The Direct Connect endpoint that terminates the physical connection.
 10715  	AwsDeviceV2 *string `locationName:"awsDeviceV2" type:"string"`
 10716  
 10717  	// The Direct Connect endpoint that terminates the logical connection. This
 10718  	// device might be different than the device that terminates the physical connection.
 10719  	AwsLogicalDeviceId *string `locationName:"awsLogicalDeviceId" type:"string"`
 10720  
 10721  	// The bandwidth of the connection.
 10722  	Bandwidth *string `locationName:"bandwidth" type:"string"`
 10723  
 10724  	// Indicates whether the interconnect supports a secondary BGP in the same address
 10725  	// family (IPv4/IPv6).
 10726  	HasLogicalRedundancy *string `locationName:"hasLogicalRedundancy" type:"string" enum:"HasLogicalRedundancy"`
 10727  
 10728  	// The ID of the interconnect.
 10729  	InterconnectId *string `locationName:"interconnectId" type:"string"`
 10730  
 10731  	// The name of the interconnect.
 10732  	InterconnectName *string `locationName:"interconnectName" type:"string"`
 10733  
 10734  	// The state of the interconnect. The following are the possible values:
 10735  	//
 10736  	//    * requested: The initial state of an interconnect. The interconnect stays
 10737  	//    in the requested state until the Letter of Authorization (LOA) is sent
 10738  	//    to the customer.
 10739  	//
 10740  	//    * pending: The interconnect is approved, and is being initialized.
 10741  	//
 10742  	//    * available: The network link is up, and the interconnect is ready for
 10743  	//    use.
 10744  	//
 10745  	//    * down: The network link is down.
 10746  	//
 10747  	//    * deleting: The interconnect is being deleted.
 10748  	//
 10749  	//    * deleted: The interconnect is deleted.
 10750  	//
 10751  	//    * unknown: The state of the interconnect is not available.
 10752  	InterconnectState *string `locationName:"interconnectState" type:"string" enum:"InterconnectState"`
 10753  
 10754  	// Indicates whether jumbo frames (9001 MTU) are supported.
 10755  	JumboFrameCapable *bool `locationName:"jumboFrameCapable" type:"boolean"`
 10756  
 10757  	// The ID of the LAG.
 10758  	LagId *string `locationName:"lagId" type:"string"`
 10759  
 10760  	// The time of the most recent call to DescribeLoa for this connection.
 10761  	LoaIssueTime *time.Time `locationName:"loaIssueTime" type:"timestamp"`
 10762  
 10763  	// The location of the connection.
 10764  	Location *string `locationName:"location" type:"string"`
 10765  
 10766  	// The name of the service provider associated with the interconnect.
 10767  	ProviderName *string `locationName:"providerName" type:"string"`
 10768  
 10769  	// The Region where the connection is located.
 10770  	Region *string `locationName:"region" type:"string"`
 10771  
 10772  	// The tags associated with the interconnect.
 10773  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
 10774  }
 10775  
 10776  // String returns the string representation.
 10777  //
 10778  // API parameter values that are decorated as "sensitive" in the API will not
 10779  // be included in the string output. The member name will be present, but the
 10780  // value will be replaced with "sensitive".
 10781  func (s Interconnect) String() string {
 10782  	return awsutil.Prettify(s)
 10783  }
 10784  
 10785  // GoString returns the string representation.
 10786  //
 10787  // API parameter values that are decorated as "sensitive" in the API will not
 10788  // be included in the string output. The member name will be present, but the
 10789  // value will be replaced with "sensitive".
 10790  func (s Interconnect) GoString() string {
 10791  	return s.String()
 10792  }
 10793  
 10794  // SetAwsDevice sets the AwsDevice field's value.
 10795  func (s *Interconnect) SetAwsDevice(v string) *Interconnect {
 10796  	s.AwsDevice = &v
 10797  	return s
 10798  }
 10799  
 10800  // SetAwsDeviceV2 sets the AwsDeviceV2 field's value.
 10801  func (s *Interconnect) SetAwsDeviceV2(v string) *Interconnect {
 10802  	s.AwsDeviceV2 = &v
 10803  	return s
 10804  }
 10805  
 10806  // SetAwsLogicalDeviceId sets the AwsLogicalDeviceId field's value.
 10807  func (s *Interconnect) SetAwsLogicalDeviceId(v string) *Interconnect {
 10808  	s.AwsLogicalDeviceId = &v
 10809  	return s
 10810  }
 10811  
 10812  // SetBandwidth sets the Bandwidth field's value.
 10813  func (s *Interconnect) SetBandwidth(v string) *Interconnect {
 10814  	s.Bandwidth = &v
 10815  	return s
 10816  }
 10817  
 10818  // SetHasLogicalRedundancy sets the HasLogicalRedundancy field's value.
 10819  func (s *Interconnect) SetHasLogicalRedundancy(v string) *Interconnect {
 10820  	s.HasLogicalRedundancy = &v
 10821  	return s
 10822  }
 10823  
 10824  // SetInterconnectId sets the InterconnectId field's value.
 10825  func (s *Interconnect) SetInterconnectId(v string) *Interconnect {
 10826  	s.InterconnectId = &v
 10827  	return s
 10828  }
 10829  
 10830  // SetInterconnectName sets the InterconnectName field's value.
 10831  func (s *Interconnect) SetInterconnectName(v string) *Interconnect {
 10832  	s.InterconnectName = &v
 10833  	return s
 10834  }
 10835  
 10836  // SetInterconnectState sets the InterconnectState field's value.
 10837  func (s *Interconnect) SetInterconnectState(v string) *Interconnect {
 10838  	s.InterconnectState = &v
 10839  	return s
 10840  }
 10841  
 10842  // SetJumboFrameCapable sets the JumboFrameCapable field's value.
 10843  func (s *Interconnect) SetJumboFrameCapable(v bool) *Interconnect {
 10844  	s.JumboFrameCapable = &v
 10845  	return s
 10846  }
 10847  
 10848  // SetLagId sets the LagId field's value.
 10849  func (s *Interconnect) SetLagId(v string) *Interconnect {
 10850  	s.LagId = &v
 10851  	return s
 10852  }
 10853  
 10854  // SetLoaIssueTime sets the LoaIssueTime field's value.
 10855  func (s *Interconnect) SetLoaIssueTime(v time.Time) *Interconnect {
 10856  	s.LoaIssueTime = &v
 10857  	return s
 10858  }
 10859  
 10860  // SetLocation sets the Location field's value.
 10861  func (s *Interconnect) SetLocation(v string) *Interconnect {
 10862  	s.Location = &v
 10863  	return s
 10864  }
 10865  
 10866  // SetProviderName sets the ProviderName field's value.
 10867  func (s *Interconnect) SetProviderName(v string) *Interconnect {
 10868  	s.ProviderName = &v
 10869  	return s
 10870  }
 10871  
 10872  // SetRegion sets the Region field's value.
 10873  func (s *Interconnect) SetRegion(v string) *Interconnect {
 10874  	s.Region = &v
 10875  	return s
 10876  }
 10877  
 10878  // SetTags sets the Tags field's value.
 10879  func (s *Interconnect) SetTags(v []*Tag) *Interconnect {
 10880  	s.Tags = v
 10881  	return s
 10882  }
 10883  
 10884  // Information about a link aggregation group (LAG).
 10885  type Lag struct {
 10886  	_ struct{} `type:"structure"`
 10887  
 10888  	// Indicates whether the LAG can host other connections.
 10889  	AllowsHostedConnections *bool `locationName:"allowsHostedConnections" type:"boolean"`
 10890  
 10891  	// The Direct Connect endpoint that hosts the LAG.
 10892  	AwsDevice *string `locationName:"awsDevice" deprecated:"true" type:"string"`
 10893  
 10894  	// The Direct Connect endpoint that hosts the LAG.
 10895  	AwsDeviceV2 *string `locationName:"awsDeviceV2" type:"string"`
 10896  
 10897  	// The Direct Connect endpoint that terminates the logical connection. This
 10898  	// device might be different than the device that terminates the physical connection.
 10899  	AwsLogicalDeviceId *string `locationName:"awsLogicalDeviceId" type:"string"`
 10900  
 10901  	// The connections bundled by the LAG.
 10902  	Connections []*Connection `locationName:"connections" type:"list"`
 10903  
 10904  	// The individual bandwidth of the physical connections bundled by the LAG.
 10905  	// The possible values are 1Gbps and 10Gbps.
 10906  	ConnectionsBandwidth *string `locationName:"connectionsBandwidth" type:"string"`
 10907  
 10908  	// The LAG MAC Security (MACsec) encryption mode.
 10909  	//
 10910  	// The valid values are no_encrypt, should_encrypt, and must_encrypt.
 10911  	EncryptionMode *string `locationName:"encryptionMode" type:"string"`
 10912  
 10913  	// Indicates whether the LAG supports a secondary BGP peer in the same address
 10914  	// family (IPv4/IPv6).
 10915  	HasLogicalRedundancy *string `locationName:"hasLogicalRedundancy" type:"string" enum:"HasLogicalRedundancy"`
 10916  
 10917  	// Indicates whether jumbo frames (9001 MTU) are supported.
 10918  	JumboFrameCapable *bool `locationName:"jumboFrameCapable" type:"boolean"`
 10919  
 10920  	// The ID of the LAG.
 10921  	LagId *string `locationName:"lagId" type:"string"`
 10922  
 10923  	// The name of the LAG.
 10924  	LagName *string `locationName:"lagName" type:"string"`
 10925  
 10926  	// The state of the LAG. The following are the possible values:
 10927  	//
 10928  	//    * requested: The initial state of a LAG. The LAG stays in the requested
 10929  	//    state until the Letter of Authorization (LOA) is available.
 10930  	//
 10931  	//    * pending: The LAG has been approved and is being initialized.
 10932  	//
 10933  	//    * available: The network link is established and the LAG is ready for
 10934  	//    use.
 10935  	//
 10936  	//    * down: The network link is down.
 10937  	//
 10938  	//    * deleting: The LAG is being deleted.
 10939  	//
 10940  	//    * deleted: The LAG is deleted.
 10941  	//
 10942  	//    * unknown: The state of the LAG is not available.
 10943  	LagState *string `locationName:"lagState" type:"string" enum:"LagState"`
 10944  
 10945  	// The location of the LAG.
 10946  	Location *string `locationName:"location" type:"string"`
 10947  
 10948  	// Indicates whether the LAG supports MAC Security (MACsec).
 10949  	MacSecCapable *bool `locationName:"macSecCapable" type:"boolean"`
 10950  
 10951  	// The MAC Security (MACsec) security keys associated with the LAG.
 10952  	MacSecKeys []*MacSecKey `locationName:"macSecKeys" type:"list"`
 10953  
 10954  	// The minimum number of physical dedicated connections that must be operational
 10955  	// for the LAG itself to be operational.
 10956  	MinimumLinks *int64 `locationName:"minimumLinks" type:"integer"`
 10957  
 10958  	// The number of physical dedicated connections bundled by the LAG, up to a
 10959  	// maximum of 10.
 10960  	NumberOfConnections *int64 `locationName:"numberOfConnections" type:"integer"`
 10961  
 10962  	// The ID of the account that owns the LAG.
 10963  	OwnerAccount *string `locationName:"ownerAccount" type:"string"`
 10964  
 10965  	// The name of the service provider associated with the LAG.
 10966  	ProviderName *string `locationName:"providerName" type:"string"`
 10967  
 10968  	// The Region where the connection is located.
 10969  	Region *string `locationName:"region" type:"string"`
 10970  
 10971  	// The tags associated with the LAG.
 10972  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
 10973  }
 10974  
 10975  // String returns the string representation.
 10976  //
 10977  // API parameter values that are decorated as "sensitive" in the API will not
 10978  // be included in the string output. The member name will be present, but the
 10979  // value will be replaced with "sensitive".
 10980  func (s Lag) String() string {
 10981  	return awsutil.Prettify(s)
 10982  }
 10983  
 10984  // GoString returns the string representation.
 10985  //
 10986  // API parameter values that are decorated as "sensitive" in the API will not
 10987  // be included in the string output. The member name will be present, but the
 10988  // value will be replaced with "sensitive".
 10989  func (s Lag) GoString() string {
 10990  	return s.String()
 10991  }
 10992  
 10993  // SetAllowsHostedConnections sets the AllowsHostedConnections field's value.
 10994  func (s *Lag) SetAllowsHostedConnections(v bool) *Lag {
 10995  	s.AllowsHostedConnections = &v
 10996  	return s
 10997  }
 10998  
 10999  // SetAwsDevice sets the AwsDevice field's value.
 11000  func (s *Lag) SetAwsDevice(v string) *Lag {
 11001  	s.AwsDevice = &v
 11002  	return s
 11003  }
 11004  
 11005  // SetAwsDeviceV2 sets the AwsDeviceV2 field's value.
 11006  func (s *Lag) SetAwsDeviceV2(v string) *Lag {
 11007  	s.AwsDeviceV2 = &v
 11008  	return s
 11009  }
 11010  
 11011  // SetAwsLogicalDeviceId sets the AwsLogicalDeviceId field's value.
 11012  func (s *Lag) SetAwsLogicalDeviceId(v string) *Lag {
 11013  	s.AwsLogicalDeviceId = &v
 11014  	return s
 11015  }
 11016  
 11017  // SetConnections sets the Connections field's value.
 11018  func (s *Lag) SetConnections(v []*Connection) *Lag {
 11019  	s.Connections = v
 11020  	return s
 11021  }
 11022  
 11023  // SetConnectionsBandwidth sets the ConnectionsBandwidth field's value.
 11024  func (s *Lag) SetConnectionsBandwidth(v string) *Lag {
 11025  	s.ConnectionsBandwidth = &v
 11026  	return s
 11027  }
 11028  
 11029  // SetEncryptionMode sets the EncryptionMode field's value.
 11030  func (s *Lag) SetEncryptionMode(v string) *Lag {
 11031  	s.EncryptionMode = &v
 11032  	return s
 11033  }
 11034  
 11035  // SetHasLogicalRedundancy sets the HasLogicalRedundancy field's value.
 11036  func (s *Lag) SetHasLogicalRedundancy(v string) *Lag {
 11037  	s.HasLogicalRedundancy = &v
 11038  	return s
 11039  }
 11040  
 11041  // SetJumboFrameCapable sets the JumboFrameCapable field's value.
 11042  func (s *Lag) SetJumboFrameCapable(v bool) *Lag {
 11043  	s.JumboFrameCapable = &v
 11044  	return s
 11045  }
 11046  
 11047  // SetLagId sets the LagId field's value.
 11048  func (s *Lag) SetLagId(v string) *Lag {
 11049  	s.LagId = &v
 11050  	return s
 11051  }
 11052  
 11053  // SetLagName sets the LagName field's value.
 11054  func (s *Lag) SetLagName(v string) *Lag {
 11055  	s.LagName = &v
 11056  	return s
 11057  }
 11058  
 11059  // SetLagState sets the LagState field's value.
 11060  func (s *Lag) SetLagState(v string) *Lag {
 11061  	s.LagState = &v
 11062  	return s
 11063  }
 11064  
 11065  // SetLocation sets the Location field's value.
 11066  func (s *Lag) SetLocation(v string) *Lag {
 11067  	s.Location = &v
 11068  	return s
 11069  }
 11070  
 11071  // SetMacSecCapable sets the MacSecCapable field's value.
 11072  func (s *Lag) SetMacSecCapable(v bool) *Lag {
 11073  	s.MacSecCapable = &v
 11074  	return s
 11075  }
 11076  
 11077  // SetMacSecKeys sets the MacSecKeys field's value.
 11078  func (s *Lag) SetMacSecKeys(v []*MacSecKey) *Lag {
 11079  	s.MacSecKeys = v
 11080  	return s
 11081  }
 11082  
 11083  // SetMinimumLinks sets the MinimumLinks field's value.
 11084  func (s *Lag) SetMinimumLinks(v int64) *Lag {
 11085  	s.MinimumLinks = &v
 11086  	return s
 11087  }
 11088  
 11089  // SetNumberOfConnections sets the NumberOfConnections field's value.
 11090  func (s *Lag) SetNumberOfConnections(v int64) *Lag {
 11091  	s.NumberOfConnections = &v
 11092  	return s
 11093  }
 11094  
 11095  // SetOwnerAccount sets the OwnerAccount field's value.
 11096  func (s *Lag) SetOwnerAccount(v string) *Lag {
 11097  	s.OwnerAccount = &v
 11098  	return s
 11099  }
 11100  
 11101  // SetProviderName sets the ProviderName field's value.
 11102  func (s *Lag) SetProviderName(v string) *Lag {
 11103  	s.ProviderName = &v
 11104  	return s
 11105  }
 11106  
 11107  // SetRegion sets the Region field's value.
 11108  func (s *Lag) SetRegion(v string) *Lag {
 11109  	s.Region = &v
 11110  	return s
 11111  }
 11112  
 11113  // SetTags sets the Tags field's value.
 11114  func (s *Lag) SetTags(v []*Tag) *Lag {
 11115  	s.Tags = v
 11116  	return s
 11117  }
 11118  
 11119  type ListVirtualInterfaceTestHistoryInput struct {
 11120  	_ struct{} `type:"structure"`
 11121  
 11122  	// The BGP peers that were placed in the DOWN state during the virtual interface
 11123  	// failover test.
 11124  	BgpPeers []*string `locationName:"bgpPeers" type:"list"`
 11125  
 11126  	// The maximum number of results to return with a single call. To retrieve the
 11127  	// remaining results, make another call with the returned nextToken value.
 11128  	//
 11129  	// If MaxResults is given a value larger than 100, only 100 results are returned.
 11130  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
 11131  
 11132  	// The token for the next page of results.
 11133  	NextToken *string `locationName:"nextToken" type:"string"`
 11134  
 11135  	// The status of the virtual interface failover test.
 11136  	Status *string `locationName:"status" type:"string"`
 11137  
 11138  	// The ID of the virtual interface failover test.
 11139  	TestId *string `locationName:"testId" type:"string"`
 11140  
 11141  	// The ID of the virtual interface that was tested.
 11142  	VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"`
 11143  }
 11144  
 11145  // String returns the string representation.
 11146  //
 11147  // API parameter values that are decorated as "sensitive" in the API will not
 11148  // be included in the string output. The member name will be present, but the
 11149  // value will be replaced with "sensitive".
 11150  func (s ListVirtualInterfaceTestHistoryInput) String() string {
 11151  	return awsutil.Prettify(s)
 11152  }
 11153  
 11154  // GoString returns the string representation.
 11155  //
 11156  // API parameter values that are decorated as "sensitive" in the API will not
 11157  // be included in the string output. The member name will be present, but the
 11158  // value will be replaced with "sensitive".
 11159  func (s ListVirtualInterfaceTestHistoryInput) GoString() string {
 11160  	return s.String()
 11161  }
 11162  
 11163  // SetBgpPeers sets the BgpPeers field's value.
 11164  func (s *ListVirtualInterfaceTestHistoryInput) SetBgpPeers(v []*string) *ListVirtualInterfaceTestHistoryInput {
 11165  	s.BgpPeers = v
 11166  	return s
 11167  }
 11168  
 11169  // SetMaxResults sets the MaxResults field's value.
 11170  func (s *ListVirtualInterfaceTestHistoryInput) SetMaxResults(v int64) *ListVirtualInterfaceTestHistoryInput {
 11171  	s.MaxResults = &v
 11172  	return s
 11173  }
 11174  
 11175  // SetNextToken sets the NextToken field's value.
 11176  func (s *ListVirtualInterfaceTestHistoryInput) SetNextToken(v string) *ListVirtualInterfaceTestHistoryInput {
 11177  	s.NextToken = &v
 11178  	return s
 11179  }
 11180  
 11181  // SetStatus sets the Status field's value.
 11182  func (s *ListVirtualInterfaceTestHistoryInput) SetStatus(v string) *ListVirtualInterfaceTestHistoryInput {
 11183  	s.Status = &v
 11184  	return s
 11185  }
 11186  
 11187  // SetTestId sets the TestId field's value.
 11188  func (s *ListVirtualInterfaceTestHistoryInput) SetTestId(v string) *ListVirtualInterfaceTestHistoryInput {
 11189  	s.TestId = &v
 11190  	return s
 11191  }
 11192  
 11193  // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
 11194  func (s *ListVirtualInterfaceTestHistoryInput) SetVirtualInterfaceId(v string) *ListVirtualInterfaceTestHistoryInput {
 11195  	s.VirtualInterfaceId = &v
 11196  	return s
 11197  }
 11198  
 11199  type ListVirtualInterfaceTestHistoryOutput struct {
 11200  	_ struct{} `type:"structure"`
 11201  
 11202  	// The token to use to retrieve the next page of results. This value is null
 11203  	// when there are no more results to return.
 11204  	NextToken *string `locationName:"nextToken" type:"string"`
 11205  
 11206  	// The ID of the tested virtual interface.
 11207  	VirtualInterfaceTestHistory []*VirtualInterfaceTestHistory `locationName:"virtualInterfaceTestHistory" type:"list"`
 11208  }
 11209  
 11210  // String returns the string representation.
 11211  //
 11212  // API parameter values that are decorated as "sensitive" in the API will not
 11213  // be included in the string output. The member name will be present, but the
 11214  // value will be replaced with "sensitive".
 11215  func (s ListVirtualInterfaceTestHistoryOutput) String() string {
 11216  	return awsutil.Prettify(s)
 11217  }
 11218  
 11219  // GoString returns the string representation.
 11220  //
 11221  // API parameter values that are decorated as "sensitive" in the API will not
 11222  // be included in the string output. The member name will be present, but the
 11223  // value will be replaced with "sensitive".
 11224  func (s ListVirtualInterfaceTestHistoryOutput) GoString() string {
 11225  	return s.String()
 11226  }
 11227  
 11228  // SetNextToken sets the NextToken field's value.
 11229  func (s *ListVirtualInterfaceTestHistoryOutput) SetNextToken(v string) *ListVirtualInterfaceTestHistoryOutput {
 11230  	s.NextToken = &v
 11231  	return s
 11232  }
 11233  
 11234  // SetVirtualInterfaceTestHistory sets the VirtualInterfaceTestHistory field's value.
 11235  func (s *ListVirtualInterfaceTestHistoryOutput) SetVirtualInterfaceTestHistory(v []*VirtualInterfaceTestHistory) *ListVirtualInterfaceTestHistoryOutput {
 11236  	s.VirtualInterfaceTestHistory = v
 11237  	return s
 11238  }
 11239  
 11240  // Information about a Letter of Authorization - Connecting Facility Assignment
 11241  // (LOA-CFA) for a connection.
 11242  type Loa struct {
 11243  	_ struct{} `type:"structure"`
 11244  
 11245  	// The binary contents of the LOA-CFA document.
 11246  	// LoaContent is automatically base64 encoded/decoded by the SDK.
 11247  	LoaContent []byte `locationName:"loaContent" type:"blob"`
 11248  
 11249  	// The standard media type for the LOA-CFA document. The only supported value
 11250  	// is application/pdf.
 11251  	LoaContentType *string `locationName:"loaContentType" type:"string" enum:"LoaContentType"`
 11252  }
 11253  
 11254  // String returns the string representation.
 11255  //
 11256  // API parameter values that are decorated as "sensitive" in the API will not
 11257  // be included in the string output. The member name will be present, but the
 11258  // value will be replaced with "sensitive".
 11259  func (s Loa) String() string {
 11260  	return awsutil.Prettify(s)
 11261  }
 11262  
 11263  // GoString returns the string representation.
 11264  //
 11265  // API parameter values that are decorated as "sensitive" in the API will not
 11266  // be included in the string output. The member name will be present, but the
 11267  // value will be replaced with "sensitive".
 11268  func (s Loa) GoString() string {
 11269  	return s.String()
 11270  }
 11271  
 11272  // SetLoaContent sets the LoaContent field's value.
 11273  func (s *Loa) SetLoaContent(v []byte) *Loa {
 11274  	s.LoaContent = v
 11275  	return s
 11276  }
 11277  
 11278  // SetLoaContentType sets the LoaContentType field's value.
 11279  func (s *Loa) SetLoaContentType(v string) *Loa {
 11280  	s.LoaContentType = &v
 11281  	return s
 11282  }
 11283  
 11284  // Information about an Direct Connect location.
 11285  type Location struct {
 11286  	_ struct{} `type:"structure"`
 11287  
 11288  	// The available MAC Security (MACsec) port speeds for the location.
 11289  	AvailableMacSecPortSpeeds []*string `locationName:"availableMacSecPortSpeeds" type:"list"`
 11290  
 11291  	// The available port speeds for the location.
 11292  	AvailablePortSpeeds []*string `locationName:"availablePortSpeeds" type:"list"`
 11293  
 11294  	// The name of the service provider for the location.
 11295  	AvailableProviders []*string `locationName:"availableProviders" type:"list"`
 11296  
 11297  	// The code for the location.
 11298  	LocationCode *string `locationName:"locationCode" type:"string"`
 11299  
 11300  	// The name of the location. This includes the name of the colocation partner
 11301  	// and the physical site of the building.
 11302  	LocationName *string `locationName:"locationName" type:"string"`
 11303  
 11304  	// The Region for the location.
 11305  	Region *string `locationName:"region" type:"string"`
 11306  }
 11307  
 11308  // String returns the string representation.
 11309  //
 11310  // API parameter values that are decorated as "sensitive" in the API will not
 11311  // be included in the string output. The member name will be present, but the
 11312  // value will be replaced with "sensitive".
 11313  func (s Location) String() string {
 11314  	return awsutil.Prettify(s)
 11315  }
 11316  
 11317  // GoString returns the string representation.
 11318  //
 11319  // API parameter values that are decorated as "sensitive" in the API will not
 11320  // be included in the string output. The member name will be present, but the
 11321  // value will be replaced with "sensitive".
 11322  func (s Location) GoString() string {
 11323  	return s.String()
 11324  }
 11325  
 11326  // SetAvailableMacSecPortSpeeds sets the AvailableMacSecPortSpeeds field's value.
 11327  func (s *Location) SetAvailableMacSecPortSpeeds(v []*string) *Location {
 11328  	s.AvailableMacSecPortSpeeds = v
 11329  	return s
 11330  }
 11331  
 11332  // SetAvailablePortSpeeds sets the AvailablePortSpeeds field's value.
 11333  func (s *Location) SetAvailablePortSpeeds(v []*string) *Location {
 11334  	s.AvailablePortSpeeds = v
 11335  	return s
 11336  }
 11337  
 11338  // SetAvailableProviders sets the AvailableProviders field's value.
 11339  func (s *Location) SetAvailableProviders(v []*string) *Location {
 11340  	s.AvailableProviders = v
 11341  	return s
 11342  }
 11343  
 11344  // SetLocationCode sets the LocationCode field's value.
 11345  func (s *Location) SetLocationCode(v string) *Location {
 11346  	s.LocationCode = &v
 11347  	return s
 11348  }
 11349  
 11350  // SetLocationName sets the LocationName field's value.
 11351  func (s *Location) SetLocationName(v string) *Location {
 11352  	s.LocationName = &v
 11353  	return s
 11354  }
 11355  
 11356  // SetRegion sets the Region field's value.
 11357  func (s *Location) SetRegion(v string) *Location {
 11358  	s.Region = &v
 11359  	return s
 11360  }
 11361  
 11362  // Information about the MAC Security (MACsec) secret key.
 11363  type MacSecKey struct {
 11364  	_ struct{} `type:"structure"`
 11365  
 11366  	// The Connection Key Name (CKN) for the MAC Security secret key.
 11367  	Ckn *string `locationName:"ckn" type:"string"`
 11368  
 11369  	// The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key.
 11370  	SecretARN *string `locationName:"secretARN" type:"string"`
 11371  
 11372  	// The date that the MAC Security (MACsec) secret key takes effect. The value
 11373  	// is displayed in UTC format.
 11374  	StartOn *string `locationName:"startOn" type:"string"`
 11375  
 11376  	// The state of the MAC Security (MACsec) secret key.
 11377  	//
 11378  	// The possible values are:
 11379  	//
 11380  	//    * associating: The MAC Security (MACsec) secret key is being validated
 11381  	//    and not yet associated with the connection or LAG.
 11382  	//
 11383  	//    * associated: The MAC Security (MACsec) secret key is validated and associated
 11384  	//    with the connection or LAG.
 11385  	//
 11386  	//    * disassociating: The MAC Security (MACsec) secret key is being disassociated
 11387  	//    from the connection or LAG
 11388  	//
 11389  	//    * disassociated: The MAC Security (MACsec) secret key is no longer associated
 11390  	//    with the connection or LAG.
 11391  	State *string `locationName:"state" type:"string"`
 11392  }
 11393  
 11394  // String returns the string representation.
 11395  //
 11396  // API parameter values that are decorated as "sensitive" in the API will not
 11397  // be included in the string output. The member name will be present, but the
 11398  // value will be replaced with "sensitive".
 11399  func (s MacSecKey) String() string {
 11400  	return awsutil.Prettify(s)
 11401  }
 11402  
 11403  // GoString returns the string representation.
 11404  //
 11405  // API parameter values that are decorated as "sensitive" in the API will not
 11406  // be included in the string output. The member name will be present, but the
 11407  // value will be replaced with "sensitive".
 11408  func (s MacSecKey) GoString() string {
 11409  	return s.String()
 11410  }
 11411  
 11412  // SetCkn sets the Ckn field's value.
 11413  func (s *MacSecKey) SetCkn(v string) *MacSecKey {
 11414  	s.Ckn = &v
 11415  	return s
 11416  }
 11417  
 11418  // SetSecretARN sets the SecretARN field's value.
 11419  func (s *MacSecKey) SetSecretARN(v string) *MacSecKey {
 11420  	s.SecretARN = &v
 11421  	return s
 11422  }
 11423  
 11424  // SetStartOn sets the StartOn field's value.
 11425  func (s *MacSecKey) SetStartOn(v string) *MacSecKey {
 11426  	s.StartOn = &v
 11427  	return s
 11428  }
 11429  
 11430  // SetState sets the State field's value.
 11431  func (s *MacSecKey) SetState(v string) *MacSecKey {
 11432  	s.State = &v
 11433  	return s
 11434  }
 11435  
 11436  // Information about a new BGP peer.
 11437  type NewBGPPeer struct {
 11438  	_ struct{} `type:"structure"`
 11439  
 11440  	// The address family for the BGP peer.
 11441  	AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
 11442  
 11443  	// The IP address assigned to the Amazon interface.
 11444  	AmazonAddress *string `locationName:"amazonAddress" type:"string"`
 11445  
 11446  	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
 11447  	Asn *int64 `locationName:"asn" type:"integer"`
 11448  
 11449  	// The authentication key for BGP configuration. This string has a minimum length
 11450  	// of 6 characters and and a maximun lenth of 80 characters.
 11451  	AuthKey *string `locationName:"authKey" type:"string"`
 11452  
 11453  	// The IP address assigned to the customer interface.
 11454  	CustomerAddress *string `locationName:"customerAddress" type:"string"`
 11455  }
 11456  
 11457  // String returns the string representation.
 11458  //
 11459  // API parameter values that are decorated as "sensitive" in the API will not
 11460  // be included in the string output. The member name will be present, but the
 11461  // value will be replaced with "sensitive".
 11462  func (s NewBGPPeer) String() string {
 11463  	return awsutil.Prettify(s)
 11464  }
 11465  
 11466  // GoString returns the string representation.
 11467  //
 11468  // API parameter values that are decorated as "sensitive" in the API will not
 11469  // be included in the string output. The member name will be present, but the
 11470  // value will be replaced with "sensitive".
 11471  func (s NewBGPPeer) GoString() string {
 11472  	return s.String()
 11473  }
 11474  
 11475  // SetAddressFamily sets the AddressFamily field's value.
 11476  func (s *NewBGPPeer) SetAddressFamily(v string) *NewBGPPeer {
 11477  	s.AddressFamily = &v
 11478  	return s
 11479  }
 11480  
 11481  // SetAmazonAddress sets the AmazonAddress field's value.
 11482  func (s *NewBGPPeer) SetAmazonAddress(v string) *NewBGPPeer {
 11483  	s.AmazonAddress = &v
 11484  	return s
 11485  }
 11486  
 11487  // SetAsn sets the Asn field's value.
 11488  func (s *NewBGPPeer) SetAsn(v int64) *NewBGPPeer {
 11489  	s.Asn = &v
 11490  	return s
 11491  }
 11492  
 11493  // SetAuthKey sets the AuthKey field's value.
 11494  func (s *NewBGPPeer) SetAuthKey(v string) *NewBGPPeer {
 11495  	s.AuthKey = &v
 11496  	return s
 11497  }
 11498  
 11499  // SetCustomerAddress sets the CustomerAddress field's value.
 11500  func (s *NewBGPPeer) SetCustomerAddress(v string) *NewBGPPeer {
 11501  	s.CustomerAddress = &v
 11502  	return s
 11503  }
 11504  
 11505  // Information about a private virtual interface.
 11506  type NewPrivateVirtualInterface struct {
 11507  	_ struct{} `type:"structure"`
 11508  
 11509  	// The address family for the BGP peer.
 11510  	AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
 11511  
 11512  	// The IP address assigned to the Amazon interface.
 11513  	AmazonAddress *string `locationName:"amazonAddress" type:"string"`
 11514  
 11515  	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
 11516  	//
 11517  	// The valid values are 1-2147483647.
 11518  	//
 11519  	// Asn is a required field
 11520  	Asn *int64 `locationName:"asn" type:"integer" required:"true"`
 11521  
 11522  	// The authentication key for BGP configuration. This string has a minimum length
 11523  	// of 6 characters and and a maximun lenth of 80 characters.
 11524  	AuthKey *string `locationName:"authKey" type:"string"`
 11525  
 11526  	// The IP address assigned to the customer interface.
 11527  	CustomerAddress *string `locationName:"customerAddress" type:"string"`
 11528  
 11529  	// The ID of the Direct Connect gateway.
 11530  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
 11531  
 11532  	// The maximum transmission unit (MTU), in bytes. The supported values are 1500
 11533  	// and 9001. The default value is 1500.
 11534  	Mtu *int64 `locationName:"mtu" type:"integer"`
 11535  
 11536  	// The tags associated with the private virtual interface.
 11537  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
 11538  
 11539  	// The ID of the virtual private gateway.
 11540  	VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"`
 11541  
 11542  	// The name of the virtual interface assigned by the customer network. The name
 11543  	// has a maximum of 100 characters. The following are valid characters: a-z,
 11544  	// 0-9 and a hyphen (-).
 11545  	//
 11546  	// VirtualInterfaceName is a required field
 11547  	VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"`
 11548  
 11549  	// The ID of the VLAN.
 11550  	//
 11551  	// Vlan is a required field
 11552  	Vlan *int64 `locationName:"vlan" type:"integer" required:"true"`
 11553  }
 11554  
 11555  // String returns the string representation.
 11556  //
 11557  // API parameter values that are decorated as "sensitive" in the API will not
 11558  // be included in the string output. The member name will be present, but the
 11559  // value will be replaced with "sensitive".
 11560  func (s NewPrivateVirtualInterface) String() string {
 11561  	return awsutil.Prettify(s)
 11562  }
 11563  
 11564  // GoString returns the string representation.
 11565  //
 11566  // API parameter values that are decorated as "sensitive" in the API will not
 11567  // be included in the string output. The member name will be present, but the
 11568  // value will be replaced with "sensitive".
 11569  func (s NewPrivateVirtualInterface) GoString() string {
 11570  	return s.String()
 11571  }
 11572  
 11573  // Validate inspects the fields of the type to determine if they are valid.
 11574  func (s *NewPrivateVirtualInterface) Validate() error {
 11575  	invalidParams := request.ErrInvalidParams{Context: "NewPrivateVirtualInterface"}
 11576  	if s.Asn == nil {
 11577  		invalidParams.Add(request.NewErrParamRequired("Asn"))
 11578  	}
 11579  	if s.Tags != nil && len(s.Tags) < 1 {
 11580  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 11581  	}
 11582  	if s.VirtualInterfaceName == nil {
 11583  		invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceName"))
 11584  	}
 11585  	if s.Vlan == nil {
 11586  		invalidParams.Add(request.NewErrParamRequired("Vlan"))
 11587  	}
 11588  	if s.Tags != nil {
 11589  		for i, v := range s.Tags {
 11590  			if v == nil {
 11591  				continue
 11592  			}
 11593  			if err := v.Validate(); err != nil {
 11594  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 11595  			}
 11596  		}
 11597  	}
 11598  
 11599  	if invalidParams.Len() > 0 {
 11600  		return invalidParams
 11601  	}
 11602  	return nil
 11603  }
 11604  
 11605  // SetAddressFamily sets the AddressFamily field's value.
 11606  func (s *NewPrivateVirtualInterface) SetAddressFamily(v string) *NewPrivateVirtualInterface {
 11607  	s.AddressFamily = &v
 11608  	return s
 11609  }
 11610  
 11611  // SetAmazonAddress sets the AmazonAddress field's value.
 11612  func (s *NewPrivateVirtualInterface) SetAmazonAddress(v string) *NewPrivateVirtualInterface {
 11613  	s.AmazonAddress = &v
 11614  	return s
 11615  }
 11616  
 11617  // SetAsn sets the Asn field's value.
 11618  func (s *NewPrivateVirtualInterface) SetAsn(v int64) *NewPrivateVirtualInterface {
 11619  	s.Asn = &v
 11620  	return s
 11621  }
 11622  
 11623  // SetAuthKey sets the AuthKey field's value.
 11624  func (s *NewPrivateVirtualInterface) SetAuthKey(v string) *NewPrivateVirtualInterface {
 11625  	s.AuthKey = &v
 11626  	return s
 11627  }
 11628  
 11629  // SetCustomerAddress sets the CustomerAddress field's value.
 11630  func (s *NewPrivateVirtualInterface) SetCustomerAddress(v string) *NewPrivateVirtualInterface {
 11631  	s.CustomerAddress = &v
 11632  	return s
 11633  }
 11634  
 11635  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
 11636  func (s *NewPrivateVirtualInterface) SetDirectConnectGatewayId(v string) *NewPrivateVirtualInterface {
 11637  	s.DirectConnectGatewayId = &v
 11638  	return s
 11639  }
 11640  
 11641  // SetMtu sets the Mtu field's value.
 11642  func (s *NewPrivateVirtualInterface) SetMtu(v int64) *NewPrivateVirtualInterface {
 11643  	s.Mtu = &v
 11644  	return s
 11645  }
 11646  
 11647  // SetTags sets the Tags field's value.
 11648  func (s *NewPrivateVirtualInterface) SetTags(v []*Tag) *NewPrivateVirtualInterface {
 11649  	s.Tags = v
 11650  	return s
 11651  }
 11652  
 11653  // SetVirtualGatewayId sets the VirtualGatewayId field's value.
 11654  func (s *NewPrivateVirtualInterface) SetVirtualGatewayId(v string) *NewPrivateVirtualInterface {
 11655  	s.VirtualGatewayId = &v
 11656  	return s
 11657  }
 11658  
 11659  // SetVirtualInterfaceName sets the VirtualInterfaceName field's value.
 11660  func (s *NewPrivateVirtualInterface) SetVirtualInterfaceName(v string) *NewPrivateVirtualInterface {
 11661  	s.VirtualInterfaceName = &v
 11662  	return s
 11663  }
 11664  
 11665  // SetVlan sets the Vlan field's value.
 11666  func (s *NewPrivateVirtualInterface) SetVlan(v int64) *NewPrivateVirtualInterface {
 11667  	s.Vlan = &v
 11668  	return s
 11669  }
 11670  
 11671  // Information about a private virtual interface to be provisioned on a connection.
 11672  type NewPrivateVirtualInterfaceAllocation struct {
 11673  	_ struct{} `type:"structure"`
 11674  
 11675  	// The address family for the BGP peer.
 11676  	AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
 11677  
 11678  	// The IP address assigned to the Amazon interface.
 11679  	AmazonAddress *string `locationName:"amazonAddress" type:"string"`
 11680  
 11681  	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
 11682  	//
 11683  	// The valid values are 1-2147483647.
 11684  	//
 11685  	// Asn is a required field
 11686  	Asn *int64 `locationName:"asn" type:"integer" required:"true"`
 11687  
 11688  	// The authentication key for BGP configuration. This string has a minimum length
 11689  	// of 6 characters and and a maximun lenth of 80 characters.
 11690  	AuthKey *string `locationName:"authKey" type:"string"`
 11691  
 11692  	// The IP address assigned to the customer interface.
 11693  	CustomerAddress *string `locationName:"customerAddress" type:"string"`
 11694  
 11695  	// The maximum transmission unit (MTU), in bytes. The supported values are 1500
 11696  	// and 9001. The default value is 1500.
 11697  	Mtu *int64 `locationName:"mtu" type:"integer"`
 11698  
 11699  	// The tags associated with the private virtual interface.
 11700  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
 11701  
 11702  	// The name of the virtual interface assigned by the customer network. The name
 11703  	// has a maximum of 100 characters. The following are valid characters: a-z,
 11704  	// 0-9 and a hyphen (-).
 11705  	//
 11706  	// VirtualInterfaceName is a required field
 11707  	VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"`
 11708  
 11709  	// The ID of the VLAN.
 11710  	//
 11711  	// Vlan is a required field
 11712  	Vlan *int64 `locationName:"vlan" type:"integer" required:"true"`
 11713  }
 11714  
 11715  // String returns the string representation.
 11716  //
 11717  // API parameter values that are decorated as "sensitive" in the API will not
 11718  // be included in the string output. The member name will be present, but the
 11719  // value will be replaced with "sensitive".
 11720  func (s NewPrivateVirtualInterfaceAllocation) String() string {
 11721  	return awsutil.Prettify(s)
 11722  }
 11723  
 11724  // GoString returns the string representation.
 11725  //
 11726  // API parameter values that are decorated as "sensitive" in the API will not
 11727  // be included in the string output. The member name will be present, but the
 11728  // value will be replaced with "sensitive".
 11729  func (s NewPrivateVirtualInterfaceAllocation) GoString() string {
 11730  	return s.String()
 11731  }
 11732  
 11733  // Validate inspects the fields of the type to determine if they are valid.
 11734  func (s *NewPrivateVirtualInterfaceAllocation) Validate() error {
 11735  	invalidParams := request.ErrInvalidParams{Context: "NewPrivateVirtualInterfaceAllocation"}
 11736  	if s.Asn == nil {
 11737  		invalidParams.Add(request.NewErrParamRequired("Asn"))
 11738  	}
 11739  	if s.Tags != nil && len(s.Tags) < 1 {
 11740  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 11741  	}
 11742  	if s.VirtualInterfaceName == nil {
 11743  		invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceName"))
 11744  	}
 11745  	if s.Vlan == nil {
 11746  		invalidParams.Add(request.NewErrParamRequired("Vlan"))
 11747  	}
 11748  	if s.Tags != nil {
 11749  		for i, v := range s.Tags {
 11750  			if v == nil {
 11751  				continue
 11752  			}
 11753  			if err := v.Validate(); err != nil {
 11754  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 11755  			}
 11756  		}
 11757  	}
 11758  
 11759  	if invalidParams.Len() > 0 {
 11760  		return invalidParams
 11761  	}
 11762  	return nil
 11763  }
 11764  
 11765  // SetAddressFamily sets the AddressFamily field's value.
 11766  func (s *NewPrivateVirtualInterfaceAllocation) SetAddressFamily(v string) *NewPrivateVirtualInterfaceAllocation {
 11767  	s.AddressFamily = &v
 11768  	return s
 11769  }
 11770  
 11771  // SetAmazonAddress sets the AmazonAddress field's value.
 11772  func (s *NewPrivateVirtualInterfaceAllocation) SetAmazonAddress(v string) *NewPrivateVirtualInterfaceAllocation {
 11773  	s.AmazonAddress = &v
 11774  	return s
 11775  }
 11776  
 11777  // SetAsn sets the Asn field's value.
 11778  func (s *NewPrivateVirtualInterfaceAllocation) SetAsn(v int64) *NewPrivateVirtualInterfaceAllocation {
 11779  	s.Asn = &v
 11780  	return s
 11781  }
 11782  
 11783  // SetAuthKey sets the AuthKey field's value.
 11784  func (s *NewPrivateVirtualInterfaceAllocation) SetAuthKey(v string) *NewPrivateVirtualInterfaceAllocation {
 11785  	s.AuthKey = &v
 11786  	return s
 11787  }
 11788  
 11789  // SetCustomerAddress sets the CustomerAddress field's value.
 11790  func (s *NewPrivateVirtualInterfaceAllocation) SetCustomerAddress(v string) *NewPrivateVirtualInterfaceAllocation {
 11791  	s.CustomerAddress = &v
 11792  	return s
 11793  }
 11794  
 11795  // SetMtu sets the Mtu field's value.
 11796  func (s *NewPrivateVirtualInterfaceAllocation) SetMtu(v int64) *NewPrivateVirtualInterfaceAllocation {
 11797  	s.Mtu = &v
 11798  	return s
 11799  }
 11800  
 11801  // SetTags sets the Tags field's value.
 11802  func (s *NewPrivateVirtualInterfaceAllocation) SetTags(v []*Tag) *NewPrivateVirtualInterfaceAllocation {
 11803  	s.Tags = v
 11804  	return s
 11805  }
 11806  
 11807  // SetVirtualInterfaceName sets the VirtualInterfaceName field's value.
 11808  func (s *NewPrivateVirtualInterfaceAllocation) SetVirtualInterfaceName(v string) *NewPrivateVirtualInterfaceAllocation {
 11809  	s.VirtualInterfaceName = &v
 11810  	return s
 11811  }
 11812  
 11813  // SetVlan sets the Vlan field's value.
 11814  func (s *NewPrivateVirtualInterfaceAllocation) SetVlan(v int64) *NewPrivateVirtualInterfaceAllocation {
 11815  	s.Vlan = &v
 11816  	return s
 11817  }
 11818  
 11819  // Information about a public virtual interface.
 11820  type NewPublicVirtualInterface struct {
 11821  	_ struct{} `type:"structure"`
 11822  
 11823  	// The address family for the BGP peer.
 11824  	AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
 11825  
 11826  	// The IP address assigned to the Amazon interface.
 11827  	AmazonAddress *string `locationName:"amazonAddress" type:"string"`
 11828  
 11829  	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
 11830  	//
 11831  	// The valid values are 1-2147483647.
 11832  	//
 11833  	// Asn is a required field
 11834  	Asn *int64 `locationName:"asn" type:"integer" required:"true"`
 11835  
 11836  	// The authentication key for BGP configuration. This string has a minimum length
 11837  	// of 6 characters and and a maximun lenth of 80 characters.
 11838  	AuthKey *string `locationName:"authKey" type:"string"`
 11839  
 11840  	// The IP address assigned to the customer interface.
 11841  	CustomerAddress *string `locationName:"customerAddress" type:"string"`
 11842  
 11843  	// The routes to be advertised to the Amazon Web Services network in this Region.
 11844  	// Applies to public virtual interfaces.
 11845  	RouteFilterPrefixes []*RouteFilterPrefix `locationName:"routeFilterPrefixes" type:"list"`
 11846  
 11847  	// The tags associated with the public virtual interface.
 11848  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
 11849  
 11850  	// The name of the virtual interface assigned by the customer network. The name
 11851  	// has a maximum of 100 characters. The following are valid characters: a-z,
 11852  	// 0-9 and a hyphen (-).
 11853  	//
 11854  	// VirtualInterfaceName is a required field
 11855  	VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"`
 11856  
 11857  	// The ID of the VLAN.
 11858  	//
 11859  	// Vlan is a required field
 11860  	Vlan *int64 `locationName:"vlan" type:"integer" required:"true"`
 11861  }
 11862  
 11863  // String returns the string representation.
 11864  //
 11865  // API parameter values that are decorated as "sensitive" in the API will not
 11866  // be included in the string output. The member name will be present, but the
 11867  // value will be replaced with "sensitive".
 11868  func (s NewPublicVirtualInterface) String() string {
 11869  	return awsutil.Prettify(s)
 11870  }
 11871  
 11872  // GoString returns the string representation.
 11873  //
 11874  // API parameter values that are decorated as "sensitive" in the API will not
 11875  // be included in the string output. The member name will be present, but the
 11876  // value will be replaced with "sensitive".
 11877  func (s NewPublicVirtualInterface) GoString() string {
 11878  	return s.String()
 11879  }
 11880  
 11881  // Validate inspects the fields of the type to determine if they are valid.
 11882  func (s *NewPublicVirtualInterface) Validate() error {
 11883  	invalidParams := request.ErrInvalidParams{Context: "NewPublicVirtualInterface"}
 11884  	if s.Asn == nil {
 11885  		invalidParams.Add(request.NewErrParamRequired("Asn"))
 11886  	}
 11887  	if s.Tags != nil && len(s.Tags) < 1 {
 11888  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 11889  	}
 11890  	if s.VirtualInterfaceName == nil {
 11891  		invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceName"))
 11892  	}
 11893  	if s.Vlan == nil {
 11894  		invalidParams.Add(request.NewErrParamRequired("Vlan"))
 11895  	}
 11896  	if s.Tags != nil {
 11897  		for i, v := range s.Tags {
 11898  			if v == nil {
 11899  				continue
 11900  			}
 11901  			if err := v.Validate(); err != nil {
 11902  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 11903  			}
 11904  		}
 11905  	}
 11906  
 11907  	if invalidParams.Len() > 0 {
 11908  		return invalidParams
 11909  	}
 11910  	return nil
 11911  }
 11912  
 11913  // SetAddressFamily sets the AddressFamily field's value.
 11914  func (s *NewPublicVirtualInterface) SetAddressFamily(v string) *NewPublicVirtualInterface {
 11915  	s.AddressFamily = &v
 11916  	return s
 11917  }
 11918  
 11919  // SetAmazonAddress sets the AmazonAddress field's value.
 11920  func (s *NewPublicVirtualInterface) SetAmazonAddress(v string) *NewPublicVirtualInterface {
 11921  	s.AmazonAddress = &v
 11922  	return s
 11923  }
 11924  
 11925  // SetAsn sets the Asn field's value.
 11926  func (s *NewPublicVirtualInterface) SetAsn(v int64) *NewPublicVirtualInterface {
 11927  	s.Asn = &v
 11928  	return s
 11929  }
 11930  
 11931  // SetAuthKey sets the AuthKey field's value.
 11932  func (s *NewPublicVirtualInterface) SetAuthKey(v string) *NewPublicVirtualInterface {
 11933  	s.AuthKey = &v
 11934  	return s
 11935  }
 11936  
 11937  // SetCustomerAddress sets the CustomerAddress field's value.
 11938  func (s *NewPublicVirtualInterface) SetCustomerAddress(v string) *NewPublicVirtualInterface {
 11939  	s.CustomerAddress = &v
 11940  	return s
 11941  }
 11942  
 11943  // SetRouteFilterPrefixes sets the RouteFilterPrefixes field's value.
 11944  func (s *NewPublicVirtualInterface) SetRouteFilterPrefixes(v []*RouteFilterPrefix) *NewPublicVirtualInterface {
 11945  	s.RouteFilterPrefixes = v
 11946  	return s
 11947  }
 11948  
 11949  // SetTags sets the Tags field's value.
 11950  func (s *NewPublicVirtualInterface) SetTags(v []*Tag) *NewPublicVirtualInterface {
 11951  	s.Tags = v
 11952  	return s
 11953  }
 11954  
 11955  // SetVirtualInterfaceName sets the VirtualInterfaceName field's value.
 11956  func (s *NewPublicVirtualInterface) SetVirtualInterfaceName(v string) *NewPublicVirtualInterface {
 11957  	s.VirtualInterfaceName = &v
 11958  	return s
 11959  }
 11960  
 11961  // SetVlan sets the Vlan field's value.
 11962  func (s *NewPublicVirtualInterface) SetVlan(v int64) *NewPublicVirtualInterface {
 11963  	s.Vlan = &v
 11964  	return s
 11965  }
 11966  
 11967  // Information about a public virtual interface to be provisioned on a connection.
 11968  type NewPublicVirtualInterfaceAllocation struct {
 11969  	_ struct{} `type:"structure"`
 11970  
 11971  	// The address family for the BGP peer.
 11972  	AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
 11973  
 11974  	// The IP address assigned to the Amazon interface.
 11975  	AmazonAddress *string `locationName:"amazonAddress" type:"string"`
 11976  
 11977  	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
 11978  	//
 11979  	// The valid values are 1-2147483647.
 11980  	//
 11981  	// Asn is a required field
 11982  	Asn *int64 `locationName:"asn" type:"integer" required:"true"`
 11983  
 11984  	// The authentication key for BGP configuration. This string has a minimum length
 11985  	// of 6 characters and and a maximun lenth of 80 characters.
 11986  	AuthKey *string `locationName:"authKey" type:"string"`
 11987  
 11988  	// The IP address assigned to the customer interface.
 11989  	CustomerAddress *string `locationName:"customerAddress" type:"string"`
 11990  
 11991  	// The routes to be advertised to the Amazon Web Services network in this Region.
 11992  	// Applies to public virtual interfaces.
 11993  	RouteFilterPrefixes []*RouteFilterPrefix `locationName:"routeFilterPrefixes" type:"list"`
 11994  
 11995  	// The tags associated with the public virtual interface.
 11996  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
 11997  
 11998  	// The name of the virtual interface assigned by the customer network. The name
 11999  	// has a maximum of 100 characters. The following are valid characters: a-z,
 12000  	// 0-9 and a hyphen (-).
 12001  	//
 12002  	// VirtualInterfaceName is a required field
 12003  	VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"`
 12004  
 12005  	// The ID of the VLAN.
 12006  	//
 12007  	// Vlan is a required field
 12008  	Vlan *int64 `locationName:"vlan" type:"integer" required:"true"`
 12009  }
 12010  
 12011  // String returns the string representation.
 12012  //
 12013  // API parameter values that are decorated as "sensitive" in the API will not
 12014  // be included in the string output. The member name will be present, but the
 12015  // value will be replaced with "sensitive".
 12016  func (s NewPublicVirtualInterfaceAllocation) String() string {
 12017  	return awsutil.Prettify(s)
 12018  }
 12019  
 12020  // GoString returns the string representation.
 12021  //
 12022  // API parameter values that are decorated as "sensitive" in the API will not
 12023  // be included in the string output. The member name will be present, but the
 12024  // value will be replaced with "sensitive".
 12025  func (s NewPublicVirtualInterfaceAllocation) GoString() string {
 12026  	return s.String()
 12027  }
 12028  
 12029  // Validate inspects the fields of the type to determine if they are valid.
 12030  func (s *NewPublicVirtualInterfaceAllocation) Validate() error {
 12031  	invalidParams := request.ErrInvalidParams{Context: "NewPublicVirtualInterfaceAllocation"}
 12032  	if s.Asn == nil {
 12033  		invalidParams.Add(request.NewErrParamRequired("Asn"))
 12034  	}
 12035  	if s.Tags != nil && len(s.Tags) < 1 {
 12036  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 12037  	}
 12038  	if s.VirtualInterfaceName == nil {
 12039  		invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceName"))
 12040  	}
 12041  	if s.Vlan == nil {
 12042  		invalidParams.Add(request.NewErrParamRequired("Vlan"))
 12043  	}
 12044  	if s.Tags != nil {
 12045  		for i, v := range s.Tags {
 12046  			if v == nil {
 12047  				continue
 12048  			}
 12049  			if err := v.Validate(); err != nil {
 12050  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 12051  			}
 12052  		}
 12053  	}
 12054  
 12055  	if invalidParams.Len() > 0 {
 12056  		return invalidParams
 12057  	}
 12058  	return nil
 12059  }
 12060  
 12061  // SetAddressFamily sets the AddressFamily field's value.
 12062  func (s *NewPublicVirtualInterfaceAllocation) SetAddressFamily(v string) *NewPublicVirtualInterfaceAllocation {
 12063  	s.AddressFamily = &v
 12064  	return s
 12065  }
 12066  
 12067  // SetAmazonAddress sets the AmazonAddress field's value.
 12068  func (s *NewPublicVirtualInterfaceAllocation) SetAmazonAddress(v string) *NewPublicVirtualInterfaceAllocation {
 12069  	s.AmazonAddress = &v
 12070  	return s
 12071  }
 12072  
 12073  // SetAsn sets the Asn field's value.
 12074  func (s *NewPublicVirtualInterfaceAllocation) SetAsn(v int64) *NewPublicVirtualInterfaceAllocation {
 12075  	s.Asn = &v
 12076  	return s
 12077  }
 12078  
 12079  // SetAuthKey sets the AuthKey field's value.
 12080  func (s *NewPublicVirtualInterfaceAllocation) SetAuthKey(v string) *NewPublicVirtualInterfaceAllocation {
 12081  	s.AuthKey = &v
 12082  	return s
 12083  }
 12084  
 12085  // SetCustomerAddress sets the CustomerAddress field's value.
 12086  func (s *NewPublicVirtualInterfaceAllocation) SetCustomerAddress(v string) *NewPublicVirtualInterfaceAllocation {
 12087  	s.CustomerAddress = &v
 12088  	return s
 12089  }
 12090  
 12091  // SetRouteFilterPrefixes sets the RouteFilterPrefixes field's value.
 12092  func (s *NewPublicVirtualInterfaceAllocation) SetRouteFilterPrefixes(v []*RouteFilterPrefix) *NewPublicVirtualInterfaceAllocation {
 12093  	s.RouteFilterPrefixes = v
 12094  	return s
 12095  }
 12096  
 12097  // SetTags sets the Tags field's value.
 12098  func (s *NewPublicVirtualInterfaceAllocation) SetTags(v []*Tag) *NewPublicVirtualInterfaceAllocation {
 12099  	s.Tags = v
 12100  	return s
 12101  }
 12102  
 12103  // SetVirtualInterfaceName sets the VirtualInterfaceName field's value.
 12104  func (s *NewPublicVirtualInterfaceAllocation) SetVirtualInterfaceName(v string) *NewPublicVirtualInterfaceAllocation {
 12105  	s.VirtualInterfaceName = &v
 12106  	return s
 12107  }
 12108  
 12109  // SetVlan sets the Vlan field's value.
 12110  func (s *NewPublicVirtualInterfaceAllocation) SetVlan(v int64) *NewPublicVirtualInterfaceAllocation {
 12111  	s.Vlan = &v
 12112  	return s
 12113  }
 12114  
 12115  // Information about a transit virtual interface.
 12116  type NewTransitVirtualInterface struct {
 12117  	_ struct{} `type:"structure"`
 12118  
 12119  	// The address family for the BGP peer.
 12120  	AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
 12121  
 12122  	// The IP address assigned to the Amazon interface.
 12123  	AmazonAddress *string `locationName:"amazonAddress" type:"string"`
 12124  
 12125  	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
 12126  	//
 12127  	// The valid values are 1-2147483647.
 12128  	Asn *int64 `locationName:"asn" type:"integer"`
 12129  
 12130  	// The authentication key for BGP configuration. This string has a minimum length
 12131  	// of 6 characters and and a maximun lenth of 80 characters.
 12132  	AuthKey *string `locationName:"authKey" type:"string"`
 12133  
 12134  	// The IP address assigned to the customer interface.
 12135  	CustomerAddress *string `locationName:"customerAddress" type:"string"`
 12136  
 12137  	// The ID of the Direct Connect gateway.
 12138  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
 12139  
 12140  	// The maximum transmission unit (MTU), in bytes. The supported values are 1500
 12141  	// and 9001. The default value is 1500.
 12142  	Mtu *int64 `locationName:"mtu" type:"integer"`
 12143  
 12144  	// The tags associated with the transitive virtual interface.
 12145  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
 12146  
 12147  	// The name of the virtual interface assigned by the customer network. The name
 12148  	// has a maximum of 100 characters. The following are valid characters: a-z,
 12149  	// 0-9 and a hyphen (-).
 12150  	VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string"`
 12151  
 12152  	// The ID of the VLAN.
 12153  	Vlan *int64 `locationName:"vlan" type:"integer"`
 12154  }
 12155  
 12156  // String returns the string representation.
 12157  //
 12158  // API parameter values that are decorated as "sensitive" in the API will not
 12159  // be included in the string output. The member name will be present, but the
 12160  // value will be replaced with "sensitive".
 12161  func (s NewTransitVirtualInterface) String() string {
 12162  	return awsutil.Prettify(s)
 12163  }
 12164  
 12165  // GoString returns the string representation.
 12166  //
 12167  // API parameter values that are decorated as "sensitive" in the API will not
 12168  // be included in the string output. The member name will be present, but the
 12169  // value will be replaced with "sensitive".
 12170  func (s NewTransitVirtualInterface) GoString() string {
 12171  	return s.String()
 12172  }
 12173  
 12174  // Validate inspects the fields of the type to determine if they are valid.
 12175  func (s *NewTransitVirtualInterface) Validate() error {
 12176  	invalidParams := request.ErrInvalidParams{Context: "NewTransitVirtualInterface"}
 12177  	if s.Tags != nil && len(s.Tags) < 1 {
 12178  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 12179  	}
 12180  	if s.Tags != nil {
 12181  		for i, v := range s.Tags {
 12182  			if v == nil {
 12183  				continue
 12184  			}
 12185  			if err := v.Validate(); err != nil {
 12186  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 12187  			}
 12188  		}
 12189  	}
 12190  
 12191  	if invalidParams.Len() > 0 {
 12192  		return invalidParams
 12193  	}
 12194  	return nil
 12195  }
 12196  
 12197  // SetAddressFamily sets the AddressFamily field's value.
 12198  func (s *NewTransitVirtualInterface) SetAddressFamily(v string) *NewTransitVirtualInterface {
 12199  	s.AddressFamily = &v
 12200  	return s
 12201  }
 12202  
 12203  // SetAmazonAddress sets the AmazonAddress field's value.
 12204  func (s *NewTransitVirtualInterface) SetAmazonAddress(v string) *NewTransitVirtualInterface {
 12205  	s.AmazonAddress = &v
 12206  	return s
 12207  }
 12208  
 12209  // SetAsn sets the Asn field's value.
 12210  func (s *NewTransitVirtualInterface) SetAsn(v int64) *NewTransitVirtualInterface {
 12211  	s.Asn = &v
 12212  	return s
 12213  }
 12214  
 12215  // SetAuthKey sets the AuthKey field's value.
 12216  func (s *NewTransitVirtualInterface) SetAuthKey(v string) *NewTransitVirtualInterface {
 12217  	s.AuthKey = &v
 12218  	return s
 12219  }
 12220  
 12221  // SetCustomerAddress sets the CustomerAddress field's value.
 12222  func (s *NewTransitVirtualInterface) SetCustomerAddress(v string) *NewTransitVirtualInterface {
 12223  	s.CustomerAddress = &v
 12224  	return s
 12225  }
 12226  
 12227  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
 12228  func (s *NewTransitVirtualInterface) SetDirectConnectGatewayId(v string) *NewTransitVirtualInterface {
 12229  	s.DirectConnectGatewayId = &v
 12230  	return s
 12231  }
 12232  
 12233  // SetMtu sets the Mtu field's value.
 12234  func (s *NewTransitVirtualInterface) SetMtu(v int64) *NewTransitVirtualInterface {
 12235  	s.Mtu = &v
 12236  	return s
 12237  }
 12238  
 12239  // SetTags sets the Tags field's value.
 12240  func (s *NewTransitVirtualInterface) SetTags(v []*Tag) *NewTransitVirtualInterface {
 12241  	s.Tags = v
 12242  	return s
 12243  }
 12244  
 12245  // SetVirtualInterfaceName sets the VirtualInterfaceName field's value.
 12246  func (s *NewTransitVirtualInterface) SetVirtualInterfaceName(v string) *NewTransitVirtualInterface {
 12247  	s.VirtualInterfaceName = &v
 12248  	return s
 12249  }
 12250  
 12251  // SetVlan sets the Vlan field's value.
 12252  func (s *NewTransitVirtualInterface) SetVlan(v int64) *NewTransitVirtualInterface {
 12253  	s.Vlan = &v
 12254  	return s
 12255  }
 12256  
 12257  // Information about a transit virtual interface to be provisioned on a connection.
 12258  type NewTransitVirtualInterfaceAllocation struct {
 12259  	_ struct{} `type:"structure"`
 12260  
 12261  	// The address family for the BGP peer.
 12262  	AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
 12263  
 12264  	// The IP address assigned to the Amazon interface.
 12265  	AmazonAddress *string `locationName:"amazonAddress" type:"string"`
 12266  
 12267  	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
 12268  	//
 12269  	// The valid values are 1-2147483647.
 12270  	Asn *int64 `locationName:"asn" type:"integer"`
 12271  
 12272  	// The authentication key for BGP configuration. This string has a minimum length
 12273  	// of 6 characters and and a maximun lenth of 80 characters.
 12274  	AuthKey *string `locationName:"authKey" type:"string"`
 12275  
 12276  	// The IP address assigned to the customer interface.
 12277  	CustomerAddress *string `locationName:"customerAddress" type:"string"`
 12278  
 12279  	// The maximum transmission unit (MTU), in bytes. The supported values are 1500
 12280  	// and 9001. The default value is 1500.
 12281  	Mtu *int64 `locationName:"mtu" type:"integer"`
 12282  
 12283  	// The tags associated with the transitive virtual interface.
 12284  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
 12285  
 12286  	// The name of the virtual interface assigned by the customer network. The name
 12287  	// has a maximum of 100 characters. The following are valid characters: a-z,
 12288  	// 0-9 and a hyphen (-).
 12289  	VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string"`
 12290  
 12291  	// The ID of the VLAN.
 12292  	Vlan *int64 `locationName:"vlan" type:"integer"`
 12293  }
 12294  
 12295  // String returns the string representation.
 12296  //
 12297  // API parameter values that are decorated as "sensitive" in the API will not
 12298  // be included in the string output. The member name will be present, but the
 12299  // value will be replaced with "sensitive".
 12300  func (s NewTransitVirtualInterfaceAllocation) String() string {
 12301  	return awsutil.Prettify(s)
 12302  }
 12303  
 12304  // GoString returns the string representation.
 12305  //
 12306  // API parameter values that are decorated as "sensitive" in the API will not
 12307  // be included in the string output. The member name will be present, but the
 12308  // value will be replaced with "sensitive".
 12309  func (s NewTransitVirtualInterfaceAllocation) GoString() string {
 12310  	return s.String()
 12311  }
 12312  
 12313  // Validate inspects the fields of the type to determine if they are valid.
 12314  func (s *NewTransitVirtualInterfaceAllocation) Validate() error {
 12315  	invalidParams := request.ErrInvalidParams{Context: "NewTransitVirtualInterfaceAllocation"}
 12316  	if s.Tags != nil && len(s.Tags) < 1 {
 12317  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 12318  	}
 12319  	if s.Tags != nil {
 12320  		for i, v := range s.Tags {
 12321  			if v == nil {
 12322  				continue
 12323  			}
 12324  			if err := v.Validate(); err != nil {
 12325  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 12326  			}
 12327  		}
 12328  	}
 12329  
 12330  	if invalidParams.Len() > 0 {
 12331  		return invalidParams
 12332  	}
 12333  	return nil
 12334  }
 12335  
 12336  // SetAddressFamily sets the AddressFamily field's value.
 12337  func (s *NewTransitVirtualInterfaceAllocation) SetAddressFamily(v string) *NewTransitVirtualInterfaceAllocation {
 12338  	s.AddressFamily = &v
 12339  	return s
 12340  }
 12341  
 12342  // SetAmazonAddress sets the AmazonAddress field's value.
 12343  func (s *NewTransitVirtualInterfaceAllocation) SetAmazonAddress(v string) *NewTransitVirtualInterfaceAllocation {
 12344  	s.AmazonAddress = &v
 12345  	return s
 12346  }
 12347  
 12348  // SetAsn sets the Asn field's value.
 12349  func (s *NewTransitVirtualInterfaceAllocation) SetAsn(v int64) *NewTransitVirtualInterfaceAllocation {
 12350  	s.Asn = &v
 12351  	return s
 12352  }
 12353  
 12354  // SetAuthKey sets the AuthKey field's value.
 12355  func (s *NewTransitVirtualInterfaceAllocation) SetAuthKey(v string) *NewTransitVirtualInterfaceAllocation {
 12356  	s.AuthKey = &v
 12357  	return s
 12358  }
 12359  
 12360  // SetCustomerAddress sets the CustomerAddress field's value.
 12361  func (s *NewTransitVirtualInterfaceAllocation) SetCustomerAddress(v string) *NewTransitVirtualInterfaceAllocation {
 12362  	s.CustomerAddress = &v
 12363  	return s
 12364  }
 12365  
 12366  // SetMtu sets the Mtu field's value.
 12367  func (s *NewTransitVirtualInterfaceAllocation) SetMtu(v int64) *NewTransitVirtualInterfaceAllocation {
 12368  	s.Mtu = &v
 12369  	return s
 12370  }
 12371  
 12372  // SetTags sets the Tags field's value.
 12373  func (s *NewTransitVirtualInterfaceAllocation) SetTags(v []*Tag) *NewTransitVirtualInterfaceAllocation {
 12374  	s.Tags = v
 12375  	return s
 12376  }
 12377  
 12378  // SetVirtualInterfaceName sets the VirtualInterfaceName field's value.
 12379  func (s *NewTransitVirtualInterfaceAllocation) SetVirtualInterfaceName(v string) *NewTransitVirtualInterfaceAllocation {
 12380  	s.VirtualInterfaceName = &v
 12381  	return s
 12382  }
 12383  
 12384  // SetVlan sets the Vlan field's value.
 12385  func (s *NewTransitVirtualInterfaceAllocation) SetVlan(v int64) *NewTransitVirtualInterfaceAllocation {
 12386  	s.Vlan = &v
 12387  	return s
 12388  }
 12389  
 12390  // Information about a tag associated with an Direct Connect resource.
 12391  type ResourceTag struct {
 12392  	_ struct{} `type:"structure"`
 12393  
 12394  	// The Amazon Resource Name (ARN) of the resource.
 12395  	ResourceArn *string `locationName:"resourceArn" type:"string"`
 12396  
 12397  	// The tags.
 12398  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
 12399  }
 12400  
 12401  // String returns the string representation.
 12402  //
 12403  // API parameter values that are decorated as "sensitive" in the API will not
 12404  // be included in the string output. The member name will be present, but the
 12405  // value will be replaced with "sensitive".
 12406  func (s ResourceTag) String() string {
 12407  	return awsutil.Prettify(s)
 12408  }
 12409  
 12410  // GoString returns the string representation.
 12411  //
 12412  // API parameter values that are decorated as "sensitive" in the API will not
 12413  // be included in the string output. The member name will be present, but the
 12414  // value will be replaced with "sensitive".
 12415  func (s ResourceTag) GoString() string {
 12416  	return s.String()
 12417  }
 12418  
 12419  // SetResourceArn sets the ResourceArn field's value.
 12420  func (s *ResourceTag) SetResourceArn(v string) *ResourceTag {
 12421  	s.ResourceArn = &v
 12422  	return s
 12423  }
 12424  
 12425  // SetTags sets the Tags field's value.
 12426  func (s *ResourceTag) SetTags(v []*Tag) *ResourceTag {
 12427  	s.Tags = v
 12428  	return s
 12429  }
 12430  
 12431  // Information about a route filter prefix that a customer can advertise through
 12432  // Border Gateway Protocol (BGP) over a public virtual interface.
 12433  type RouteFilterPrefix struct {
 12434  	_ struct{} `type:"structure"`
 12435  
 12436  	// The CIDR block for the advertised route. Separate multiple routes using commas.
 12437  	// An IPv6 CIDR must use /64 or shorter.
 12438  	Cidr *string `locationName:"cidr" type:"string"`
 12439  }
 12440  
 12441  // String returns the string representation.
 12442  //
 12443  // API parameter values that are decorated as "sensitive" in the API will not
 12444  // be included in the string output. The member name will be present, but the
 12445  // value will be replaced with "sensitive".
 12446  func (s RouteFilterPrefix) String() string {
 12447  	return awsutil.Prettify(s)
 12448  }
 12449  
 12450  // GoString returns the string representation.
 12451  //
 12452  // API parameter values that are decorated as "sensitive" in the API will not
 12453  // be included in the string output. The member name will be present, but the
 12454  // value will be replaced with "sensitive".
 12455  func (s RouteFilterPrefix) GoString() string {
 12456  	return s.String()
 12457  }
 12458  
 12459  // SetCidr sets the Cidr field's value.
 12460  func (s *RouteFilterPrefix) SetCidr(v string) *RouteFilterPrefix {
 12461  	s.Cidr = &v
 12462  	return s
 12463  }
 12464  
 12465  // A server-side error occurred.
 12466  type ServerException struct {
 12467  	_            struct{}                  `type:"structure"`
 12468  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12469  
 12470  	Message_ *string `locationName:"message" type:"string"`
 12471  }
 12472  
 12473  // String returns the string representation.
 12474  //
 12475  // API parameter values that are decorated as "sensitive" in the API will not
 12476  // be included in the string output. The member name will be present, but the
 12477  // value will be replaced with "sensitive".
 12478  func (s ServerException) String() string {
 12479  	return awsutil.Prettify(s)
 12480  }
 12481  
 12482  // GoString returns the string representation.
 12483  //
 12484  // API parameter values that are decorated as "sensitive" in the API will not
 12485  // be included in the string output. The member name will be present, but the
 12486  // value will be replaced with "sensitive".
 12487  func (s ServerException) GoString() string {
 12488  	return s.String()
 12489  }
 12490  
 12491  func newErrorServerException(v protocol.ResponseMetadata) error {
 12492  	return &ServerException{
 12493  		RespMetadata: v,
 12494  	}
 12495  }
 12496  
 12497  // Code returns the exception type name.
 12498  func (s *ServerException) Code() string {
 12499  	return "DirectConnectServerException"
 12500  }
 12501  
 12502  // Message returns the exception's message.
 12503  func (s *ServerException) Message() string {
 12504  	if s.Message_ != nil {
 12505  		return *s.Message_
 12506  	}
 12507  	return ""
 12508  }
 12509  
 12510  // OrigErr always returns nil, satisfies awserr.Error interface.
 12511  func (s *ServerException) OrigErr() error {
 12512  	return nil
 12513  }
 12514  
 12515  func (s *ServerException) Error() string {
 12516  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12517  }
 12518  
 12519  // Status code returns the HTTP status code for the request's response error.
 12520  func (s *ServerException) StatusCode() int {
 12521  	return s.RespMetadata.StatusCode
 12522  }
 12523  
 12524  // RequestID returns the service's response RequestID for request.
 12525  func (s *ServerException) RequestID() string {
 12526  	return s.RespMetadata.RequestID
 12527  }
 12528  
 12529  type StartBgpFailoverTestInput struct {
 12530  	_ struct{} `type:"structure"`
 12531  
 12532  	// The BGP peers to place in the DOWN state.
 12533  	BgpPeers []*string `locationName:"bgpPeers" type:"list"`
 12534  
 12535  	// The time in minutes that the virtual interface failover test will last.
 12536  	//
 12537  	// Maximum value: 180 minutes (3 hours).
 12538  	//
 12539  	// Default: 180 minutes (3 hours).
 12540  	TestDurationInMinutes *int64 `locationName:"testDurationInMinutes" type:"integer"`
 12541  
 12542  	// The ID of the virtual interface you want to test.
 12543  	//
 12544  	// VirtualInterfaceId is a required field
 12545  	VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string" required:"true"`
 12546  }
 12547  
 12548  // String returns the string representation.
 12549  //
 12550  // API parameter values that are decorated as "sensitive" in the API will not
 12551  // be included in the string output. The member name will be present, but the
 12552  // value will be replaced with "sensitive".
 12553  func (s StartBgpFailoverTestInput) String() string {
 12554  	return awsutil.Prettify(s)
 12555  }
 12556  
 12557  // GoString returns the string representation.
 12558  //
 12559  // API parameter values that are decorated as "sensitive" in the API will not
 12560  // be included in the string output. The member name will be present, but the
 12561  // value will be replaced with "sensitive".
 12562  func (s StartBgpFailoverTestInput) GoString() string {
 12563  	return s.String()
 12564  }
 12565  
 12566  // Validate inspects the fields of the type to determine if they are valid.
 12567  func (s *StartBgpFailoverTestInput) Validate() error {
 12568  	invalidParams := request.ErrInvalidParams{Context: "StartBgpFailoverTestInput"}
 12569  	if s.VirtualInterfaceId == nil {
 12570  		invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceId"))
 12571  	}
 12572  
 12573  	if invalidParams.Len() > 0 {
 12574  		return invalidParams
 12575  	}
 12576  	return nil
 12577  }
 12578  
 12579  // SetBgpPeers sets the BgpPeers field's value.
 12580  func (s *StartBgpFailoverTestInput) SetBgpPeers(v []*string) *StartBgpFailoverTestInput {
 12581  	s.BgpPeers = v
 12582  	return s
 12583  }
 12584  
 12585  // SetTestDurationInMinutes sets the TestDurationInMinutes field's value.
 12586  func (s *StartBgpFailoverTestInput) SetTestDurationInMinutes(v int64) *StartBgpFailoverTestInput {
 12587  	s.TestDurationInMinutes = &v
 12588  	return s
 12589  }
 12590  
 12591  // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
 12592  func (s *StartBgpFailoverTestInput) SetVirtualInterfaceId(v string) *StartBgpFailoverTestInput {
 12593  	s.VirtualInterfaceId = &v
 12594  	return s
 12595  }
 12596  
 12597  type StartBgpFailoverTestOutput struct {
 12598  	_ struct{} `type:"structure"`
 12599  
 12600  	// Information about the virtual interface failover test.
 12601  	VirtualInterfaceTest *VirtualInterfaceTestHistory `locationName:"virtualInterfaceTest" type:"structure"`
 12602  }
 12603  
 12604  // String returns the string representation.
 12605  //
 12606  // API parameter values that are decorated as "sensitive" in the API will not
 12607  // be included in the string output. The member name will be present, but the
 12608  // value will be replaced with "sensitive".
 12609  func (s StartBgpFailoverTestOutput) String() string {
 12610  	return awsutil.Prettify(s)
 12611  }
 12612  
 12613  // GoString returns the string representation.
 12614  //
 12615  // API parameter values that are decorated as "sensitive" in the API will not
 12616  // be included in the string output. The member name will be present, but the
 12617  // value will be replaced with "sensitive".
 12618  func (s StartBgpFailoverTestOutput) GoString() string {
 12619  	return s.String()
 12620  }
 12621  
 12622  // SetVirtualInterfaceTest sets the VirtualInterfaceTest field's value.
 12623  func (s *StartBgpFailoverTestOutput) SetVirtualInterfaceTest(v *VirtualInterfaceTestHistory) *StartBgpFailoverTestOutput {
 12624  	s.VirtualInterfaceTest = v
 12625  	return s
 12626  }
 12627  
 12628  type StopBgpFailoverTestInput struct {
 12629  	_ struct{} `type:"structure"`
 12630  
 12631  	// The ID of the virtual interface you no longer want to test.
 12632  	//
 12633  	// VirtualInterfaceId is a required field
 12634  	VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string" required:"true"`
 12635  }
 12636  
 12637  // String returns the string representation.
 12638  //
 12639  // API parameter values that are decorated as "sensitive" in the API will not
 12640  // be included in the string output. The member name will be present, but the
 12641  // value will be replaced with "sensitive".
 12642  func (s StopBgpFailoverTestInput) String() string {
 12643  	return awsutil.Prettify(s)
 12644  }
 12645  
 12646  // GoString returns the string representation.
 12647  //
 12648  // API parameter values that are decorated as "sensitive" in the API will not
 12649  // be included in the string output. The member name will be present, but the
 12650  // value will be replaced with "sensitive".
 12651  func (s StopBgpFailoverTestInput) GoString() string {
 12652  	return s.String()
 12653  }
 12654  
 12655  // Validate inspects the fields of the type to determine if they are valid.
 12656  func (s *StopBgpFailoverTestInput) Validate() error {
 12657  	invalidParams := request.ErrInvalidParams{Context: "StopBgpFailoverTestInput"}
 12658  	if s.VirtualInterfaceId == nil {
 12659  		invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceId"))
 12660  	}
 12661  
 12662  	if invalidParams.Len() > 0 {
 12663  		return invalidParams
 12664  	}
 12665  	return nil
 12666  }
 12667  
 12668  // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
 12669  func (s *StopBgpFailoverTestInput) SetVirtualInterfaceId(v string) *StopBgpFailoverTestInput {
 12670  	s.VirtualInterfaceId = &v
 12671  	return s
 12672  }
 12673  
 12674  type StopBgpFailoverTestOutput struct {
 12675  	_ struct{} `type:"structure"`
 12676  
 12677  	// Information about the virtual interface failover test.
 12678  	VirtualInterfaceTest *VirtualInterfaceTestHistory `locationName:"virtualInterfaceTest" type:"structure"`
 12679  }
 12680  
 12681  // String returns the string representation.
 12682  //
 12683  // API parameter values that are decorated as "sensitive" in the API will not
 12684  // be included in the string output. The member name will be present, but the
 12685  // value will be replaced with "sensitive".
 12686  func (s StopBgpFailoverTestOutput) String() string {
 12687  	return awsutil.Prettify(s)
 12688  }
 12689  
 12690  // GoString returns the string representation.
 12691  //
 12692  // API parameter values that are decorated as "sensitive" in the API will not
 12693  // be included in the string output. The member name will be present, but the
 12694  // value will be replaced with "sensitive".
 12695  func (s StopBgpFailoverTestOutput) GoString() string {
 12696  	return s.String()
 12697  }
 12698  
 12699  // SetVirtualInterfaceTest sets the VirtualInterfaceTest field's value.
 12700  func (s *StopBgpFailoverTestOutput) SetVirtualInterfaceTest(v *VirtualInterfaceTestHistory) *StopBgpFailoverTestOutput {
 12701  	s.VirtualInterfaceTest = v
 12702  	return s
 12703  }
 12704  
 12705  // Information about a tag.
 12706  type Tag struct {
 12707  	_ struct{} `type:"structure"`
 12708  
 12709  	// The key.
 12710  	//
 12711  	// Key is a required field
 12712  	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
 12713  
 12714  	// The value.
 12715  	Value *string `locationName:"value" type:"string"`
 12716  }
 12717  
 12718  // String returns the string representation.
 12719  //
 12720  // API parameter values that are decorated as "sensitive" in the API will not
 12721  // be included in the string output. The member name will be present, but the
 12722  // value will be replaced with "sensitive".
 12723  func (s Tag) String() string {
 12724  	return awsutil.Prettify(s)
 12725  }
 12726  
 12727  // GoString returns the string representation.
 12728  //
 12729  // API parameter values that are decorated as "sensitive" in the API will not
 12730  // be included in the string output. The member name will be present, but the
 12731  // value will be replaced with "sensitive".
 12732  func (s Tag) GoString() string {
 12733  	return s.String()
 12734  }
 12735  
 12736  // Validate inspects the fields of the type to determine if they are valid.
 12737  func (s *Tag) Validate() error {
 12738  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
 12739  	if s.Key == nil {
 12740  		invalidParams.Add(request.NewErrParamRequired("Key"))
 12741  	}
 12742  	if s.Key != nil && len(*s.Key) < 1 {
 12743  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 12744  	}
 12745  
 12746  	if invalidParams.Len() > 0 {
 12747  		return invalidParams
 12748  	}
 12749  	return nil
 12750  }
 12751  
 12752  // SetKey sets the Key field's value.
 12753  func (s *Tag) SetKey(v string) *Tag {
 12754  	s.Key = &v
 12755  	return s
 12756  }
 12757  
 12758  // SetValue sets the Value field's value.
 12759  func (s *Tag) SetValue(v string) *Tag {
 12760  	s.Value = &v
 12761  	return s
 12762  }
 12763  
 12764  type TagResourceInput struct {
 12765  	_ struct{} `type:"structure"`
 12766  
 12767  	// The Amazon Resource Name (ARN) of the resource.
 12768  	//
 12769  	// ResourceArn is a required field
 12770  	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
 12771  
 12772  	// The tags to add.
 12773  	//
 12774  	// Tags is a required field
 12775  	Tags []*Tag `locationName:"tags" min:"1" type:"list" required:"true"`
 12776  }
 12777  
 12778  // String returns the string representation.
 12779  //
 12780  // API parameter values that are decorated as "sensitive" in the API will not
 12781  // be included in the string output. The member name will be present, but the
 12782  // value will be replaced with "sensitive".
 12783  func (s TagResourceInput) String() string {
 12784  	return awsutil.Prettify(s)
 12785  }
 12786  
 12787  // GoString returns the string representation.
 12788  //
 12789  // API parameter values that are decorated as "sensitive" in the API will not
 12790  // be included in the string output. The member name will be present, but the
 12791  // value will be replaced with "sensitive".
 12792  func (s TagResourceInput) GoString() string {
 12793  	return s.String()
 12794  }
 12795  
 12796  // Validate inspects the fields of the type to determine if they are valid.
 12797  func (s *TagResourceInput) Validate() error {
 12798  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 12799  	if s.ResourceArn == nil {
 12800  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 12801  	}
 12802  	if s.Tags == nil {
 12803  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 12804  	}
 12805  	if s.Tags != nil && len(s.Tags) < 1 {
 12806  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 12807  	}
 12808  	if s.Tags != nil {
 12809  		for i, v := range s.Tags {
 12810  			if v == nil {
 12811  				continue
 12812  			}
 12813  			if err := v.Validate(); err != nil {
 12814  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 12815  			}
 12816  		}
 12817  	}
 12818  
 12819  	if invalidParams.Len() > 0 {
 12820  		return invalidParams
 12821  	}
 12822  	return nil
 12823  }
 12824  
 12825  // SetResourceArn sets the ResourceArn field's value.
 12826  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 12827  	s.ResourceArn = &v
 12828  	return s
 12829  }
 12830  
 12831  // SetTags sets the Tags field's value.
 12832  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
 12833  	s.Tags = v
 12834  	return s
 12835  }
 12836  
 12837  type TagResourceOutput struct {
 12838  	_ struct{} `type:"structure"`
 12839  }
 12840  
 12841  // String returns the string representation.
 12842  //
 12843  // API parameter values that are decorated as "sensitive" in the API will not
 12844  // be included in the string output. The member name will be present, but the
 12845  // value will be replaced with "sensitive".
 12846  func (s TagResourceOutput) String() string {
 12847  	return awsutil.Prettify(s)
 12848  }
 12849  
 12850  // GoString returns the string representation.
 12851  //
 12852  // API parameter values that are decorated as "sensitive" in the API will not
 12853  // be included in the string output. The member name will be present, but the
 12854  // value will be replaced with "sensitive".
 12855  func (s TagResourceOutput) GoString() string {
 12856  	return s.String()
 12857  }
 12858  
 12859  // You have reached the limit on the number of tags that can be assigned.
 12860  type TooManyTagsException struct {
 12861  	_            struct{}                  `type:"structure"`
 12862  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12863  
 12864  	Message_ *string `locationName:"message" type:"string"`
 12865  }
 12866  
 12867  // String returns the string representation.
 12868  //
 12869  // API parameter values that are decorated as "sensitive" in the API will not
 12870  // be included in the string output. The member name will be present, but the
 12871  // value will be replaced with "sensitive".
 12872  func (s TooManyTagsException) String() string {
 12873  	return awsutil.Prettify(s)
 12874  }
 12875  
 12876  // GoString returns the string representation.
 12877  //
 12878  // API parameter values that are decorated as "sensitive" in the API will not
 12879  // be included in the string output. The member name will be present, but the
 12880  // value will be replaced with "sensitive".
 12881  func (s TooManyTagsException) GoString() string {
 12882  	return s.String()
 12883  }
 12884  
 12885  func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
 12886  	return &TooManyTagsException{
 12887  		RespMetadata: v,
 12888  	}
 12889  }
 12890  
 12891  // Code returns the exception type name.
 12892  func (s *TooManyTagsException) Code() string {
 12893  	return "TooManyTagsException"
 12894  }
 12895  
 12896  // Message returns the exception's message.
 12897  func (s *TooManyTagsException) Message() string {
 12898  	if s.Message_ != nil {
 12899  		return *s.Message_
 12900  	}
 12901  	return ""
 12902  }
 12903  
 12904  // OrigErr always returns nil, satisfies awserr.Error interface.
 12905  func (s *TooManyTagsException) OrigErr() error {
 12906  	return nil
 12907  }
 12908  
 12909  func (s *TooManyTagsException) Error() string {
 12910  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12911  }
 12912  
 12913  // Status code returns the HTTP status code for the request's response error.
 12914  func (s *TooManyTagsException) StatusCode() int {
 12915  	return s.RespMetadata.StatusCode
 12916  }
 12917  
 12918  // RequestID returns the service's response RequestID for request.
 12919  func (s *TooManyTagsException) RequestID() string {
 12920  	return s.RespMetadata.RequestID
 12921  }
 12922  
 12923  type UntagResourceInput struct {
 12924  	_ struct{} `type:"structure"`
 12925  
 12926  	// The Amazon Resource Name (ARN) of the resource.
 12927  	//
 12928  	// ResourceArn is a required field
 12929  	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
 12930  
 12931  	// The tag keys of the tags to remove.
 12932  	//
 12933  	// TagKeys is a required field
 12934  	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
 12935  }
 12936  
 12937  // String returns the string representation.
 12938  //
 12939  // API parameter values that are decorated as "sensitive" in the API will not
 12940  // be included in the string output. The member name will be present, but the
 12941  // value will be replaced with "sensitive".
 12942  func (s UntagResourceInput) String() string {
 12943  	return awsutil.Prettify(s)
 12944  }
 12945  
 12946  // GoString returns the string representation.
 12947  //
 12948  // API parameter values that are decorated as "sensitive" in the API will not
 12949  // be included in the string output. The member name will be present, but the
 12950  // value will be replaced with "sensitive".
 12951  func (s UntagResourceInput) GoString() string {
 12952  	return s.String()
 12953  }
 12954  
 12955  // Validate inspects the fields of the type to determine if they are valid.
 12956  func (s *UntagResourceInput) Validate() error {
 12957  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 12958  	if s.ResourceArn == nil {
 12959  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 12960  	}
 12961  	if s.TagKeys == nil {
 12962  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 12963  	}
 12964  
 12965  	if invalidParams.Len() > 0 {
 12966  		return invalidParams
 12967  	}
 12968  	return nil
 12969  }
 12970  
 12971  // SetResourceArn sets the ResourceArn field's value.
 12972  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 12973  	s.ResourceArn = &v
 12974  	return s
 12975  }
 12976  
 12977  // SetTagKeys sets the TagKeys field's value.
 12978  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 12979  	s.TagKeys = v
 12980  	return s
 12981  }
 12982  
 12983  type UntagResourceOutput struct {
 12984  	_ struct{} `type:"structure"`
 12985  }
 12986  
 12987  // String returns the string representation.
 12988  //
 12989  // API parameter values that are decorated as "sensitive" in the API will not
 12990  // be included in the string output. The member name will be present, but the
 12991  // value will be replaced with "sensitive".
 12992  func (s UntagResourceOutput) String() string {
 12993  	return awsutil.Prettify(s)
 12994  }
 12995  
 12996  // GoString returns the string representation.
 12997  //
 12998  // API parameter values that are decorated as "sensitive" in the API will not
 12999  // be included in the string output. The member name will be present, but the
 13000  // value will be replaced with "sensitive".
 13001  func (s UntagResourceOutput) GoString() string {
 13002  	return s.String()
 13003  }
 13004  
 13005  type UpdateConnectionInput struct {
 13006  	_ struct{} `type:"structure"`
 13007  
 13008  	// The ID of the dedicated connection.
 13009  	//
 13010  	// You can use DescribeConnections to retrieve the connection ID.
 13011  	//
 13012  	// ConnectionId is a required field
 13013  	ConnectionId *string `locationName:"connectionId" type:"string" required:"true"`
 13014  
 13015  	// The name of the connection.
 13016  	ConnectionName *string `locationName:"connectionName" type:"string"`
 13017  
 13018  	// The connection MAC Security (MACsec) encryption mode.
 13019  	//
 13020  	// The valid values are no_encrypt, should_encrypt, and must_encrypt.
 13021  	EncryptionMode *string `locationName:"encryptionMode" type:"string"`
 13022  }
 13023  
 13024  // String returns the string representation.
 13025  //
 13026  // API parameter values that are decorated as "sensitive" in the API will not
 13027  // be included in the string output. The member name will be present, but the
 13028  // value will be replaced with "sensitive".
 13029  func (s UpdateConnectionInput) String() string {
 13030  	return awsutil.Prettify(s)
 13031  }
 13032  
 13033  // GoString returns the string representation.
 13034  //
 13035  // API parameter values that are decorated as "sensitive" in the API will not
 13036  // be included in the string output. The member name will be present, but the
 13037  // value will be replaced with "sensitive".
 13038  func (s UpdateConnectionInput) GoString() string {
 13039  	return s.String()
 13040  }
 13041  
 13042  // Validate inspects the fields of the type to determine if they are valid.
 13043  func (s *UpdateConnectionInput) Validate() error {
 13044  	invalidParams := request.ErrInvalidParams{Context: "UpdateConnectionInput"}
 13045  	if s.ConnectionId == nil {
 13046  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
 13047  	}
 13048  
 13049  	if invalidParams.Len() > 0 {
 13050  		return invalidParams
 13051  	}
 13052  	return nil
 13053  }
 13054  
 13055  // SetConnectionId sets the ConnectionId field's value.
 13056  func (s *UpdateConnectionInput) SetConnectionId(v string) *UpdateConnectionInput {
 13057  	s.ConnectionId = &v
 13058  	return s
 13059  }
 13060  
 13061  // SetConnectionName sets the ConnectionName field's value.
 13062  func (s *UpdateConnectionInput) SetConnectionName(v string) *UpdateConnectionInput {
 13063  	s.ConnectionName = &v
 13064  	return s
 13065  }
 13066  
 13067  // SetEncryptionMode sets the EncryptionMode field's value.
 13068  func (s *UpdateConnectionInput) SetEncryptionMode(v string) *UpdateConnectionInput {
 13069  	s.EncryptionMode = &v
 13070  	return s
 13071  }
 13072  
 13073  // Information about an Direct Connect connection.
 13074  type UpdateConnectionOutput struct {
 13075  	_ struct{} `type:"structure"`
 13076  
 13077  	// The Direct Connect endpoint on which the physical connection terminates.
 13078  	AwsDevice *string `locationName:"awsDevice" deprecated:"true" type:"string"`
 13079  
 13080  	// The Direct Connect endpoint that terminates the physical connection.
 13081  	AwsDeviceV2 *string `locationName:"awsDeviceV2" type:"string"`
 13082  
 13083  	// The Direct Connect endpoint that terminates the logical connection. This
 13084  	// device might be different than the device that terminates the physical connection.
 13085  	AwsLogicalDeviceId *string `locationName:"awsLogicalDeviceId" type:"string"`
 13086  
 13087  	// The bandwidth of the connection.
 13088  	Bandwidth *string `locationName:"bandwidth" type:"string"`
 13089  
 13090  	// The ID of the connection.
 13091  	ConnectionId *string `locationName:"connectionId" type:"string"`
 13092  
 13093  	// The name of the connection.
 13094  	ConnectionName *string `locationName:"connectionName" type:"string"`
 13095  
 13096  	// The state of the connection. The following are the possible values:
 13097  	//
 13098  	//    * ordering: The initial state of a hosted connection provisioned on an
 13099  	//    interconnect. The connection stays in the ordering state until the owner
 13100  	//    of the hosted connection confirms or declines the connection order.
 13101  	//
 13102  	//    * requested: The initial state of a standard connection. The connection
 13103  	//    stays in the requested state until the Letter of Authorization (LOA) is
 13104  	//    sent to the customer.
 13105  	//
 13106  	//    * pending: The connection has been approved and is being initialized.
 13107  	//
 13108  	//    * available: The network link is up and the connection is ready for use.
 13109  	//
 13110  	//    * down: The network link is down.
 13111  	//
 13112  	//    * deleting: The connection is being deleted.
 13113  	//
 13114  	//    * deleted: The connection has been deleted.
 13115  	//
 13116  	//    * rejected: A hosted connection in the ordering state enters the rejected
 13117  	//    state if it is deleted by the customer.
 13118  	//
 13119  	//    * unknown: The state of the connection is not available.
 13120  	ConnectionState *string `locationName:"connectionState" type:"string" enum:"ConnectionState"`
 13121  
 13122  	// The MAC Security (MACsec) connection encryption mode.
 13123  	//
 13124  	// The valid values are no_encrypt, should_encrypt, and must_encrypt.
 13125  	EncryptionMode *string `locationName:"encryptionMode" type:"string"`
 13126  
 13127  	// Indicates whether the connection supports a secondary BGP peer in the same
 13128  	// address family (IPv4/IPv6).
 13129  	HasLogicalRedundancy *string `locationName:"hasLogicalRedundancy" type:"string" enum:"HasLogicalRedundancy"`
 13130  
 13131  	// Indicates whether jumbo frames (9001 MTU) are supported.
 13132  	JumboFrameCapable *bool `locationName:"jumboFrameCapable" type:"boolean"`
 13133  
 13134  	// The ID of the LAG.
 13135  	LagId *string `locationName:"lagId" type:"string"`
 13136  
 13137  	// The time of the most recent call to DescribeLoa for this connection.
 13138  	LoaIssueTime *time.Time `locationName:"loaIssueTime" type:"timestamp"`
 13139  
 13140  	// The location of the connection.
 13141  	Location *string `locationName:"location" type:"string"`
 13142  
 13143  	// Indicates whether the connection supports MAC Security (MACsec).
 13144  	MacSecCapable *bool `locationName:"macSecCapable" type:"boolean"`
 13145  
 13146  	// The MAC Security (MACsec) security keys associated with the connection.
 13147  	MacSecKeys []*MacSecKey `locationName:"macSecKeys" type:"list"`
 13148  
 13149  	// The ID of the account that owns the connection.
 13150  	OwnerAccount *string `locationName:"ownerAccount" type:"string"`
 13151  
 13152  	// The name of the Direct Connect service provider associated with the connection.
 13153  	PartnerName *string `locationName:"partnerName" type:"string"`
 13154  
 13155  	// The MAC Security (MACsec) port link status of the connection.
 13156  	//
 13157  	// The valid values are Encryption Up, which means that there is an active Connection
 13158  	// Key Name, or Encryption Down.
 13159  	PortEncryptionStatus *string `locationName:"portEncryptionStatus" type:"string"`
 13160  
 13161  	// The name of the service provider associated with the connection.
 13162  	ProviderName *string `locationName:"providerName" type:"string"`
 13163  
 13164  	// The Region where the connection is located.
 13165  	Region *string `locationName:"region" type:"string"`
 13166  
 13167  	// The tags associated with the connection.
 13168  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
 13169  
 13170  	// The ID of the VLAN.
 13171  	Vlan *int64 `locationName:"vlan" type:"integer"`
 13172  }
 13173  
 13174  // String returns the string representation.
 13175  //
 13176  // API parameter values that are decorated as "sensitive" in the API will not
 13177  // be included in the string output. The member name will be present, but the
 13178  // value will be replaced with "sensitive".
 13179  func (s UpdateConnectionOutput) String() string {
 13180  	return awsutil.Prettify(s)
 13181  }
 13182  
 13183  // GoString returns the string representation.
 13184  //
 13185  // API parameter values that are decorated as "sensitive" in the API will not
 13186  // be included in the string output. The member name will be present, but the
 13187  // value will be replaced with "sensitive".
 13188  func (s UpdateConnectionOutput) GoString() string {
 13189  	return s.String()
 13190  }
 13191  
 13192  // SetAwsDevice sets the AwsDevice field's value.
 13193  func (s *UpdateConnectionOutput) SetAwsDevice(v string) *UpdateConnectionOutput {
 13194  	s.AwsDevice = &v
 13195  	return s
 13196  }
 13197  
 13198  // SetAwsDeviceV2 sets the AwsDeviceV2 field's value.
 13199  func (s *UpdateConnectionOutput) SetAwsDeviceV2(v string) *UpdateConnectionOutput {
 13200  	s.AwsDeviceV2 = &v
 13201  	return s
 13202  }
 13203  
 13204  // SetAwsLogicalDeviceId sets the AwsLogicalDeviceId field's value.
 13205  func (s *UpdateConnectionOutput) SetAwsLogicalDeviceId(v string) *UpdateConnectionOutput {
 13206  	s.AwsLogicalDeviceId = &v
 13207  	return s
 13208  }
 13209  
 13210  // SetBandwidth sets the Bandwidth field's value.
 13211  func (s *UpdateConnectionOutput) SetBandwidth(v string) *UpdateConnectionOutput {
 13212  	s.Bandwidth = &v
 13213  	return s
 13214  }
 13215  
 13216  // SetConnectionId sets the ConnectionId field's value.
 13217  func (s *UpdateConnectionOutput) SetConnectionId(v string) *UpdateConnectionOutput {
 13218  	s.ConnectionId = &v
 13219  	return s
 13220  }
 13221  
 13222  // SetConnectionName sets the ConnectionName field's value.
 13223  func (s *UpdateConnectionOutput) SetConnectionName(v string) *UpdateConnectionOutput {
 13224  	s.ConnectionName = &v
 13225  	return s
 13226  }
 13227  
 13228  // SetConnectionState sets the ConnectionState field's value.
 13229  func (s *UpdateConnectionOutput) SetConnectionState(v string) *UpdateConnectionOutput {
 13230  	s.ConnectionState = &v
 13231  	return s
 13232  }
 13233  
 13234  // SetEncryptionMode sets the EncryptionMode field's value.
 13235  func (s *UpdateConnectionOutput) SetEncryptionMode(v string) *UpdateConnectionOutput {
 13236  	s.EncryptionMode = &v
 13237  	return s
 13238  }
 13239  
 13240  // SetHasLogicalRedundancy sets the HasLogicalRedundancy field's value.
 13241  func (s *UpdateConnectionOutput) SetHasLogicalRedundancy(v string) *UpdateConnectionOutput {
 13242  	s.HasLogicalRedundancy = &v
 13243  	return s
 13244  }
 13245  
 13246  // SetJumboFrameCapable sets the JumboFrameCapable field's value.
 13247  func (s *UpdateConnectionOutput) SetJumboFrameCapable(v bool) *UpdateConnectionOutput {
 13248  	s.JumboFrameCapable = &v
 13249  	return s
 13250  }
 13251  
 13252  // SetLagId sets the LagId field's value.
 13253  func (s *UpdateConnectionOutput) SetLagId(v string) *UpdateConnectionOutput {
 13254  	s.LagId = &v
 13255  	return s
 13256  }
 13257  
 13258  // SetLoaIssueTime sets the LoaIssueTime field's value.
 13259  func (s *UpdateConnectionOutput) SetLoaIssueTime(v time.Time) *UpdateConnectionOutput {
 13260  	s.LoaIssueTime = &v
 13261  	return s
 13262  }
 13263  
 13264  // SetLocation sets the Location field's value.
 13265  func (s *UpdateConnectionOutput) SetLocation(v string) *UpdateConnectionOutput {
 13266  	s.Location = &v
 13267  	return s
 13268  }
 13269  
 13270  // SetMacSecCapable sets the MacSecCapable field's value.
 13271  func (s *UpdateConnectionOutput) SetMacSecCapable(v bool) *UpdateConnectionOutput {
 13272  	s.MacSecCapable = &v
 13273  	return s
 13274  }
 13275  
 13276  // SetMacSecKeys sets the MacSecKeys field's value.
 13277  func (s *UpdateConnectionOutput) SetMacSecKeys(v []*MacSecKey) *UpdateConnectionOutput {
 13278  	s.MacSecKeys = v
 13279  	return s
 13280  }
 13281  
 13282  // SetOwnerAccount sets the OwnerAccount field's value.
 13283  func (s *UpdateConnectionOutput) SetOwnerAccount(v string) *UpdateConnectionOutput {
 13284  	s.OwnerAccount = &v
 13285  	return s
 13286  }
 13287  
 13288  // SetPartnerName sets the PartnerName field's value.
 13289  func (s *UpdateConnectionOutput) SetPartnerName(v string) *UpdateConnectionOutput {
 13290  	s.PartnerName = &v
 13291  	return s
 13292  }
 13293  
 13294  // SetPortEncryptionStatus sets the PortEncryptionStatus field's value.
 13295  func (s *UpdateConnectionOutput) SetPortEncryptionStatus(v string) *UpdateConnectionOutput {
 13296  	s.PortEncryptionStatus = &v
 13297  	return s
 13298  }
 13299  
 13300  // SetProviderName sets the ProviderName field's value.
 13301  func (s *UpdateConnectionOutput) SetProviderName(v string) *UpdateConnectionOutput {
 13302  	s.ProviderName = &v
 13303  	return s
 13304  }
 13305  
 13306  // SetRegion sets the Region field's value.
 13307  func (s *UpdateConnectionOutput) SetRegion(v string) *UpdateConnectionOutput {
 13308  	s.Region = &v
 13309  	return s
 13310  }
 13311  
 13312  // SetTags sets the Tags field's value.
 13313  func (s *UpdateConnectionOutput) SetTags(v []*Tag) *UpdateConnectionOutput {
 13314  	s.Tags = v
 13315  	return s
 13316  }
 13317  
 13318  // SetVlan sets the Vlan field's value.
 13319  func (s *UpdateConnectionOutput) SetVlan(v int64) *UpdateConnectionOutput {
 13320  	s.Vlan = &v
 13321  	return s
 13322  }
 13323  
 13324  type UpdateDirectConnectGatewayAssociationInput struct {
 13325  	_ struct{} `type:"structure"`
 13326  
 13327  	// The Amazon VPC prefixes to advertise to the Direct Connect gateway.
 13328  	AddAllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"addAllowedPrefixesToDirectConnectGateway" type:"list"`
 13329  
 13330  	// The ID of the Direct Connect gateway association.
 13331  	AssociationId *string `locationName:"associationId" type:"string"`
 13332  
 13333  	// The Amazon VPC prefixes to no longer advertise to the Direct Connect gateway.
 13334  	RemoveAllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"removeAllowedPrefixesToDirectConnectGateway" type:"list"`
 13335  }
 13336  
 13337  // String returns the string representation.
 13338  //
 13339  // API parameter values that are decorated as "sensitive" in the API will not
 13340  // be included in the string output. The member name will be present, but the
 13341  // value will be replaced with "sensitive".
 13342  func (s UpdateDirectConnectGatewayAssociationInput) String() string {
 13343  	return awsutil.Prettify(s)
 13344  }
 13345  
 13346  // GoString returns the string representation.
 13347  //
 13348  // API parameter values that are decorated as "sensitive" in the API will not
 13349  // be included in the string output. The member name will be present, but the
 13350  // value will be replaced with "sensitive".
 13351  func (s UpdateDirectConnectGatewayAssociationInput) GoString() string {
 13352  	return s.String()
 13353  }
 13354  
 13355  // SetAddAllowedPrefixesToDirectConnectGateway sets the AddAllowedPrefixesToDirectConnectGateway field's value.
 13356  func (s *UpdateDirectConnectGatewayAssociationInput) SetAddAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *UpdateDirectConnectGatewayAssociationInput {
 13357  	s.AddAllowedPrefixesToDirectConnectGateway = v
 13358  	return s
 13359  }
 13360  
 13361  // SetAssociationId sets the AssociationId field's value.
 13362  func (s *UpdateDirectConnectGatewayAssociationInput) SetAssociationId(v string) *UpdateDirectConnectGatewayAssociationInput {
 13363  	s.AssociationId = &v
 13364  	return s
 13365  }
 13366  
 13367  // SetRemoveAllowedPrefixesToDirectConnectGateway sets the RemoveAllowedPrefixesToDirectConnectGateway field's value.
 13368  func (s *UpdateDirectConnectGatewayAssociationInput) SetRemoveAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *UpdateDirectConnectGatewayAssociationInput {
 13369  	s.RemoveAllowedPrefixesToDirectConnectGateway = v
 13370  	return s
 13371  }
 13372  
 13373  type UpdateDirectConnectGatewayAssociationOutput struct {
 13374  	_ struct{} `type:"structure"`
 13375  
 13376  	// Information about an association between a Direct Connect gateway and a virtual
 13377  	// private gateway or transit gateway.
 13378  	DirectConnectGatewayAssociation *GatewayAssociation `locationName:"directConnectGatewayAssociation" type:"structure"`
 13379  }
 13380  
 13381  // String returns the string representation.
 13382  //
 13383  // API parameter values that are decorated as "sensitive" in the API will not
 13384  // be included in the string output. The member name will be present, but the
 13385  // value will be replaced with "sensitive".
 13386  func (s UpdateDirectConnectGatewayAssociationOutput) String() string {
 13387  	return awsutil.Prettify(s)
 13388  }
 13389  
 13390  // GoString returns the string representation.
 13391  //
 13392  // API parameter values that are decorated as "sensitive" in the API will not
 13393  // be included in the string output. The member name will be present, but the
 13394  // value will be replaced with "sensitive".
 13395  func (s UpdateDirectConnectGatewayAssociationOutput) GoString() string {
 13396  	return s.String()
 13397  }
 13398  
 13399  // SetDirectConnectGatewayAssociation sets the DirectConnectGatewayAssociation field's value.
 13400  func (s *UpdateDirectConnectGatewayAssociationOutput) SetDirectConnectGatewayAssociation(v *GatewayAssociation) *UpdateDirectConnectGatewayAssociationOutput {
 13401  	s.DirectConnectGatewayAssociation = v
 13402  	return s
 13403  }
 13404  
 13405  type UpdateLagInput struct {
 13406  	_ struct{} `type:"structure"`
 13407  
 13408  	// The LAG MAC Security (MACsec) encryption mode.
 13409  	//
 13410  	// Amazon Web Services applies the value to all connections which are part of
 13411  	// the LAG.
 13412  	EncryptionMode *string `locationName:"encryptionMode" type:"string"`
 13413  
 13414  	// The ID of the LAG.
 13415  	//
 13416  	// LagId is a required field
 13417  	LagId *string `locationName:"lagId" type:"string" required:"true"`
 13418  
 13419  	// The name of the LAG.
 13420  	LagName *string `locationName:"lagName" type:"string"`
 13421  
 13422  	// The minimum number of physical connections that must be operational for the
 13423  	// LAG itself to be operational.
 13424  	MinimumLinks *int64 `locationName:"minimumLinks" type:"integer"`
 13425  }
 13426  
 13427  // String returns the string representation.
 13428  //
 13429  // API parameter values that are decorated as "sensitive" in the API will not
 13430  // be included in the string output. The member name will be present, but the
 13431  // value will be replaced with "sensitive".
 13432  func (s UpdateLagInput) String() string {
 13433  	return awsutil.Prettify(s)
 13434  }
 13435  
 13436  // GoString returns the string representation.
 13437  //
 13438  // API parameter values that are decorated as "sensitive" in the API will not
 13439  // be included in the string output. The member name will be present, but the
 13440  // value will be replaced with "sensitive".
 13441  func (s UpdateLagInput) GoString() string {
 13442  	return s.String()
 13443  }
 13444  
 13445  // Validate inspects the fields of the type to determine if they are valid.
 13446  func (s *UpdateLagInput) Validate() error {
 13447  	invalidParams := request.ErrInvalidParams{Context: "UpdateLagInput"}
 13448  	if s.LagId == nil {
 13449  		invalidParams.Add(request.NewErrParamRequired("LagId"))
 13450  	}
 13451  
 13452  	if invalidParams.Len() > 0 {
 13453  		return invalidParams
 13454  	}
 13455  	return nil
 13456  }
 13457  
 13458  // SetEncryptionMode sets the EncryptionMode field's value.
 13459  func (s *UpdateLagInput) SetEncryptionMode(v string) *UpdateLagInput {
 13460  	s.EncryptionMode = &v
 13461  	return s
 13462  }
 13463  
 13464  // SetLagId sets the LagId field's value.
 13465  func (s *UpdateLagInput) SetLagId(v string) *UpdateLagInput {
 13466  	s.LagId = &v
 13467  	return s
 13468  }
 13469  
 13470  // SetLagName sets the LagName field's value.
 13471  func (s *UpdateLagInput) SetLagName(v string) *UpdateLagInput {
 13472  	s.LagName = &v
 13473  	return s
 13474  }
 13475  
 13476  // SetMinimumLinks sets the MinimumLinks field's value.
 13477  func (s *UpdateLagInput) SetMinimumLinks(v int64) *UpdateLagInput {
 13478  	s.MinimumLinks = &v
 13479  	return s
 13480  }
 13481  
 13482  type UpdateVirtualInterfaceAttributesInput struct {
 13483  	_ struct{} `type:"structure"`
 13484  
 13485  	// The maximum transmission unit (MTU), in bytes. The supported values are 1500
 13486  	// and 9001. The default value is 1500.
 13487  	Mtu *int64 `locationName:"mtu" type:"integer"`
 13488  
 13489  	// The ID of the virtual private interface.
 13490  	//
 13491  	// VirtualInterfaceId is a required field
 13492  	VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string" required:"true"`
 13493  }
 13494  
 13495  // String returns the string representation.
 13496  //
 13497  // API parameter values that are decorated as "sensitive" in the API will not
 13498  // be included in the string output. The member name will be present, but the
 13499  // value will be replaced with "sensitive".
 13500  func (s UpdateVirtualInterfaceAttributesInput) String() string {
 13501  	return awsutil.Prettify(s)
 13502  }
 13503  
 13504  // GoString returns the string representation.
 13505  //
 13506  // API parameter values that are decorated as "sensitive" in the API will not
 13507  // be included in the string output. The member name will be present, but the
 13508  // value will be replaced with "sensitive".
 13509  func (s UpdateVirtualInterfaceAttributesInput) GoString() string {
 13510  	return s.String()
 13511  }
 13512  
 13513  // Validate inspects the fields of the type to determine if they are valid.
 13514  func (s *UpdateVirtualInterfaceAttributesInput) Validate() error {
 13515  	invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualInterfaceAttributesInput"}
 13516  	if s.VirtualInterfaceId == nil {
 13517  		invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceId"))
 13518  	}
 13519  
 13520  	if invalidParams.Len() > 0 {
 13521  		return invalidParams
 13522  	}
 13523  	return nil
 13524  }
 13525  
 13526  // SetMtu sets the Mtu field's value.
 13527  func (s *UpdateVirtualInterfaceAttributesInput) SetMtu(v int64) *UpdateVirtualInterfaceAttributesInput {
 13528  	s.Mtu = &v
 13529  	return s
 13530  }
 13531  
 13532  // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
 13533  func (s *UpdateVirtualInterfaceAttributesInput) SetVirtualInterfaceId(v string) *UpdateVirtualInterfaceAttributesInput {
 13534  	s.VirtualInterfaceId = &v
 13535  	return s
 13536  }
 13537  
 13538  // Information about a virtual interface.
 13539  type UpdateVirtualInterfaceAttributesOutput struct {
 13540  	_ struct{} `type:"structure"`
 13541  
 13542  	// The address family for the BGP peer.
 13543  	AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
 13544  
 13545  	// The IP address assigned to the Amazon interface.
 13546  	AmazonAddress *string `locationName:"amazonAddress" type:"string"`
 13547  
 13548  	// The autonomous system number (ASN) for the Amazon side of the connection.
 13549  	AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
 13550  
 13551  	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
 13552  	//
 13553  	// The valid values are 1-2147483647.
 13554  	Asn *int64 `locationName:"asn" type:"integer"`
 13555  
 13556  	// The authentication key for BGP configuration. This string has a minimum length
 13557  	// of 6 characters and and a maximun lenth of 80 characters.
 13558  	AuthKey *string `locationName:"authKey" type:"string"`
 13559  
 13560  	// The Direct Connect endpoint that terminates the physical connection.
 13561  	AwsDeviceV2 *string `locationName:"awsDeviceV2" type:"string"`
 13562  
 13563  	// The Direct Connect endpoint that terminates the logical connection. This
 13564  	// device might be different than the device that terminates the physical connection.
 13565  	AwsLogicalDeviceId *string `locationName:"awsLogicalDeviceId" type:"string"`
 13566  
 13567  	// The BGP peers configured on this virtual interface.
 13568  	BgpPeers []*BGPPeer `locationName:"bgpPeers" type:"list"`
 13569  
 13570  	// The ID of the connection.
 13571  	ConnectionId *string `locationName:"connectionId" type:"string"`
 13572  
 13573  	// The IP address assigned to the customer interface.
 13574  	CustomerAddress *string `locationName:"customerAddress" type:"string"`
 13575  
 13576  	// The customer router configuration.
 13577  	CustomerRouterConfig *string `locationName:"customerRouterConfig" type:"string"`
 13578  
 13579  	// The ID of the Direct Connect gateway.
 13580  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
 13581  
 13582  	// Indicates whether jumbo frames (9001 MTU) are supported.
 13583  	JumboFrameCapable *bool `locationName:"jumboFrameCapable" type:"boolean"`
 13584  
 13585  	// The location of the connection.
 13586  	Location *string `locationName:"location" type:"string"`
 13587  
 13588  	// The maximum transmission unit (MTU), in bytes. The supported values are 1500
 13589  	// and 9001. The default value is 1500.
 13590  	Mtu *int64 `locationName:"mtu" type:"integer"`
 13591  
 13592  	// The ID of the account that owns the virtual interface.
 13593  	OwnerAccount *string `locationName:"ownerAccount" type:"string"`
 13594  
 13595  	// The Region where the virtual interface is located.
 13596  	Region *string `locationName:"region" type:"string"`
 13597  
 13598  	// The routes to be advertised to the Amazon Web Services network in this Region.
 13599  	// Applies to public virtual interfaces.
 13600  	RouteFilterPrefixes []*RouteFilterPrefix `locationName:"routeFilterPrefixes" type:"list"`
 13601  
 13602  	// The tags associated with the virtual interface.
 13603  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
 13604  
 13605  	// The ID of the virtual private gateway. Applies only to private virtual interfaces.
 13606  	VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"`
 13607  
 13608  	// The ID of the virtual interface.
 13609  	VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"`
 13610  
 13611  	// The name of the virtual interface assigned by the customer network. The name
 13612  	// has a maximum of 100 characters. The following are valid characters: a-z,
 13613  	// 0-9 and a hyphen (-).
 13614  	VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string"`
 13615  
 13616  	// The state of the virtual interface. The following are the possible values:
 13617  	//
 13618  	//    * confirming: The creation of the virtual interface is pending confirmation
 13619  	//    from the virtual interface owner. If the owner of the virtual interface
 13620  	//    is different from the owner of the connection on which it is provisioned,
 13621  	//    then the virtual interface will remain in this state until it is confirmed
 13622  	//    by the virtual interface owner.
 13623  	//
 13624  	//    * verifying: This state only applies to public virtual interfaces. Each
 13625  	//    public virtual interface needs validation before the virtual interface
 13626  	//    can be created.
 13627  	//
 13628  	//    * pending: A virtual interface is in this state from the time that it
 13629  	//    is created until the virtual interface is ready to forward traffic.
 13630  	//
 13631  	//    * available: A virtual interface that is able to forward traffic.
 13632  	//
 13633  	//    * down: A virtual interface that is BGP down.
 13634  	//
 13635  	//    * deleting: A virtual interface is in this state immediately after calling
 13636  	//    DeleteVirtualInterface until it can no longer forward traffic.
 13637  	//
 13638  	//    * deleted: A virtual interface that cannot forward traffic.
 13639  	//
 13640  	//    * rejected: The virtual interface owner has declined creation of the virtual
 13641  	//    interface. If a virtual interface in the Confirming state is deleted by
 13642  	//    the virtual interface owner, the virtual interface enters the Rejected
 13643  	//    state.
 13644  	//
 13645  	//    * unknown: The state of the virtual interface is not available.
 13646  	VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string" enum:"VirtualInterfaceState"`
 13647  
 13648  	// The type of virtual interface. The possible values are private and public.
 13649  	VirtualInterfaceType *string `locationName:"virtualInterfaceType" type:"string"`
 13650  
 13651  	// The ID of the VLAN.
 13652  	Vlan *int64 `locationName:"vlan" type:"integer"`
 13653  }
 13654  
 13655  // String returns the string representation.
 13656  //
 13657  // API parameter values that are decorated as "sensitive" in the API will not
 13658  // be included in the string output. The member name will be present, but the
 13659  // value will be replaced with "sensitive".
 13660  func (s UpdateVirtualInterfaceAttributesOutput) String() string {
 13661  	return awsutil.Prettify(s)
 13662  }
 13663  
 13664  // GoString returns the string representation.
 13665  //
 13666  // API parameter values that are decorated as "sensitive" in the API will not
 13667  // be included in the string output. The member name will be present, but the
 13668  // value will be replaced with "sensitive".
 13669  func (s UpdateVirtualInterfaceAttributesOutput) GoString() string {
 13670  	return s.String()
 13671  }
 13672  
 13673  // SetAddressFamily sets the AddressFamily field's value.
 13674  func (s *UpdateVirtualInterfaceAttributesOutput) SetAddressFamily(v string) *UpdateVirtualInterfaceAttributesOutput {
 13675  	s.AddressFamily = &v
 13676  	return s
 13677  }
 13678  
 13679  // SetAmazonAddress sets the AmazonAddress field's value.
 13680  func (s *UpdateVirtualInterfaceAttributesOutput) SetAmazonAddress(v string) *UpdateVirtualInterfaceAttributesOutput {
 13681  	s.AmazonAddress = &v
 13682  	return s
 13683  }
 13684  
 13685  // SetAmazonSideAsn sets the AmazonSideAsn field's value.
 13686  func (s *UpdateVirtualInterfaceAttributesOutput) SetAmazonSideAsn(v int64) *UpdateVirtualInterfaceAttributesOutput {
 13687  	s.AmazonSideAsn = &v
 13688  	return s
 13689  }
 13690  
 13691  // SetAsn sets the Asn field's value.
 13692  func (s *UpdateVirtualInterfaceAttributesOutput) SetAsn(v int64) *UpdateVirtualInterfaceAttributesOutput {
 13693  	s.Asn = &v
 13694  	return s
 13695  }
 13696  
 13697  // SetAuthKey sets the AuthKey field's value.
 13698  func (s *UpdateVirtualInterfaceAttributesOutput) SetAuthKey(v string) *UpdateVirtualInterfaceAttributesOutput {
 13699  	s.AuthKey = &v
 13700  	return s
 13701  }
 13702  
 13703  // SetAwsDeviceV2 sets the AwsDeviceV2 field's value.
 13704  func (s *UpdateVirtualInterfaceAttributesOutput) SetAwsDeviceV2(v string) *UpdateVirtualInterfaceAttributesOutput {
 13705  	s.AwsDeviceV2 = &v
 13706  	return s
 13707  }
 13708  
 13709  // SetAwsLogicalDeviceId sets the AwsLogicalDeviceId field's value.
 13710  func (s *UpdateVirtualInterfaceAttributesOutput) SetAwsLogicalDeviceId(v string) *UpdateVirtualInterfaceAttributesOutput {
 13711  	s.AwsLogicalDeviceId = &v
 13712  	return s
 13713  }
 13714  
 13715  // SetBgpPeers sets the BgpPeers field's value.
 13716  func (s *UpdateVirtualInterfaceAttributesOutput) SetBgpPeers(v []*BGPPeer) *UpdateVirtualInterfaceAttributesOutput {
 13717  	s.BgpPeers = v
 13718  	return s
 13719  }
 13720  
 13721  // SetConnectionId sets the ConnectionId field's value.
 13722  func (s *UpdateVirtualInterfaceAttributesOutput) SetConnectionId(v string) *UpdateVirtualInterfaceAttributesOutput {
 13723  	s.ConnectionId = &v
 13724  	return s
 13725  }
 13726  
 13727  // SetCustomerAddress sets the CustomerAddress field's value.
 13728  func (s *UpdateVirtualInterfaceAttributesOutput) SetCustomerAddress(v string) *UpdateVirtualInterfaceAttributesOutput {
 13729  	s.CustomerAddress = &v
 13730  	return s
 13731  }
 13732  
 13733  // SetCustomerRouterConfig sets the CustomerRouterConfig field's value.
 13734  func (s *UpdateVirtualInterfaceAttributesOutput) SetCustomerRouterConfig(v string) *UpdateVirtualInterfaceAttributesOutput {
 13735  	s.CustomerRouterConfig = &v
 13736  	return s
 13737  }
 13738  
 13739  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
 13740  func (s *UpdateVirtualInterfaceAttributesOutput) SetDirectConnectGatewayId(v string) *UpdateVirtualInterfaceAttributesOutput {
 13741  	s.DirectConnectGatewayId = &v
 13742  	return s
 13743  }
 13744  
 13745  // SetJumboFrameCapable sets the JumboFrameCapable field's value.
 13746  func (s *UpdateVirtualInterfaceAttributesOutput) SetJumboFrameCapable(v bool) *UpdateVirtualInterfaceAttributesOutput {
 13747  	s.JumboFrameCapable = &v
 13748  	return s
 13749  }
 13750  
 13751  // SetLocation sets the Location field's value.
 13752  func (s *UpdateVirtualInterfaceAttributesOutput) SetLocation(v string) *UpdateVirtualInterfaceAttributesOutput {
 13753  	s.Location = &v
 13754  	return s
 13755  }
 13756  
 13757  // SetMtu sets the Mtu field's value.
 13758  func (s *UpdateVirtualInterfaceAttributesOutput) SetMtu(v int64) *UpdateVirtualInterfaceAttributesOutput {
 13759  	s.Mtu = &v
 13760  	return s
 13761  }
 13762  
 13763  // SetOwnerAccount sets the OwnerAccount field's value.
 13764  func (s *UpdateVirtualInterfaceAttributesOutput) SetOwnerAccount(v string) *UpdateVirtualInterfaceAttributesOutput {
 13765  	s.OwnerAccount = &v
 13766  	return s
 13767  }
 13768  
 13769  // SetRegion sets the Region field's value.
 13770  func (s *UpdateVirtualInterfaceAttributesOutput) SetRegion(v string) *UpdateVirtualInterfaceAttributesOutput {
 13771  	s.Region = &v
 13772  	return s
 13773  }
 13774  
 13775  // SetRouteFilterPrefixes sets the RouteFilterPrefixes field's value.
 13776  func (s *UpdateVirtualInterfaceAttributesOutput) SetRouteFilterPrefixes(v []*RouteFilterPrefix) *UpdateVirtualInterfaceAttributesOutput {
 13777  	s.RouteFilterPrefixes = v
 13778  	return s
 13779  }
 13780  
 13781  // SetTags sets the Tags field's value.
 13782  func (s *UpdateVirtualInterfaceAttributesOutput) SetTags(v []*Tag) *UpdateVirtualInterfaceAttributesOutput {
 13783  	s.Tags = v
 13784  	return s
 13785  }
 13786  
 13787  // SetVirtualGatewayId sets the VirtualGatewayId field's value.
 13788  func (s *UpdateVirtualInterfaceAttributesOutput) SetVirtualGatewayId(v string) *UpdateVirtualInterfaceAttributesOutput {
 13789  	s.VirtualGatewayId = &v
 13790  	return s
 13791  }
 13792  
 13793  // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
 13794  func (s *UpdateVirtualInterfaceAttributesOutput) SetVirtualInterfaceId(v string) *UpdateVirtualInterfaceAttributesOutput {
 13795  	s.VirtualInterfaceId = &v
 13796  	return s
 13797  }
 13798  
 13799  // SetVirtualInterfaceName sets the VirtualInterfaceName field's value.
 13800  func (s *UpdateVirtualInterfaceAttributesOutput) SetVirtualInterfaceName(v string) *UpdateVirtualInterfaceAttributesOutput {
 13801  	s.VirtualInterfaceName = &v
 13802  	return s
 13803  }
 13804  
 13805  // SetVirtualInterfaceState sets the VirtualInterfaceState field's value.
 13806  func (s *UpdateVirtualInterfaceAttributesOutput) SetVirtualInterfaceState(v string) *UpdateVirtualInterfaceAttributesOutput {
 13807  	s.VirtualInterfaceState = &v
 13808  	return s
 13809  }
 13810  
 13811  // SetVirtualInterfaceType sets the VirtualInterfaceType field's value.
 13812  func (s *UpdateVirtualInterfaceAttributesOutput) SetVirtualInterfaceType(v string) *UpdateVirtualInterfaceAttributesOutput {
 13813  	s.VirtualInterfaceType = &v
 13814  	return s
 13815  }
 13816  
 13817  // SetVlan sets the Vlan field's value.
 13818  func (s *UpdateVirtualInterfaceAttributesOutput) SetVlan(v int64) *UpdateVirtualInterfaceAttributesOutput {
 13819  	s.Vlan = &v
 13820  	return s
 13821  }
 13822  
 13823  // Information about a virtual private gateway for a private virtual interface.
 13824  type VirtualGateway struct {
 13825  	_ struct{} `type:"structure"`
 13826  
 13827  	// The ID of the virtual private gateway.
 13828  	VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"`
 13829  
 13830  	// The state of the virtual private gateway. The following are the possible
 13831  	// values:
 13832  	//
 13833  	//    * pending: Initial state after creating the virtual private gateway.
 13834  	//
 13835  	//    * available: Ready for use by a private virtual interface.
 13836  	//
 13837  	//    * deleting: Initial state after deleting the virtual private gateway.
 13838  	//
 13839  	//    * deleted: The virtual private gateway is deleted. The private virtual
 13840  	//    interface is unable to send traffic over this gateway.
 13841  	VirtualGatewayState *string `locationName:"virtualGatewayState" type:"string"`
 13842  }
 13843  
 13844  // String returns the string representation.
 13845  //
 13846  // API parameter values that are decorated as "sensitive" in the API will not
 13847  // be included in the string output. The member name will be present, but the
 13848  // value will be replaced with "sensitive".
 13849  func (s VirtualGateway) String() string {
 13850  	return awsutil.Prettify(s)
 13851  }
 13852  
 13853  // GoString returns the string representation.
 13854  //
 13855  // API parameter values that are decorated as "sensitive" in the API will not
 13856  // be included in the string output. The member name will be present, but the
 13857  // value will be replaced with "sensitive".
 13858  func (s VirtualGateway) GoString() string {
 13859  	return s.String()
 13860  }
 13861  
 13862  // SetVirtualGatewayId sets the VirtualGatewayId field's value.
 13863  func (s *VirtualGateway) SetVirtualGatewayId(v string) *VirtualGateway {
 13864  	s.VirtualGatewayId = &v
 13865  	return s
 13866  }
 13867  
 13868  // SetVirtualGatewayState sets the VirtualGatewayState field's value.
 13869  func (s *VirtualGateway) SetVirtualGatewayState(v string) *VirtualGateway {
 13870  	s.VirtualGatewayState = &v
 13871  	return s
 13872  }
 13873  
 13874  // Information about a virtual interface.
 13875  type VirtualInterface struct {
 13876  	_ struct{} `type:"structure"`
 13877  
 13878  	// The address family for the BGP peer.
 13879  	AddressFamily *string `locationName:"addressFamily" type:"string" enum:"AddressFamily"`
 13880  
 13881  	// The IP address assigned to the Amazon interface.
 13882  	AmazonAddress *string `locationName:"amazonAddress" type:"string"`
 13883  
 13884  	// The autonomous system number (ASN) for the Amazon side of the connection.
 13885  	AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
 13886  
 13887  	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
 13888  	//
 13889  	// The valid values are 1-2147483647.
 13890  	Asn *int64 `locationName:"asn" type:"integer"`
 13891  
 13892  	// The authentication key for BGP configuration. This string has a minimum length
 13893  	// of 6 characters and and a maximun lenth of 80 characters.
 13894  	AuthKey *string `locationName:"authKey" type:"string"`
 13895  
 13896  	// The Direct Connect endpoint that terminates the physical connection.
 13897  	AwsDeviceV2 *string `locationName:"awsDeviceV2" type:"string"`
 13898  
 13899  	// The Direct Connect endpoint that terminates the logical connection. This
 13900  	// device might be different than the device that terminates the physical connection.
 13901  	AwsLogicalDeviceId *string `locationName:"awsLogicalDeviceId" type:"string"`
 13902  
 13903  	// The BGP peers configured on this virtual interface.
 13904  	BgpPeers []*BGPPeer `locationName:"bgpPeers" type:"list"`
 13905  
 13906  	// The ID of the connection.
 13907  	ConnectionId *string `locationName:"connectionId" type:"string"`
 13908  
 13909  	// The IP address assigned to the customer interface.
 13910  	CustomerAddress *string `locationName:"customerAddress" type:"string"`
 13911  
 13912  	// The customer router configuration.
 13913  	CustomerRouterConfig *string `locationName:"customerRouterConfig" type:"string"`
 13914  
 13915  	// The ID of the Direct Connect gateway.
 13916  	DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"`
 13917  
 13918  	// Indicates whether jumbo frames (9001 MTU) are supported.
 13919  	JumboFrameCapable *bool `locationName:"jumboFrameCapable" type:"boolean"`
 13920  
 13921  	// The location of the connection.
 13922  	Location *string `locationName:"location" type:"string"`
 13923  
 13924  	// The maximum transmission unit (MTU), in bytes. The supported values are 1500
 13925  	// and 9001. The default value is 1500.
 13926  	Mtu *int64 `locationName:"mtu" type:"integer"`
 13927  
 13928  	// The ID of the account that owns the virtual interface.
 13929  	OwnerAccount *string `locationName:"ownerAccount" type:"string"`
 13930  
 13931  	// The Region where the virtual interface is located.
 13932  	Region *string `locationName:"region" type:"string"`
 13933  
 13934  	// The routes to be advertised to the Amazon Web Services network in this Region.
 13935  	// Applies to public virtual interfaces.
 13936  	RouteFilterPrefixes []*RouteFilterPrefix `locationName:"routeFilterPrefixes" type:"list"`
 13937  
 13938  	// The tags associated with the virtual interface.
 13939  	Tags []*Tag `locationName:"tags" min:"1" type:"list"`
 13940  
 13941  	// The ID of the virtual private gateway. Applies only to private virtual interfaces.
 13942  	VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"`
 13943  
 13944  	// The ID of the virtual interface.
 13945  	VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"`
 13946  
 13947  	// The name of the virtual interface assigned by the customer network. The name
 13948  	// has a maximum of 100 characters. The following are valid characters: a-z,
 13949  	// 0-9 and a hyphen (-).
 13950  	VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string"`
 13951  
 13952  	// The state of the virtual interface. The following are the possible values:
 13953  	//
 13954  	//    * confirming: The creation of the virtual interface is pending confirmation
 13955  	//    from the virtual interface owner. If the owner of the virtual interface
 13956  	//    is different from the owner of the connection on which it is provisioned,
 13957  	//    then the virtual interface will remain in this state until it is confirmed
 13958  	//    by the virtual interface owner.
 13959  	//
 13960  	//    * verifying: This state only applies to public virtual interfaces. Each
 13961  	//    public virtual interface needs validation before the virtual interface
 13962  	//    can be created.
 13963  	//
 13964  	//    * pending: A virtual interface is in this state from the time that it
 13965  	//    is created until the virtual interface is ready to forward traffic.
 13966  	//
 13967  	//    * available: A virtual interface that is able to forward traffic.
 13968  	//
 13969  	//    * down: A virtual interface that is BGP down.
 13970  	//
 13971  	//    * deleting: A virtual interface is in this state immediately after calling
 13972  	//    DeleteVirtualInterface until it can no longer forward traffic.
 13973  	//
 13974  	//    * deleted: A virtual interface that cannot forward traffic.
 13975  	//
 13976  	//    * rejected: The virtual interface owner has declined creation of the virtual
 13977  	//    interface. If a virtual interface in the Confirming state is deleted by
 13978  	//    the virtual interface owner, the virtual interface enters the Rejected
 13979  	//    state.
 13980  	//
 13981  	//    * unknown: The state of the virtual interface is not available.
 13982  	VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string" enum:"VirtualInterfaceState"`
 13983  
 13984  	// The type of virtual interface. The possible values are private and public.
 13985  	VirtualInterfaceType *string `locationName:"virtualInterfaceType" type:"string"`
 13986  
 13987  	// The ID of the VLAN.
 13988  	Vlan *int64 `locationName:"vlan" type:"integer"`
 13989  }
 13990  
 13991  // String returns the string representation.
 13992  //
 13993  // API parameter values that are decorated as "sensitive" in the API will not
 13994  // be included in the string output. The member name will be present, but the
 13995  // value will be replaced with "sensitive".
 13996  func (s VirtualInterface) String() string {
 13997  	return awsutil.Prettify(s)
 13998  }
 13999  
 14000  // GoString returns the string representation.
 14001  //
 14002  // API parameter values that are decorated as "sensitive" in the API will not
 14003  // be included in the string output. The member name will be present, but the
 14004  // value will be replaced with "sensitive".
 14005  func (s VirtualInterface) GoString() string {
 14006  	return s.String()
 14007  }
 14008  
 14009  // SetAddressFamily sets the AddressFamily field's value.
 14010  func (s *VirtualInterface) SetAddressFamily(v string) *VirtualInterface {
 14011  	s.AddressFamily = &v
 14012  	return s
 14013  }
 14014  
 14015  // SetAmazonAddress sets the AmazonAddress field's value.
 14016  func (s *VirtualInterface) SetAmazonAddress(v string) *VirtualInterface {
 14017  	s.AmazonAddress = &v
 14018  	return s
 14019  }
 14020  
 14021  // SetAmazonSideAsn sets the AmazonSideAsn field's value.
 14022  func (s *VirtualInterface) SetAmazonSideAsn(v int64) *VirtualInterface {
 14023  	s.AmazonSideAsn = &v
 14024  	return s
 14025  }
 14026  
 14027  // SetAsn sets the Asn field's value.
 14028  func (s *VirtualInterface) SetAsn(v int64) *VirtualInterface {
 14029  	s.Asn = &v
 14030  	return s
 14031  }
 14032  
 14033  // SetAuthKey sets the AuthKey field's value.
 14034  func (s *VirtualInterface) SetAuthKey(v string) *VirtualInterface {
 14035  	s.AuthKey = &v
 14036  	return s
 14037  }
 14038  
 14039  // SetAwsDeviceV2 sets the AwsDeviceV2 field's value.
 14040  func (s *VirtualInterface) SetAwsDeviceV2(v string) *VirtualInterface {
 14041  	s.AwsDeviceV2 = &v
 14042  	return s
 14043  }
 14044  
 14045  // SetAwsLogicalDeviceId sets the AwsLogicalDeviceId field's value.
 14046  func (s *VirtualInterface) SetAwsLogicalDeviceId(v string) *VirtualInterface {
 14047  	s.AwsLogicalDeviceId = &v
 14048  	return s
 14049  }
 14050  
 14051  // SetBgpPeers sets the BgpPeers field's value.
 14052  func (s *VirtualInterface) SetBgpPeers(v []*BGPPeer) *VirtualInterface {
 14053  	s.BgpPeers = v
 14054  	return s
 14055  }
 14056  
 14057  // SetConnectionId sets the ConnectionId field's value.
 14058  func (s *VirtualInterface) SetConnectionId(v string) *VirtualInterface {
 14059  	s.ConnectionId = &v
 14060  	return s
 14061  }
 14062  
 14063  // SetCustomerAddress sets the CustomerAddress field's value.
 14064  func (s *VirtualInterface) SetCustomerAddress(v string) *VirtualInterface {
 14065  	s.CustomerAddress = &v
 14066  	return s
 14067  }
 14068  
 14069  // SetCustomerRouterConfig sets the CustomerRouterConfig field's value.
 14070  func (s *VirtualInterface) SetCustomerRouterConfig(v string) *VirtualInterface {
 14071  	s.CustomerRouterConfig = &v
 14072  	return s
 14073  }
 14074  
 14075  // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value.
 14076  func (s *VirtualInterface) SetDirectConnectGatewayId(v string) *VirtualInterface {
 14077  	s.DirectConnectGatewayId = &v
 14078  	return s
 14079  }
 14080  
 14081  // SetJumboFrameCapable sets the JumboFrameCapable field's value.
 14082  func (s *VirtualInterface) SetJumboFrameCapable(v bool) *VirtualInterface {
 14083  	s.JumboFrameCapable = &v
 14084  	return s
 14085  }
 14086  
 14087  // SetLocation sets the Location field's value.
 14088  func (s *VirtualInterface) SetLocation(v string) *VirtualInterface {
 14089  	s.Location = &v
 14090  	return s
 14091  }
 14092  
 14093  // SetMtu sets the Mtu field's value.
 14094  func (s *VirtualInterface) SetMtu(v int64) *VirtualInterface {
 14095  	s.Mtu = &v
 14096  	return s
 14097  }
 14098  
 14099  // SetOwnerAccount sets the OwnerAccount field's value.
 14100  func (s *VirtualInterface) SetOwnerAccount(v string) *VirtualInterface {
 14101  	s.OwnerAccount = &v
 14102  	return s
 14103  }
 14104  
 14105  // SetRegion sets the Region field's value.
 14106  func (s *VirtualInterface) SetRegion(v string) *VirtualInterface {
 14107  	s.Region = &v
 14108  	return s
 14109  }
 14110  
 14111  // SetRouteFilterPrefixes sets the RouteFilterPrefixes field's value.
 14112  func (s *VirtualInterface) SetRouteFilterPrefixes(v []*RouteFilterPrefix) *VirtualInterface {
 14113  	s.RouteFilterPrefixes = v
 14114  	return s
 14115  }
 14116  
 14117  // SetTags sets the Tags field's value.
 14118  func (s *VirtualInterface) SetTags(v []*Tag) *VirtualInterface {
 14119  	s.Tags = v
 14120  	return s
 14121  }
 14122  
 14123  // SetVirtualGatewayId sets the VirtualGatewayId field's value.
 14124  func (s *VirtualInterface) SetVirtualGatewayId(v string) *VirtualInterface {
 14125  	s.VirtualGatewayId = &v
 14126  	return s
 14127  }
 14128  
 14129  // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
 14130  func (s *VirtualInterface) SetVirtualInterfaceId(v string) *VirtualInterface {
 14131  	s.VirtualInterfaceId = &v
 14132  	return s
 14133  }
 14134  
 14135  // SetVirtualInterfaceName sets the VirtualInterfaceName field's value.
 14136  func (s *VirtualInterface) SetVirtualInterfaceName(v string) *VirtualInterface {
 14137  	s.VirtualInterfaceName = &v
 14138  	return s
 14139  }
 14140  
 14141  // SetVirtualInterfaceState sets the VirtualInterfaceState field's value.
 14142  func (s *VirtualInterface) SetVirtualInterfaceState(v string) *VirtualInterface {
 14143  	s.VirtualInterfaceState = &v
 14144  	return s
 14145  }
 14146  
 14147  // SetVirtualInterfaceType sets the VirtualInterfaceType field's value.
 14148  func (s *VirtualInterface) SetVirtualInterfaceType(v string) *VirtualInterface {
 14149  	s.VirtualInterfaceType = &v
 14150  	return s
 14151  }
 14152  
 14153  // SetVlan sets the Vlan field's value.
 14154  func (s *VirtualInterface) SetVlan(v int64) *VirtualInterface {
 14155  	s.Vlan = &v
 14156  	return s
 14157  }
 14158  
 14159  // Information about the virtual interface failover test.
 14160  type VirtualInterfaceTestHistory struct {
 14161  	_ struct{} `type:"structure"`
 14162  
 14163  	// The BGP peers that were put in the DOWN state as part of the virtual interface
 14164  	// failover test.
 14165  	BgpPeers []*string `locationName:"bgpPeers" type:"list"`
 14166  
 14167  	// The time that the virtual interface moves out of the DOWN state.
 14168  	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
 14169  
 14170  	// The owner ID of the tested virtual interface.
 14171  	OwnerAccount *string `locationName:"ownerAccount" type:"string"`
 14172  
 14173  	// The time that the virtual interface moves to the DOWN state.
 14174  	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
 14175  
 14176  	// The status of the virtual interface failover test.
 14177  	Status *string `locationName:"status" type:"string"`
 14178  
 14179  	// The time that the virtual interface failover test ran in minutes.
 14180  	TestDurationInMinutes *int64 `locationName:"testDurationInMinutes" type:"integer"`
 14181  
 14182  	// The ID of the virtual interface failover test.
 14183  	TestId *string `locationName:"testId" type:"string"`
 14184  
 14185  	// The ID of the tested virtual interface.
 14186  	VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"`
 14187  }
 14188  
 14189  // String returns the string representation.
 14190  //
 14191  // API parameter values that are decorated as "sensitive" in the API will not
 14192  // be included in the string output. The member name will be present, but the
 14193  // value will be replaced with "sensitive".
 14194  func (s VirtualInterfaceTestHistory) String() string {
 14195  	return awsutil.Prettify(s)
 14196  }
 14197  
 14198  // GoString returns the string representation.
 14199  //
 14200  // API parameter values that are decorated as "sensitive" in the API will not
 14201  // be included in the string output. The member name will be present, but the
 14202  // value will be replaced with "sensitive".
 14203  func (s VirtualInterfaceTestHistory) GoString() string {
 14204  	return s.String()
 14205  }
 14206  
 14207  // SetBgpPeers sets the BgpPeers field's value.
 14208  func (s *VirtualInterfaceTestHistory) SetBgpPeers(v []*string) *VirtualInterfaceTestHistory {
 14209  	s.BgpPeers = v
 14210  	return s
 14211  }
 14212  
 14213  // SetEndTime sets the EndTime field's value.
 14214  func (s *VirtualInterfaceTestHistory) SetEndTime(v time.Time) *VirtualInterfaceTestHistory {
 14215  	s.EndTime = &v
 14216  	return s
 14217  }
 14218  
 14219  // SetOwnerAccount sets the OwnerAccount field's value.
 14220  func (s *VirtualInterfaceTestHistory) SetOwnerAccount(v string) *VirtualInterfaceTestHistory {
 14221  	s.OwnerAccount = &v
 14222  	return s
 14223  }
 14224  
 14225  // SetStartTime sets the StartTime field's value.
 14226  func (s *VirtualInterfaceTestHistory) SetStartTime(v time.Time) *VirtualInterfaceTestHistory {
 14227  	s.StartTime = &v
 14228  	return s
 14229  }
 14230  
 14231  // SetStatus sets the Status field's value.
 14232  func (s *VirtualInterfaceTestHistory) SetStatus(v string) *VirtualInterfaceTestHistory {
 14233  	s.Status = &v
 14234  	return s
 14235  }
 14236  
 14237  // SetTestDurationInMinutes sets the TestDurationInMinutes field's value.
 14238  func (s *VirtualInterfaceTestHistory) SetTestDurationInMinutes(v int64) *VirtualInterfaceTestHistory {
 14239  	s.TestDurationInMinutes = &v
 14240  	return s
 14241  }
 14242  
 14243  // SetTestId sets the TestId field's value.
 14244  func (s *VirtualInterfaceTestHistory) SetTestId(v string) *VirtualInterfaceTestHistory {
 14245  	s.TestId = &v
 14246  	return s
 14247  }
 14248  
 14249  // SetVirtualInterfaceId sets the VirtualInterfaceId field's value.
 14250  func (s *VirtualInterfaceTestHistory) SetVirtualInterfaceId(v string) *VirtualInterfaceTestHistory {
 14251  	s.VirtualInterfaceId = &v
 14252  	return s
 14253  }
 14254  
 14255  const (
 14256  	// AddressFamilyIpv4 is a AddressFamily enum value
 14257  	AddressFamilyIpv4 = "ipv4"
 14258  
 14259  	// AddressFamilyIpv6 is a AddressFamily enum value
 14260  	AddressFamilyIpv6 = "ipv6"
 14261  )
 14262  
 14263  // AddressFamily_Values returns all elements of the AddressFamily enum
 14264  func AddressFamily_Values() []string {
 14265  	return []string{
 14266  		AddressFamilyIpv4,
 14267  		AddressFamilyIpv6,
 14268  	}
 14269  }
 14270  
 14271  const (
 14272  	// BGPPeerStateVerifying is a BGPPeerState enum value
 14273  	BGPPeerStateVerifying = "verifying"
 14274  
 14275  	// BGPPeerStatePending is a BGPPeerState enum value
 14276  	BGPPeerStatePending = "pending"
 14277  
 14278  	// BGPPeerStateAvailable is a BGPPeerState enum value
 14279  	BGPPeerStateAvailable = "available"
 14280  
 14281  	// BGPPeerStateDeleting is a BGPPeerState enum value
 14282  	BGPPeerStateDeleting = "deleting"
 14283  
 14284  	// BGPPeerStateDeleted is a BGPPeerState enum value
 14285  	BGPPeerStateDeleted = "deleted"
 14286  )
 14287  
 14288  // BGPPeerState_Values returns all elements of the BGPPeerState enum
 14289  func BGPPeerState_Values() []string {
 14290  	return []string{
 14291  		BGPPeerStateVerifying,
 14292  		BGPPeerStatePending,
 14293  		BGPPeerStateAvailable,
 14294  		BGPPeerStateDeleting,
 14295  		BGPPeerStateDeleted,
 14296  	}
 14297  }
 14298  
 14299  const (
 14300  	// BGPStatusUp is a BGPStatus enum value
 14301  	BGPStatusUp = "up"
 14302  
 14303  	// BGPStatusDown is a BGPStatus enum value
 14304  	BGPStatusDown = "down"
 14305  
 14306  	// BGPStatusUnknown is a BGPStatus enum value
 14307  	BGPStatusUnknown = "unknown"
 14308  )
 14309  
 14310  // BGPStatus_Values returns all elements of the BGPStatus enum
 14311  func BGPStatus_Values() []string {
 14312  	return []string{
 14313  		BGPStatusUp,
 14314  		BGPStatusDown,
 14315  		BGPStatusUnknown,
 14316  	}
 14317  }
 14318  
 14319  const (
 14320  	// ConnectionStateOrdering is a ConnectionState enum value
 14321  	ConnectionStateOrdering = "ordering"
 14322  
 14323  	// ConnectionStateRequested is a ConnectionState enum value
 14324  	ConnectionStateRequested = "requested"
 14325  
 14326  	// ConnectionStatePending is a ConnectionState enum value
 14327  	ConnectionStatePending = "pending"
 14328  
 14329  	// ConnectionStateAvailable is a ConnectionState enum value
 14330  	ConnectionStateAvailable = "available"
 14331  
 14332  	// ConnectionStateDown is a ConnectionState enum value
 14333  	ConnectionStateDown = "down"
 14334  
 14335  	// ConnectionStateDeleting is a ConnectionState enum value
 14336  	ConnectionStateDeleting = "deleting"
 14337  
 14338  	// ConnectionStateDeleted is a ConnectionState enum value
 14339  	ConnectionStateDeleted = "deleted"
 14340  
 14341  	// ConnectionStateRejected is a ConnectionState enum value
 14342  	ConnectionStateRejected = "rejected"
 14343  
 14344  	// ConnectionStateUnknown is a ConnectionState enum value
 14345  	ConnectionStateUnknown = "unknown"
 14346  )
 14347  
 14348  // ConnectionState_Values returns all elements of the ConnectionState enum
 14349  func ConnectionState_Values() []string {
 14350  	return []string{
 14351  		ConnectionStateOrdering,
 14352  		ConnectionStateRequested,
 14353  		ConnectionStatePending,
 14354  		ConnectionStateAvailable,
 14355  		ConnectionStateDown,
 14356  		ConnectionStateDeleting,
 14357  		ConnectionStateDeleted,
 14358  		ConnectionStateRejected,
 14359  		ConnectionStateUnknown,
 14360  	}
 14361  }
 14362  
 14363  const (
 14364  	// GatewayAssociationProposalStateRequested is a GatewayAssociationProposalState enum value
 14365  	GatewayAssociationProposalStateRequested = "requested"
 14366  
 14367  	// GatewayAssociationProposalStateAccepted is a GatewayAssociationProposalState enum value
 14368  	GatewayAssociationProposalStateAccepted = "accepted"
 14369  
 14370  	// GatewayAssociationProposalStateDeleted is a GatewayAssociationProposalState enum value
 14371  	GatewayAssociationProposalStateDeleted = "deleted"
 14372  )
 14373  
 14374  // GatewayAssociationProposalState_Values returns all elements of the GatewayAssociationProposalState enum
 14375  func GatewayAssociationProposalState_Values() []string {
 14376  	return []string{
 14377  		GatewayAssociationProposalStateRequested,
 14378  		GatewayAssociationProposalStateAccepted,
 14379  		GatewayAssociationProposalStateDeleted,
 14380  	}
 14381  }
 14382  
 14383  const (
 14384  	// GatewayAssociationStateAssociating is a GatewayAssociationState enum value
 14385  	GatewayAssociationStateAssociating = "associating"
 14386  
 14387  	// GatewayAssociationStateAssociated is a GatewayAssociationState enum value
 14388  	GatewayAssociationStateAssociated = "associated"
 14389  
 14390  	// GatewayAssociationStateDisassociating is a GatewayAssociationState enum value
 14391  	GatewayAssociationStateDisassociating = "disassociating"
 14392  
 14393  	// GatewayAssociationStateDisassociated is a GatewayAssociationState enum value
 14394  	GatewayAssociationStateDisassociated = "disassociated"
 14395  
 14396  	// GatewayAssociationStateUpdating is a GatewayAssociationState enum value
 14397  	GatewayAssociationStateUpdating = "updating"
 14398  )
 14399  
 14400  // GatewayAssociationState_Values returns all elements of the GatewayAssociationState enum
 14401  func GatewayAssociationState_Values() []string {
 14402  	return []string{
 14403  		GatewayAssociationStateAssociating,
 14404  		GatewayAssociationStateAssociated,
 14405  		GatewayAssociationStateDisassociating,
 14406  		GatewayAssociationStateDisassociated,
 14407  		GatewayAssociationStateUpdating,
 14408  	}
 14409  }
 14410  
 14411  const (
 14412  	// GatewayAttachmentStateAttaching is a GatewayAttachmentState enum value
 14413  	GatewayAttachmentStateAttaching = "attaching"
 14414  
 14415  	// GatewayAttachmentStateAttached is a GatewayAttachmentState enum value
 14416  	GatewayAttachmentStateAttached = "attached"
 14417  
 14418  	// GatewayAttachmentStateDetaching is a GatewayAttachmentState enum value
 14419  	GatewayAttachmentStateDetaching = "detaching"
 14420  
 14421  	// GatewayAttachmentStateDetached is a GatewayAttachmentState enum value
 14422  	GatewayAttachmentStateDetached = "detached"
 14423  )
 14424  
 14425  // GatewayAttachmentState_Values returns all elements of the GatewayAttachmentState enum
 14426  func GatewayAttachmentState_Values() []string {
 14427  	return []string{
 14428  		GatewayAttachmentStateAttaching,
 14429  		GatewayAttachmentStateAttached,
 14430  		GatewayAttachmentStateDetaching,
 14431  		GatewayAttachmentStateDetached,
 14432  	}
 14433  }
 14434  
 14435  const (
 14436  	// GatewayAttachmentTypeTransitVirtualInterface is a GatewayAttachmentType enum value
 14437  	GatewayAttachmentTypeTransitVirtualInterface = "TransitVirtualInterface"
 14438  
 14439  	// GatewayAttachmentTypePrivateVirtualInterface is a GatewayAttachmentType enum value
 14440  	GatewayAttachmentTypePrivateVirtualInterface = "PrivateVirtualInterface"
 14441  )
 14442  
 14443  // GatewayAttachmentType_Values returns all elements of the GatewayAttachmentType enum
 14444  func GatewayAttachmentType_Values() []string {
 14445  	return []string{
 14446  		GatewayAttachmentTypeTransitVirtualInterface,
 14447  		GatewayAttachmentTypePrivateVirtualInterface,
 14448  	}
 14449  }
 14450  
 14451  const (
 14452  	// GatewayStatePending is a GatewayState enum value
 14453  	GatewayStatePending = "pending"
 14454  
 14455  	// GatewayStateAvailable is a GatewayState enum value
 14456  	GatewayStateAvailable = "available"
 14457  
 14458  	// GatewayStateDeleting is a GatewayState enum value
 14459  	GatewayStateDeleting = "deleting"
 14460  
 14461  	// GatewayStateDeleted is a GatewayState enum value
 14462  	GatewayStateDeleted = "deleted"
 14463  )
 14464  
 14465  // GatewayState_Values returns all elements of the GatewayState enum
 14466  func GatewayState_Values() []string {
 14467  	return []string{
 14468  		GatewayStatePending,
 14469  		GatewayStateAvailable,
 14470  		GatewayStateDeleting,
 14471  		GatewayStateDeleted,
 14472  	}
 14473  }
 14474  
 14475  const (
 14476  	// GatewayTypeVirtualPrivateGateway is a GatewayType enum value
 14477  	GatewayTypeVirtualPrivateGateway = "virtualPrivateGateway"
 14478  
 14479  	// GatewayTypeTransitGateway is a GatewayType enum value
 14480  	GatewayTypeTransitGateway = "transitGateway"
 14481  )
 14482  
 14483  // GatewayType_Values returns all elements of the GatewayType enum
 14484  func GatewayType_Values() []string {
 14485  	return []string{
 14486  		GatewayTypeVirtualPrivateGateway,
 14487  		GatewayTypeTransitGateway,
 14488  	}
 14489  }
 14490  
 14491  const (
 14492  	// HasLogicalRedundancyUnknown is a HasLogicalRedundancy enum value
 14493  	HasLogicalRedundancyUnknown = "unknown"
 14494  
 14495  	// HasLogicalRedundancyYes is a HasLogicalRedundancy enum value
 14496  	HasLogicalRedundancyYes = "yes"
 14497  
 14498  	// HasLogicalRedundancyNo is a HasLogicalRedundancy enum value
 14499  	HasLogicalRedundancyNo = "no"
 14500  )
 14501  
 14502  // HasLogicalRedundancy_Values returns all elements of the HasLogicalRedundancy enum
 14503  func HasLogicalRedundancy_Values() []string {
 14504  	return []string{
 14505  		HasLogicalRedundancyUnknown,
 14506  		HasLogicalRedundancyYes,
 14507  		HasLogicalRedundancyNo,
 14508  	}
 14509  }
 14510  
 14511  const (
 14512  	// InterconnectStateRequested is a InterconnectState enum value
 14513  	InterconnectStateRequested = "requested"
 14514  
 14515  	// InterconnectStatePending is a InterconnectState enum value
 14516  	InterconnectStatePending = "pending"
 14517  
 14518  	// InterconnectStateAvailable is a InterconnectState enum value
 14519  	InterconnectStateAvailable = "available"
 14520  
 14521  	// InterconnectStateDown is a InterconnectState enum value
 14522  	InterconnectStateDown = "down"
 14523  
 14524  	// InterconnectStateDeleting is a InterconnectState enum value
 14525  	InterconnectStateDeleting = "deleting"
 14526  
 14527  	// InterconnectStateDeleted is a InterconnectState enum value
 14528  	InterconnectStateDeleted = "deleted"
 14529  
 14530  	// InterconnectStateUnknown is a InterconnectState enum value
 14531  	InterconnectStateUnknown = "unknown"
 14532  )
 14533  
 14534  // InterconnectState_Values returns all elements of the InterconnectState enum
 14535  func InterconnectState_Values() []string {
 14536  	return []string{
 14537  		InterconnectStateRequested,
 14538  		InterconnectStatePending,
 14539  		InterconnectStateAvailable,
 14540  		InterconnectStateDown,
 14541  		InterconnectStateDeleting,
 14542  		InterconnectStateDeleted,
 14543  		InterconnectStateUnknown,
 14544  	}
 14545  }
 14546  
 14547  const (
 14548  	// LagStateRequested is a LagState enum value
 14549  	LagStateRequested = "requested"
 14550  
 14551  	// LagStatePending is a LagState enum value
 14552  	LagStatePending = "pending"
 14553  
 14554  	// LagStateAvailable is a LagState enum value
 14555  	LagStateAvailable = "available"
 14556  
 14557  	// LagStateDown is a LagState enum value
 14558  	LagStateDown = "down"
 14559  
 14560  	// LagStateDeleting is a LagState enum value
 14561  	LagStateDeleting = "deleting"
 14562  
 14563  	// LagStateDeleted is a LagState enum value
 14564  	LagStateDeleted = "deleted"
 14565  
 14566  	// LagStateUnknown is a LagState enum value
 14567  	LagStateUnknown = "unknown"
 14568  )
 14569  
 14570  // LagState_Values returns all elements of the LagState enum
 14571  func LagState_Values() []string {
 14572  	return []string{
 14573  		LagStateRequested,
 14574  		LagStatePending,
 14575  		LagStateAvailable,
 14576  		LagStateDown,
 14577  		LagStateDeleting,
 14578  		LagStateDeleted,
 14579  		LagStateUnknown,
 14580  	}
 14581  }
 14582  
 14583  const (
 14584  	// LoaContentTypeApplicationPdf is a LoaContentType enum value
 14585  	LoaContentTypeApplicationPdf = "application/pdf"
 14586  )
 14587  
 14588  // LoaContentType_Values returns all elements of the LoaContentType enum
 14589  func LoaContentType_Values() []string {
 14590  	return []string{
 14591  		LoaContentTypeApplicationPdf,
 14592  	}
 14593  }
 14594  
 14595  const (
 14596  	// VirtualInterfaceStateConfirming is a VirtualInterfaceState enum value
 14597  	VirtualInterfaceStateConfirming = "confirming"
 14598  
 14599  	// VirtualInterfaceStateVerifying is a VirtualInterfaceState enum value
 14600  	VirtualInterfaceStateVerifying = "verifying"
 14601  
 14602  	// VirtualInterfaceStatePending is a VirtualInterfaceState enum value
 14603  	VirtualInterfaceStatePending = "pending"
 14604  
 14605  	// VirtualInterfaceStateAvailable is a VirtualInterfaceState enum value
 14606  	VirtualInterfaceStateAvailable = "available"
 14607  
 14608  	// VirtualInterfaceStateDown is a VirtualInterfaceState enum value
 14609  	VirtualInterfaceStateDown = "down"
 14610  
 14611  	// VirtualInterfaceStateDeleting is a VirtualInterfaceState enum value
 14612  	VirtualInterfaceStateDeleting = "deleting"
 14613  
 14614  	// VirtualInterfaceStateDeleted is a VirtualInterfaceState enum value
 14615  	VirtualInterfaceStateDeleted = "deleted"
 14616  
 14617  	// VirtualInterfaceStateRejected is a VirtualInterfaceState enum value
 14618  	VirtualInterfaceStateRejected = "rejected"
 14619  
 14620  	// VirtualInterfaceStateUnknown is a VirtualInterfaceState enum value
 14621  	VirtualInterfaceStateUnknown = "unknown"
 14622  )
 14623  
 14624  // VirtualInterfaceState_Values returns all elements of the VirtualInterfaceState enum
 14625  func VirtualInterfaceState_Values() []string {
 14626  	return []string{
 14627  		VirtualInterfaceStateConfirming,
 14628  		VirtualInterfaceStateVerifying,
 14629  		VirtualInterfaceStatePending,
 14630  		VirtualInterfaceStateAvailable,
 14631  		VirtualInterfaceStateDown,
 14632  		VirtualInterfaceStateDeleting,
 14633  		VirtualInterfaceStateDeleted,
 14634  		VirtualInterfaceStateRejected,
 14635  		VirtualInterfaceStateUnknown,
 14636  	}
 14637  }