1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package elasticinference
4
5import (
6	"fmt"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12	"github.com/aws/aws-sdk-go/private/protocol/restjson"
13)
14
15const opDescribeAcceleratorOfferings = "DescribeAcceleratorOfferings"
16
17// DescribeAcceleratorOfferingsRequest generates a "aws/request.Request" representing the
18// client's request for the DescribeAcceleratorOfferings operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See DescribeAcceleratorOfferings for more information on using the DescribeAcceleratorOfferings
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the DescribeAcceleratorOfferingsRequest method.
33//    req, resp := client.DescribeAcceleratorOfferingsRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/elastic-inference-2017-07-25/DescribeAcceleratorOfferings
41func (c *ElasticInference) DescribeAcceleratorOfferingsRequest(input *DescribeAcceleratorOfferingsInput) (req *request.Request, output *DescribeAcceleratorOfferingsOutput) {
42	op := &request.Operation{
43		Name:       opDescribeAcceleratorOfferings,
44		HTTPMethod: "POST",
45		HTTPPath:   "/describe-accelerator-offerings",
46	}
47
48	if input == nil {
49		input = &DescribeAcceleratorOfferingsInput{}
50	}
51
52	output = &DescribeAcceleratorOfferingsOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// DescribeAcceleratorOfferings API operation for Amazon Elastic  Inference.
58//
59// Describes the locations in which a given accelerator type or set of types
60// is present in a given region.
61//
62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
63// with awserr.Error's Code and Message methods to get detailed information about
64// the error.
65//
66// See the AWS API reference guide for Amazon Elastic  Inference's
67// API operation DescribeAcceleratorOfferings for usage and error information.
68//
69// Returned Error Types:
70//   * BadRequestException
71//   Raised when a malformed input has been provided to the API.
72//
73//   * ResourceNotFoundException
74//   Raised when the requested resource cannot be found.
75//
76//   * InternalServerException
77//   Raised when an unexpected error occurred during request processing.
78//
79// See also, https://docs.aws.amazon.com/goto/WebAPI/elastic-inference-2017-07-25/DescribeAcceleratorOfferings
80func (c *ElasticInference) DescribeAcceleratorOfferings(input *DescribeAcceleratorOfferingsInput) (*DescribeAcceleratorOfferingsOutput, error) {
81	req, out := c.DescribeAcceleratorOfferingsRequest(input)
82	return out, req.Send()
83}
84
85// DescribeAcceleratorOfferingsWithContext is the same as DescribeAcceleratorOfferings with the addition of
86// the ability to pass a context and additional request options.
87//
88// See DescribeAcceleratorOfferings for details on how to use this API operation.
89//
90// The context must be non-nil and will be used for request cancellation. If
91// the context is nil a panic will occur. In the future the SDK may create
92// sub-contexts for http.Requests. See https://golang.org/pkg/context/
93// for more information on using Contexts.
94func (c *ElasticInference) DescribeAcceleratorOfferingsWithContext(ctx aws.Context, input *DescribeAcceleratorOfferingsInput, opts ...request.Option) (*DescribeAcceleratorOfferingsOutput, error) {
95	req, out := c.DescribeAcceleratorOfferingsRequest(input)
96	req.SetContext(ctx)
97	req.ApplyOptions(opts...)
98	return out, req.Send()
99}
100
101const opDescribeAcceleratorTypes = "DescribeAcceleratorTypes"
102
103// DescribeAcceleratorTypesRequest generates a "aws/request.Request" representing the
104// client's request for the DescribeAcceleratorTypes operation. The "output" return
105// value will be populated with the request's response once the request completes
106// successfully.
107//
108// Use "Send" method on the returned Request to send the API call to the service.
109// the "output" return value is not valid until after Send returns without error.
110//
111// See DescribeAcceleratorTypes for more information on using the DescribeAcceleratorTypes
112// API call, and error handling.
113//
114// This method is useful when you want to inject custom logic or configuration
115// into the SDK's request lifecycle. Such as custom headers, or retry logic.
116//
117//
118//    // Example sending a request using the DescribeAcceleratorTypesRequest method.
119//    req, resp := client.DescribeAcceleratorTypesRequest(params)
120//
121//    err := req.Send()
122//    if err == nil { // resp is now filled
123//        fmt.Println(resp)
124//    }
125//
126// See also, https://docs.aws.amazon.com/goto/WebAPI/elastic-inference-2017-07-25/DescribeAcceleratorTypes
127func (c *ElasticInference) DescribeAcceleratorTypesRequest(input *DescribeAcceleratorTypesInput) (req *request.Request, output *DescribeAcceleratorTypesOutput) {
128	op := &request.Operation{
129		Name:       opDescribeAcceleratorTypes,
130		HTTPMethod: "GET",
131		HTTPPath:   "/describe-accelerator-types",
132	}
133
134	if input == nil {
135		input = &DescribeAcceleratorTypesInput{}
136	}
137
138	output = &DescribeAcceleratorTypesOutput{}
139	req = c.newRequest(op, input, output)
140	return
141}
142
143// DescribeAcceleratorTypes API operation for Amazon Elastic  Inference.
144//
145// Describes the accelerator types available in a given region, as well as their
146// characteristics, such as memory and throughput.
147//
148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
149// with awserr.Error's Code and Message methods to get detailed information about
150// the error.
151//
152// See the AWS API reference guide for Amazon Elastic  Inference's
153// API operation DescribeAcceleratorTypes for usage and error information.
154//
155// Returned Error Types:
156//   * InternalServerException
157//   Raised when an unexpected error occurred during request processing.
158//
159// See also, https://docs.aws.amazon.com/goto/WebAPI/elastic-inference-2017-07-25/DescribeAcceleratorTypes
160func (c *ElasticInference) DescribeAcceleratorTypes(input *DescribeAcceleratorTypesInput) (*DescribeAcceleratorTypesOutput, error) {
161	req, out := c.DescribeAcceleratorTypesRequest(input)
162	return out, req.Send()
163}
164
165// DescribeAcceleratorTypesWithContext is the same as DescribeAcceleratorTypes with the addition of
166// the ability to pass a context and additional request options.
167//
168// See DescribeAcceleratorTypes for details on how to use this API operation.
169//
170// The context must be non-nil and will be used for request cancellation. If
171// the context is nil a panic will occur. In the future the SDK may create
172// sub-contexts for http.Requests. See https://golang.org/pkg/context/
173// for more information on using Contexts.
174func (c *ElasticInference) DescribeAcceleratorTypesWithContext(ctx aws.Context, input *DescribeAcceleratorTypesInput, opts ...request.Option) (*DescribeAcceleratorTypesOutput, error) {
175	req, out := c.DescribeAcceleratorTypesRequest(input)
176	req.SetContext(ctx)
177	req.ApplyOptions(opts...)
178	return out, req.Send()
179}
180
181const opDescribeAccelerators = "DescribeAccelerators"
182
183// DescribeAcceleratorsRequest generates a "aws/request.Request" representing the
184// client's request for the DescribeAccelerators operation. The "output" return
185// value will be populated with the request's response once the request completes
186// successfully.
187//
188// Use "Send" method on the returned Request to send the API call to the service.
189// the "output" return value is not valid until after Send returns without error.
190//
191// See DescribeAccelerators for more information on using the DescribeAccelerators
192// API call, and error handling.
193//
194// This method is useful when you want to inject custom logic or configuration
195// into the SDK's request lifecycle. Such as custom headers, or retry logic.
196//
197//
198//    // Example sending a request using the DescribeAcceleratorsRequest method.
199//    req, resp := client.DescribeAcceleratorsRequest(params)
200//
201//    err := req.Send()
202//    if err == nil { // resp is now filled
203//        fmt.Println(resp)
204//    }
205//
206// See also, https://docs.aws.amazon.com/goto/WebAPI/elastic-inference-2017-07-25/DescribeAccelerators
207func (c *ElasticInference) DescribeAcceleratorsRequest(input *DescribeAcceleratorsInput) (req *request.Request, output *DescribeAcceleratorsOutput) {
208	op := &request.Operation{
209		Name:       opDescribeAccelerators,
210		HTTPMethod: "POST",
211		HTTPPath:   "/describe-accelerators",
212		Paginator: &request.Paginator{
213			InputTokens:     []string{"nextToken"},
214			OutputTokens:    []string{"nextToken"},
215			LimitToken:      "maxResults",
216			TruncationToken: "",
217		},
218	}
219
220	if input == nil {
221		input = &DescribeAcceleratorsInput{}
222	}
223
224	output = &DescribeAcceleratorsOutput{}
225	req = c.newRequest(op, input, output)
226	return
227}
228
229// DescribeAccelerators API operation for Amazon Elastic  Inference.
230//
231// Describes information over a provided set of accelerators belonging to an
232// account.
233//
234// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
235// with awserr.Error's Code and Message methods to get detailed information about
236// the error.
237//
238// See the AWS API reference guide for Amazon Elastic  Inference's
239// API operation DescribeAccelerators for usage and error information.
240//
241// Returned Error Types:
242//   * BadRequestException
243//   Raised when a malformed input has been provided to the API.
244//
245//   * ResourceNotFoundException
246//   Raised when the requested resource cannot be found.
247//
248//   * InternalServerException
249//   Raised when an unexpected error occurred during request processing.
250//
251// See also, https://docs.aws.amazon.com/goto/WebAPI/elastic-inference-2017-07-25/DescribeAccelerators
252func (c *ElasticInference) DescribeAccelerators(input *DescribeAcceleratorsInput) (*DescribeAcceleratorsOutput, error) {
253	req, out := c.DescribeAcceleratorsRequest(input)
254	return out, req.Send()
255}
256
257// DescribeAcceleratorsWithContext is the same as DescribeAccelerators with the addition of
258// the ability to pass a context and additional request options.
259//
260// See DescribeAccelerators for details on how to use this API operation.
261//
262// The context must be non-nil and will be used for request cancellation. If
263// the context is nil a panic will occur. In the future the SDK may create
264// sub-contexts for http.Requests. See https://golang.org/pkg/context/
265// for more information on using Contexts.
266func (c *ElasticInference) DescribeAcceleratorsWithContext(ctx aws.Context, input *DescribeAcceleratorsInput, opts ...request.Option) (*DescribeAcceleratorsOutput, error) {
267	req, out := c.DescribeAcceleratorsRequest(input)
268	req.SetContext(ctx)
269	req.ApplyOptions(opts...)
270	return out, req.Send()
271}
272
273// DescribeAcceleratorsPages iterates over the pages of a DescribeAccelerators operation,
274// calling the "fn" function with the response data for each page. To stop
275// iterating, return false from the fn function.
276//
277// See DescribeAccelerators method for more information on how to use this operation.
278//
279// Note: This operation can generate multiple requests to a service.
280//
281//    // Example iterating over at most 3 pages of a DescribeAccelerators operation.
282//    pageNum := 0
283//    err := client.DescribeAcceleratorsPages(params,
284//        func(page *elasticinference.DescribeAcceleratorsOutput, lastPage bool) bool {
285//            pageNum++
286//            fmt.Println(page)
287//            return pageNum <= 3
288//        })
289//
290func (c *ElasticInference) DescribeAcceleratorsPages(input *DescribeAcceleratorsInput, fn func(*DescribeAcceleratorsOutput, bool) bool) error {
291	return c.DescribeAcceleratorsPagesWithContext(aws.BackgroundContext(), input, fn)
292}
293
294// DescribeAcceleratorsPagesWithContext same as DescribeAcceleratorsPages except
295// it takes a Context and allows setting request options on the pages.
296//
297// The context must be non-nil and will be used for request cancellation. If
298// the context is nil a panic will occur. In the future the SDK may create
299// sub-contexts for http.Requests. See https://golang.org/pkg/context/
300// for more information on using Contexts.
301func (c *ElasticInference) DescribeAcceleratorsPagesWithContext(ctx aws.Context, input *DescribeAcceleratorsInput, fn func(*DescribeAcceleratorsOutput, bool) bool, opts ...request.Option) error {
302	p := request.Pagination{
303		NewRequest: func() (*request.Request, error) {
304			var inCpy *DescribeAcceleratorsInput
305			if input != nil {
306				tmp := *input
307				inCpy = &tmp
308			}
309			req, _ := c.DescribeAcceleratorsRequest(inCpy)
310			req.SetContext(ctx)
311			req.ApplyOptions(opts...)
312			return req, nil
313		},
314	}
315
316	for p.Next() {
317		if !fn(p.Page().(*DescribeAcceleratorsOutput), !p.HasNextPage()) {
318			break
319		}
320	}
321
322	return p.Err()
323}
324
325const opListTagsForResource = "ListTagsForResource"
326
327// ListTagsForResourceRequest generates a "aws/request.Request" representing the
328// client's request for the ListTagsForResource operation. The "output" return
329// value will be populated with the request's response once the request completes
330// successfully.
331//
332// Use "Send" method on the returned Request to send the API call to the service.
333// the "output" return value is not valid until after Send returns without error.
334//
335// See ListTagsForResource for more information on using the ListTagsForResource
336// API call, and error handling.
337//
338// This method is useful when you want to inject custom logic or configuration
339// into the SDK's request lifecycle. Such as custom headers, or retry logic.
340//
341//
342//    // Example sending a request using the ListTagsForResourceRequest method.
343//    req, resp := client.ListTagsForResourceRequest(params)
344//
345//    err := req.Send()
346//    if err == nil { // resp is now filled
347//        fmt.Println(resp)
348//    }
349//
350// See also, https://docs.aws.amazon.com/goto/WebAPI/elastic-inference-2017-07-25/ListTagsForResource
351func (c *ElasticInference) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
352	op := &request.Operation{
353		Name:       opListTagsForResource,
354		HTTPMethod: "GET",
355		HTTPPath:   "/tags/{resourceArn}",
356	}
357
358	if input == nil {
359		input = &ListTagsForResourceInput{}
360	}
361
362	output = &ListTagsForResourceOutput{}
363	req = c.newRequest(op, input, output)
364	return
365}
366
367// ListTagsForResource API operation for Amazon Elastic  Inference.
368//
369// Returns all tags of an Elastic Inference Accelerator.
370//
371// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
372// with awserr.Error's Code and Message methods to get detailed information about
373// the error.
374//
375// See the AWS API reference guide for Amazon Elastic  Inference's
376// API operation ListTagsForResource for usage and error information.
377//
378// Returned Error Types:
379//   * BadRequestException
380//   Raised when a malformed input has been provided to the API.
381//
382//   * ResourceNotFoundException
383//   Raised when the requested resource cannot be found.
384//
385//   * InternalServerException
386//   Raised when an unexpected error occurred during request processing.
387//
388// See also, https://docs.aws.amazon.com/goto/WebAPI/elastic-inference-2017-07-25/ListTagsForResource
389func (c *ElasticInference) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
390	req, out := c.ListTagsForResourceRequest(input)
391	return out, req.Send()
392}
393
394// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
395// the ability to pass a context and additional request options.
396//
397// See ListTagsForResource for details on how to use this API operation.
398//
399// The context must be non-nil and will be used for request cancellation. If
400// the context is nil a panic will occur. In the future the SDK may create
401// sub-contexts for http.Requests. See https://golang.org/pkg/context/
402// for more information on using Contexts.
403func (c *ElasticInference) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
404	req, out := c.ListTagsForResourceRequest(input)
405	req.SetContext(ctx)
406	req.ApplyOptions(opts...)
407	return out, req.Send()
408}
409
410const opTagResource = "TagResource"
411
412// TagResourceRequest generates a "aws/request.Request" representing the
413// client's request for the TagResource operation. The "output" return
414// value will be populated with the request's response once the request completes
415// successfully.
416//
417// Use "Send" method on the returned Request to send the API call to the service.
418// the "output" return value is not valid until after Send returns without error.
419//
420// See TagResource for more information on using the TagResource
421// API call, and error handling.
422//
423// This method is useful when you want to inject custom logic or configuration
424// into the SDK's request lifecycle. Such as custom headers, or retry logic.
425//
426//
427//    // Example sending a request using the TagResourceRequest method.
428//    req, resp := client.TagResourceRequest(params)
429//
430//    err := req.Send()
431//    if err == nil { // resp is now filled
432//        fmt.Println(resp)
433//    }
434//
435// See also, https://docs.aws.amazon.com/goto/WebAPI/elastic-inference-2017-07-25/TagResource
436func (c *ElasticInference) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
437	op := &request.Operation{
438		Name:       opTagResource,
439		HTTPMethod: "POST",
440		HTTPPath:   "/tags/{resourceArn}",
441	}
442
443	if input == nil {
444		input = &TagResourceInput{}
445	}
446
447	output = &TagResourceOutput{}
448	req = c.newRequest(op, input, output)
449	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
450	return
451}
452
453// TagResource API operation for Amazon Elastic  Inference.
454//
455// Adds the specified tags to an Elastic Inference Accelerator.
456//
457// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
458// with awserr.Error's Code and Message methods to get detailed information about
459// the error.
460//
461// See the AWS API reference guide for Amazon Elastic  Inference's
462// API operation TagResource for usage and error information.
463//
464// Returned Error Types:
465//   * BadRequestException
466//   Raised when a malformed input has been provided to the API.
467//
468//   * ResourceNotFoundException
469//   Raised when the requested resource cannot be found.
470//
471//   * InternalServerException
472//   Raised when an unexpected error occurred during request processing.
473//
474// See also, https://docs.aws.amazon.com/goto/WebAPI/elastic-inference-2017-07-25/TagResource
475func (c *ElasticInference) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
476	req, out := c.TagResourceRequest(input)
477	return out, req.Send()
478}
479
480// TagResourceWithContext is the same as TagResource with the addition of
481// the ability to pass a context and additional request options.
482//
483// See TagResource for details on how to use this API operation.
484//
485// The context must be non-nil and will be used for request cancellation. If
486// the context is nil a panic will occur. In the future the SDK may create
487// sub-contexts for http.Requests. See https://golang.org/pkg/context/
488// for more information on using Contexts.
489func (c *ElasticInference) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
490	req, out := c.TagResourceRequest(input)
491	req.SetContext(ctx)
492	req.ApplyOptions(opts...)
493	return out, req.Send()
494}
495
496const opUntagResource = "UntagResource"
497
498// UntagResourceRequest generates a "aws/request.Request" representing the
499// client's request for the UntagResource operation. The "output" return
500// value will be populated with the request's response once the request completes
501// successfully.
502//
503// Use "Send" method on the returned Request to send the API call to the service.
504// the "output" return value is not valid until after Send returns without error.
505//
506// See UntagResource for more information on using the UntagResource
507// API call, and error handling.
508//
509// This method is useful when you want to inject custom logic or configuration
510// into the SDK's request lifecycle. Such as custom headers, or retry logic.
511//
512//
513//    // Example sending a request using the UntagResourceRequest method.
514//    req, resp := client.UntagResourceRequest(params)
515//
516//    err := req.Send()
517//    if err == nil { // resp is now filled
518//        fmt.Println(resp)
519//    }
520//
521// See also, https://docs.aws.amazon.com/goto/WebAPI/elastic-inference-2017-07-25/UntagResource
522func (c *ElasticInference) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
523	op := &request.Operation{
524		Name:       opUntagResource,
525		HTTPMethod: "DELETE",
526		HTTPPath:   "/tags/{resourceArn}",
527	}
528
529	if input == nil {
530		input = &UntagResourceInput{}
531	}
532
533	output = &UntagResourceOutput{}
534	req = c.newRequest(op, input, output)
535	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
536	return
537}
538
539// UntagResource API operation for Amazon Elastic  Inference.
540//
541// Removes the specified tags from an Elastic Inference Accelerator.
542//
543// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
544// with awserr.Error's Code and Message methods to get detailed information about
545// the error.
546//
547// See the AWS API reference guide for Amazon Elastic  Inference's
548// API operation UntagResource for usage and error information.
549//
550// Returned Error Types:
551//   * BadRequestException
552//   Raised when a malformed input has been provided to the API.
553//
554//   * ResourceNotFoundException
555//   Raised when the requested resource cannot be found.
556//
557//   * InternalServerException
558//   Raised when an unexpected error occurred during request processing.
559//
560// See also, https://docs.aws.amazon.com/goto/WebAPI/elastic-inference-2017-07-25/UntagResource
561func (c *ElasticInference) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
562	req, out := c.UntagResourceRequest(input)
563	return out, req.Send()
564}
565
566// UntagResourceWithContext is the same as UntagResource with the addition of
567// the ability to pass a context and additional request options.
568//
569// See UntagResource for details on how to use this API operation.
570//
571// The context must be non-nil and will be used for request cancellation. If
572// the context is nil a panic will occur. In the future the SDK may create
573// sub-contexts for http.Requests. See https://golang.org/pkg/context/
574// for more information on using Contexts.
575func (c *ElasticInference) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
576	req, out := c.UntagResourceRequest(input)
577	req.SetContext(ctx)
578	req.ApplyOptions(opts...)
579	return out, req.Send()
580}
581
582// The details of an Elastic Inference Accelerator type.
583type AcceleratorType struct {
584	_ struct{} `type:"structure"`
585
586	// The name of the Elastic Inference Accelerator type.
587	AcceleratorTypeName *string `locationName:"acceleratorTypeName" min:"1" type:"string"`
588
589	// The memory information of the Elastic Inference Accelerator type.
590	MemoryInfo *MemoryInfo `locationName:"memoryInfo" type:"structure"`
591
592	// The throughput information of the Elastic Inference Accelerator type.
593	ThroughputInfo []*KeyValuePair `locationName:"throughputInfo" type:"list"`
594}
595
596// String returns the string representation
597func (s AcceleratorType) String() string {
598	return awsutil.Prettify(s)
599}
600
601// GoString returns the string representation
602func (s AcceleratorType) GoString() string {
603	return s.String()
604}
605
606// SetAcceleratorTypeName sets the AcceleratorTypeName field's value.
607func (s *AcceleratorType) SetAcceleratorTypeName(v string) *AcceleratorType {
608	s.AcceleratorTypeName = &v
609	return s
610}
611
612// SetMemoryInfo sets the MemoryInfo field's value.
613func (s *AcceleratorType) SetMemoryInfo(v *MemoryInfo) *AcceleratorType {
614	s.MemoryInfo = v
615	return s
616}
617
618// SetThroughputInfo sets the ThroughputInfo field's value.
619func (s *AcceleratorType) SetThroughputInfo(v []*KeyValuePair) *AcceleratorType {
620	s.ThroughputInfo = v
621	return s
622}
623
624// The offering for an Elastic Inference Accelerator type.
625type AcceleratorTypeOffering struct {
626	_ struct{} `type:"structure"`
627
628	// The name of the Elastic Inference Accelerator type.
629	AcceleratorType *string `locationName:"acceleratorType" min:"1" type:"string"`
630
631	// The location for the offering. It will return either the region, availability
632	// zone or availability zone id for the offering depending on the locationType
633	// value.
634	Location *string `locationName:"location" min:"1" type:"string"`
635
636	// The location type for the offering. It can assume the following values: region:
637	// defines that the offering is at the regional level. availability-zone: defines
638	// that the offering is at the availability zone level. availability-zone-id:
639	// defines that the offering is at the availability zone level, defined by the
640	// availability zone id.
641	LocationType *string `locationName:"locationType" min:"1" type:"string" enum:"LocationType"`
642}
643
644// String returns the string representation
645func (s AcceleratorTypeOffering) String() string {
646	return awsutil.Prettify(s)
647}
648
649// GoString returns the string representation
650func (s AcceleratorTypeOffering) GoString() string {
651	return s.String()
652}
653
654// SetAcceleratorType sets the AcceleratorType field's value.
655func (s *AcceleratorTypeOffering) SetAcceleratorType(v string) *AcceleratorTypeOffering {
656	s.AcceleratorType = &v
657	return s
658}
659
660// SetLocation sets the Location field's value.
661func (s *AcceleratorTypeOffering) SetLocation(v string) *AcceleratorTypeOffering {
662	s.Location = &v
663	return s
664}
665
666// SetLocationType sets the LocationType field's value.
667func (s *AcceleratorTypeOffering) SetLocationType(v string) *AcceleratorTypeOffering {
668	s.LocationType = &v
669	return s
670}
671
672// Raised when a malformed input has been provided to the API.
673type BadRequestException struct {
674	_            struct{}                  `type:"structure"`
675	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
676
677	Message_ *string `locationName:"message" type:"string"`
678}
679
680// String returns the string representation
681func (s BadRequestException) String() string {
682	return awsutil.Prettify(s)
683}
684
685// GoString returns the string representation
686func (s BadRequestException) GoString() string {
687	return s.String()
688}
689
690func newErrorBadRequestException(v protocol.ResponseMetadata) error {
691	return &BadRequestException{
692		RespMetadata: v,
693	}
694}
695
696// Code returns the exception type name.
697func (s *BadRequestException) Code() string {
698	return "BadRequestException"
699}
700
701// Message returns the exception's message.
702func (s *BadRequestException) Message() string {
703	if s.Message_ != nil {
704		return *s.Message_
705	}
706	return ""
707}
708
709// OrigErr always returns nil, satisfies awserr.Error interface.
710func (s *BadRequestException) OrigErr() error {
711	return nil
712}
713
714func (s *BadRequestException) Error() string {
715	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
716}
717
718// Status code returns the HTTP status code for the request's response error.
719func (s *BadRequestException) StatusCode() int {
720	return s.RespMetadata.StatusCode
721}
722
723// RequestID returns the service's response RequestID for request.
724func (s *BadRequestException) RequestID() string {
725	return s.RespMetadata.RequestID
726}
727
728type DescribeAcceleratorOfferingsInput struct {
729	_ struct{} `type:"structure"`
730
731	// The list of accelerator types to describe.
732	AcceleratorTypes []*string `locationName:"acceleratorTypes" type:"list"`
733
734	// The location type that you want to describe accelerator type offerings for.
735	// It can assume the following values: region: will return the accelerator type
736	// offering at the regional level. availability-zone: will return the accelerator
737	// type offering at the availability zone level. availability-zone-id: will
738	// return the accelerator type offering at the availability zone level returning
739	// the availability zone id.
740	//
741	// LocationType is a required field
742	LocationType *string `locationName:"locationType" min:"1" type:"string" required:"true" enum:"LocationType"`
743}
744
745// String returns the string representation
746func (s DescribeAcceleratorOfferingsInput) String() string {
747	return awsutil.Prettify(s)
748}
749
750// GoString returns the string representation
751func (s DescribeAcceleratorOfferingsInput) GoString() string {
752	return s.String()
753}
754
755// Validate inspects the fields of the type to determine if they are valid.
756func (s *DescribeAcceleratorOfferingsInput) Validate() error {
757	invalidParams := request.ErrInvalidParams{Context: "DescribeAcceleratorOfferingsInput"}
758	if s.LocationType == nil {
759		invalidParams.Add(request.NewErrParamRequired("LocationType"))
760	}
761	if s.LocationType != nil && len(*s.LocationType) < 1 {
762		invalidParams.Add(request.NewErrParamMinLen("LocationType", 1))
763	}
764
765	if invalidParams.Len() > 0 {
766		return invalidParams
767	}
768	return nil
769}
770
771// SetAcceleratorTypes sets the AcceleratorTypes field's value.
772func (s *DescribeAcceleratorOfferingsInput) SetAcceleratorTypes(v []*string) *DescribeAcceleratorOfferingsInput {
773	s.AcceleratorTypes = v
774	return s
775}
776
777// SetLocationType sets the LocationType field's value.
778func (s *DescribeAcceleratorOfferingsInput) SetLocationType(v string) *DescribeAcceleratorOfferingsInput {
779	s.LocationType = &v
780	return s
781}
782
783type DescribeAcceleratorOfferingsOutput struct {
784	_ struct{} `type:"structure"`
785
786	// The list of accelerator type offerings for a specific location.
787	AcceleratorTypeOfferings []*AcceleratorTypeOffering `locationName:"acceleratorTypeOfferings" type:"list"`
788}
789
790// String returns the string representation
791func (s DescribeAcceleratorOfferingsOutput) String() string {
792	return awsutil.Prettify(s)
793}
794
795// GoString returns the string representation
796func (s DescribeAcceleratorOfferingsOutput) GoString() string {
797	return s.String()
798}
799
800// SetAcceleratorTypeOfferings sets the AcceleratorTypeOfferings field's value.
801func (s *DescribeAcceleratorOfferingsOutput) SetAcceleratorTypeOfferings(v []*AcceleratorTypeOffering) *DescribeAcceleratorOfferingsOutput {
802	s.AcceleratorTypeOfferings = v
803	return s
804}
805
806type DescribeAcceleratorTypesInput struct {
807	_ struct{} `type:"structure"`
808}
809
810// String returns the string representation
811func (s DescribeAcceleratorTypesInput) String() string {
812	return awsutil.Prettify(s)
813}
814
815// GoString returns the string representation
816func (s DescribeAcceleratorTypesInput) GoString() string {
817	return s.String()
818}
819
820type DescribeAcceleratorTypesOutput struct {
821	_ struct{} `type:"structure"`
822
823	// The available accelerator types.
824	AcceleratorTypes []*AcceleratorType `locationName:"acceleratorTypes" type:"list"`
825}
826
827// String returns the string representation
828func (s DescribeAcceleratorTypesOutput) String() string {
829	return awsutil.Prettify(s)
830}
831
832// GoString returns the string representation
833func (s DescribeAcceleratorTypesOutput) GoString() string {
834	return s.String()
835}
836
837// SetAcceleratorTypes sets the AcceleratorTypes field's value.
838func (s *DescribeAcceleratorTypesOutput) SetAcceleratorTypes(v []*AcceleratorType) *DescribeAcceleratorTypesOutput {
839	s.AcceleratorTypes = v
840	return s
841}
842
843type DescribeAcceleratorsInput struct {
844	_ struct{} `type:"structure"`
845
846	// The IDs of the accelerators to describe.
847	AcceleratorIds []*string `locationName:"acceleratorIds" type:"list"`
848
849	// One or more filters. Filter names and values are case-sensitive. Valid filter
850	// names are: accelerator-types: can provide a list of accelerator type names
851	// to filter for. instance-id: can provide a list of EC2 instance ids to filter
852	// for.
853	Filters []*Filter `locationName:"filters" type:"list"`
854
855	// The total number of items to return in the command's output. If the total
856	// number of items available is more than the value specified, a NextToken is
857	// provided in the command's output. To resume pagination, provide the NextToken
858	// value in the starting-token argument of a subsequent command. Do not use
859	// the NextToken response element directly outside of the AWS CLI.
860	MaxResults *int64 `locationName:"maxResults" type:"integer"`
861
862	// A token to specify where to start paginating. This is the NextToken from
863	// a previously truncated response.
864	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
865}
866
867// String returns the string representation
868func (s DescribeAcceleratorsInput) String() string {
869	return awsutil.Prettify(s)
870}
871
872// GoString returns the string representation
873func (s DescribeAcceleratorsInput) GoString() string {
874	return s.String()
875}
876
877// Validate inspects the fields of the type to determine if they are valid.
878func (s *DescribeAcceleratorsInput) Validate() error {
879	invalidParams := request.ErrInvalidParams{Context: "DescribeAcceleratorsInput"}
880	if s.NextToken != nil && len(*s.NextToken) < 1 {
881		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
882	}
883	if s.Filters != nil {
884		for i, v := range s.Filters {
885			if v == nil {
886				continue
887			}
888			if err := v.Validate(); err != nil {
889				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
890			}
891		}
892	}
893
894	if invalidParams.Len() > 0 {
895		return invalidParams
896	}
897	return nil
898}
899
900// SetAcceleratorIds sets the AcceleratorIds field's value.
901func (s *DescribeAcceleratorsInput) SetAcceleratorIds(v []*string) *DescribeAcceleratorsInput {
902	s.AcceleratorIds = v
903	return s
904}
905
906// SetFilters sets the Filters field's value.
907func (s *DescribeAcceleratorsInput) SetFilters(v []*Filter) *DescribeAcceleratorsInput {
908	s.Filters = v
909	return s
910}
911
912// SetMaxResults sets the MaxResults field's value.
913func (s *DescribeAcceleratorsInput) SetMaxResults(v int64) *DescribeAcceleratorsInput {
914	s.MaxResults = &v
915	return s
916}
917
918// SetNextToken sets the NextToken field's value.
919func (s *DescribeAcceleratorsInput) SetNextToken(v string) *DescribeAcceleratorsInput {
920	s.NextToken = &v
921	return s
922}
923
924type DescribeAcceleratorsOutput struct {
925	_ struct{} `type:"structure"`
926
927	// The details of the Elastic Inference Accelerators.
928	AcceleratorSet []*ElasticInferenceAccelerator `locationName:"acceleratorSet" type:"list"`
929
930	// A token to specify where to start paginating. This is the NextToken from
931	// a previously truncated response.
932	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
933}
934
935// String returns the string representation
936func (s DescribeAcceleratorsOutput) String() string {
937	return awsutil.Prettify(s)
938}
939
940// GoString returns the string representation
941func (s DescribeAcceleratorsOutput) GoString() string {
942	return s.String()
943}
944
945// SetAcceleratorSet sets the AcceleratorSet field's value.
946func (s *DescribeAcceleratorsOutput) SetAcceleratorSet(v []*ElasticInferenceAccelerator) *DescribeAcceleratorsOutput {
947	s.AcceleratorSet = v
948	return s
949}
950
951// SetNextToken sets the NextToken field's value.
952func (s *DescribeAcceleratorsOutput) SetNextToken(v string) *DescribeAcceleratorsOutput {
953	s.NextToken = &v
954	return s
955}
956
957// The details of an Elastic Inference Accelerator.
958type ElasticInferenceAccelerator struct {
959	_ struct{} `type:"structure"`
960
961	// The health of the Elastic Inference Accelerator.
962	AcceleratorHealth *ElasticInferenceAcceleratorHealth `locationName:"acceleratorHealth" type:"structure"`
963
964	// The ID of the Elastic Inference Accelerator.
965	AcceleratorId *string `locationName:"acceleratorId" min:"1" type:"string"`
966
967	// The type of the Elastic Inference Accelerator.
968	AcceleratorType *string `locationName:"acceleratorType" min:"1" type:"string"`
969
970	// The ARN of the resource that the Elastic Inference Accelerator is attached
971	// to.
972	AttachedResource *string `locationName:"attachedResource" min:"1" type:"string"`
973
974	// The availability zone where the Elastic Inference Accelerator is present.
975	AvailabilityZone *string `locationName:"availabilityZone" min:"1" type:"string"`
976}
977
978// String returns the string representation
979func (s ElasticInferenceAccelerator) String() string {
980	return awsutil.Prettify(s)
981}
982
983// GoString returns the string representation
984func (s ElasticInferenceAccelerator) GoString() string {
985	return s.String()
986}
987
988// SetAcceleratorHealth sets the AcceleratorHealth field's value.
989func (s *ElasticInferenceAccelerator) SetAcceleratorHealth(v *ElasticInferenceAcceleratorHealth) *ElasticInferenceAccelerator {
990	s.AcceleratorHealth = v
991	return s
992}
993
994// SetAcceleratorId sets the AcceleratorId field's value.
995func (s *ElasticInferenceAccelerator) SetAcceleratorId(v string) *ElasticInferenceAccelerator {
996	s.AcceleratorId = &v
997	return s
998}
999
1000// SetAcceleratorType sets the AcceleratorType field's value.
1001func (s *ElasticInferenceAccelerator) SetAcceleratorType(v string) *ElasticInferenceAccelerator {
1002	s.AcceleratorType = &v
1003	return s
1004}
1005
1006// SetAttachedResource sets the AttachedResource field's value.
1007func (s *ElasticInferenceAccelerator) SetAttachedResource(v string) *ElasticInferenceAccelerator {
1008	s.AttachedResource = &v
1009	return s
1010}
1011
1012// SetAvailabilityZone sets the AvailabilityZone field's value.
1013func (s *ElasticInferenceAccelerator) SetAvailabilityZone(v string) *ElasticInferenceAccelerator {
1014	s.AvailabilityZone = &v
1015	return s
1016}
1017
1018// The health details of an Elastic Inference Accelerator.
1019type ElasticInferenceAcceleratorHealth struct {
1020	_ struct{} `type:"structure"`
1021
1022	// The health status of the Elastic Inference Accelerator.
1023	Status *string `locationName:"status" min:"1" type:"string"`
1024}
1025
1026// String returns the string representation
1027func (s ElasticInferenceAcceleratorHealth) String() string {
1028	return awsutil.Prettify(s)
1029}
1030
1031// GoString returns the string representation
1032func (s ElasticInferenceAcceleratorHealth) GoString() string {
1033	return s.String()
1034}
1035
1036// SetStatus sets the Status field's value.
1037func (s *ElasticInferenceAcceleratorHealth) SetStatus(v string) *ElasticInferenceAcceleratorHealth {
1038	s.Status = &v
1039	return s
1040}
1041
1042// A filter expression for the Elastic Inference Accelerator list.
1043type Filter struct {
1044	_ struct{} `type:"structure"`
1045
1046	// The filter name for the Elastic Inference Accelerator list. It can assume
1047	// the following values: accelerator-type: the type of Elastic Inference Accelerator
1048	// to filter for. instance-id: an EC2 instance id to filter for.
1049	Name *string `locationName:"name" min:"1" type:"string"`
1050
1051	// The values for the filter of the Elastic Inference Accelerator list.
1052	Values []*string `locationName:"values" type:"list"`
1053}
1054
1055// String returns the string representation
1056func (s Filter) String() string {
1057	return awsutil.Prettify(s)
1058}
1059
1060// GoString returns the string representation
1061func (s Filter) GoString() string {
1062	return s.String()
1063}
1064
1065// Validate inspects the fields of the type to determine if they are valid.
1066func (s *Filter) Validate() error {
1067	invalidParams := request.ErrInvalidParams{Context: "Filter"}
1068	if s.Name != nil && len(*s.Name) < 1 {
1069		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1070	}
1071
1072	if invalidParams.Len() > 0 {
1073		return invalidParams
1074	}
1075	return nil
1076}
1077
1078// SetName sets the Name field's value.
1079func (s *Filter) SetName(v string) *Filter {
1080	s.Name = &v
1081	return s
1082}
1083
1084// SetValues sets the Values field's value.
1085func (s *Filter) SetValues(v []*string) *Filter {
1086	s.Values = v
1087	return s
1088}
1089
1090// Raised when an unexpected error occurred during request processing.
1091type InternalServerException struct {
1092	_            struct{}                  `type:"structure"`
1093	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1094
1095	Message_ *string `locationName:"message" type:"string"`
1096}
1097
1098// String returns the string representation
1099func (s InternalServerException) String() string {
1100	return awsutil.Prettify(s)
1101}
1102
1103// GoString returns the string representation
1104func (s InternalServerException) GoString() string {
1105	return s.String()
1106}
1107
1108func newErrorInternalServerException(v protocol.ResponseMetadata) error {
1109	return &InternalServerException{
1110		RespMetadata: v,
1111	}
1112}
1113
1114// Code returns the exception type name.
1115func (s *InternalServerException) Code() string {
1116	return "InternalServerException"
1117}
1118
1119// Message returns the exception's message.
1120func (s *InternalServerException) Message() string {
1121	if s.Message_ != nil {
1122		return *s.Message_
1123	}
1124	return ""
1125}
1126
1127// OrigErr always returns nil, satisfies awserr.Error interface.
1128func (s *InternalServerException) OrigErr() error {
1129	return nil
1130}
1131
1132func (s *InternalServerException) Error() string {
1133	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1134}
1135
1136// Status code returns the HTTP status code for the request's response error.
1137func (s *InternalServerException) StatusCode() int {
1138	return s.RespMetadata.StatusCode
1139}
1140
1141// RequestID returns the service's response RequestID for request.
1142func (s *InternalServerException) RequestID() string {
1143	return s.RespMetadata.RequestID
1144}
1145
1146// A throughput entry for an Elastic Inference Accelerator type.
1147type KeyValuePair struct {
1148	_ struct{} `type:"structure"`
1149
1150	// The throughput value of the Elastic Inference Accelerator type. It can assume
1151	// the following values: TFLOPS16bit: the throughput expressed in 16bit TeraFLOPS.
1152	// TFLOPS32bit: the throughput expressed in 32bit TeraFLOPS.
1153	Key *string `locationName:"key" min:"1" type:"string"`
1154
1155	// The throughput value of the Elastic Inference Accelerator type.
1156	Value *int64 `locationName:"value" type:"integer"`
1157}
1158
1159// String returns the string representation
1160func (s KeyValuePair) String() string {
1161	return awsutil.Prettify(s)
1162}
1163
1164// GoString returns the string representation
1165func (s KeyValuePair) GoString() string {
1166	return s.String()
1167}
1168
1169// SetKey sets the Key field's value.
1170func (s *KeyValuePair) SetKey(v string) *KeyValuePair {
1171	s.Key = &v
1172	return s
1173}
1174
1175// SetValue sets the Value field's value.
1176func (s *KeyValuePair) SetValue(v int64) *KeyValuePair {
1177	s.Value = &v
1178	return s
1179}
1180
1181type ListTagsForResourceInput struct {
1182	_ struct{} `type:"structure"`
1183
1184	// The ARN of the Elastic Inference Accelerator to list the tags for.
1185	//
1186	// ResourceArn is a required field
1187	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
1188}
1189
1190// String returns the string representation
1191func (s ListTagsForResourceInput) String() string {
1192	return awsutil.Prettify(s)
1193}
1194
1195// GoString returns the string representation
1196func (s ListTagsForResourceInput) GoString() string {
1197	return s.String()
1198}
1199
1200// Validate inspects the fields of the type to determine if they are valid.
1201func (s *ListTagsForResourceInput) Validate() error {
1202	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
1203	if s.ResourceArn == nil {
1204		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
1205	}
1206	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
1207		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
1208	}
1209
1210	if invalidParams.Len() > 0 {
1211		return invalidParams
1212	}
1213	return nil
1214}
1215
1216// SetResourceArn sets the ResourceArn field's value.
1217func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
1218	s.ResourceArn = &v
1219	return s
1220}
1221
1222type ListTagsForResourceOutput struct {
1223	_ struct{} `type:"structure"`
1224
1225	// The tags of the Elastic Inference Accelerator.
1226	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
1227}
1228
1229// String returns the string representation
1230func (s ListTagsForResourceOutput) String() string {
1231	return awsutil.Prettify(s)
1232}
1233
1234// GoString returns the string representation
1235func (s ListTagsForResourceOutput) GoString() string {
1236	return s.String()
1237}
1238
1239// SetTags sets the Tags field's value.
1240func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
1241	s.Tags = v
1242	return s
1243}
1244
1245// The memory information of an Elastic Inference Accelerator type.
1246type MemoryInfo struct {
1247	_ struct{} `type:"structure"`
1248
1249	// The size in mebibytes of the Elastic Inference Accelerator type.
1250	SizeInMiB *int64 `locationName:"sizeInMiB" type:"integer"`
1251}
1252
1253// String returns the string representation
1254func (s MemoryInfo) String() string {
1255	return awsutil.Prettify(s)
1256}
1257
1258// GoString returns the string representation
1259func (s MemoryInfo) GoString() string {
1260	return s.String()
1261}
1262
1263// SetSizeInMiB sets the SizeInMiB field's value.
1264func (s *MemoryInfo) SetSizeInMiB(v int64) *MemoryInfo {
1265	s.SizeInMiB = &v
1266	return s
1267}
1268
1269// Raised when the requested resource cannot be found.
1270type ResourceNotFoundException struct {
1271	_            struct{}                  `type:"structure"`
1272	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1273
1274	Message_ *string `locationName:"message" type:"string"`
1275}
1276
1277// String returns the string representation
1278func (s ResourceNotFoundException) String() string {
1279	return awsutil.Prettify(s)
1280}
1281
1282// GoString returns the string representation
1283func (s ResourceNotFoundException) GoString() string {
1284	return s.String()
1285}
1286
1287func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
1288	return &ResourceNotFoundException{
1289		RespMetadata: v,
1290	}
1291}
1292
1293// Code returns the exception type name.
1294func (s *ResourceNotFoundException) Code() string {
1295	return "ResourceNotFoundException"
1296}
1297
1298// Message returns the exception's message.
1299func (s *ResourceNotFoundException) Message() string {
1300	if s.Message_ != nil {
1301		return *s.Message_
1302	}
1303	return ""
1304}
1305
1306// OrigErr always returns nil, satisfies awserr.Error interface.
1307func (s *ResourceNotFoundException) OrigErr() error {
1308	return nil
1309}
1310
1311func (s *ResourceNotFoundException) Error() string {
1312	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1313}
1314
1315// Status code returns the HTTP status code for the request's response error.
1316func (s *ResourceNotFoundException) StatusCode() int {
1317	return s.RespMetadata.StatusCode
1318}
1319
1320// RequestID returns the service's response RequestID for request.
1321func (s *ResourceNotFoundException) RequestID() string {
1322	return s.RespMetadata.RequestID
1323}
1324
1325type TagResourceInput struct {
1326	_ struct{} `type:"structure"`
1327
1328	// The ARN of the Elastic Inference Accelerator to tag.
1329	//
1330	// ResourceArn is a required field
1331	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
1332
1333	// The tags to add to the Elastic Inference Accelerator.
1334	//
1335	// Tags is a required field
1336	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
1337}
1338
1339// String returns the string representation
1340func (s TagResourceInput) String() string {
1341	return awsutil.Prettify(s)
1342}
1343
1344// GoString returns the string representation
1345func (s TagResourceInput) GoString() string {
1346	return s.String()
1347}
1348
1349// Validate inspects the fields of the type to determine if they are valid.
1350func (s *TagResourceInput) Validate() error {
1351	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
1352	if s.ResourceArn == nil {
1353		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
1354	}
1355	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
1356		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
1357	}
1358	if s.Tags == nil {
1359		invalidParams.Add(request.NewErrParamRequired("Tags"))
1360	}
1361	if s.Tags != nil && len(s.Tags) < 1 {
1362		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
1363	}
1364
1365	if invalidParams.Len() > 0 {
1366		return invalidParams
1367	}
1368	return nil
1369}
1370
1371// SetResourceArn sets the ResourceArn field's value.
1372func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
1373	s.ResourceArn = &v
1374	return s
1375}
1376
1377// SetTags sets the Tags field's value.
1378func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
1379	s.Tags = v
1380	return s
1381}
1382
1383type TagResourceOutput struct {
1384	_ struct{} `type:"structure"`
1385}
1386
1387// String returns the string representation
1388func (s TagResourceOutput) String() string {
1389	return awsutil.Prettify(s)
1390}
1391
1392// GoString returns the string representation
1393func (s TagResourceOutput) GoString() string {
1394	return s.String()
1395}
1396
1397type UntagResourceInput struct {
1398	_ struct{} `type:"structure"`
1399
1400	// The ARN of the Elastic Inference Accelerator to untag.
1401	//
1402	// ResourceArn is a required field
1403	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
1404
1405	// The list of tags to remove from the Elastic Inference Accelerator.
1406	//
1407	// TagKeys is a required field
1408	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
1409}
1410
1411// String returns the string representation
1412func (s UntagResourceInput) String() string {
1413	return awsutil.Prettify(s)
1414}
1415
1416// GoString returns the string representation
1417func (s UntagResourceInput) GoString() string {
1418	return s.String()
1419}
1420
1421// Validate inspects the fields of the type to determine if they are valid.
1422func (s *UntagResourceInput) Validate() error {
1423	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
1424	if s.ResourceArn == nil {
1425		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
1426	}
1427	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
1428		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
1429	}
1430	if s.TagKeys == nil {
1431		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
1432	}
1433	if s.TagKeys != nil && len(s.TagKeys) < 1 {
1434		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
1435	}
1436
1437	if invalidParams.Len() > 0 {
1438		return invalidParams
1439	}
1440	return nil
1441}
1442
1443// SetResourceArn sets the ResourceArn field's value.
1444func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
1445	s.ResourceArn = &v
1446	return s
1447}
1448
1449// SetTagKeys sets the TagKeys field's value.
1450func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
1451	s.TagKeys = v
1452	return s
1453}
1454
1455type UntagResourceOutput struct {
1456	_ struct{} `type:"structure"`
1457}
1458
1459// String returns the string representation
1460func (s UntagResourceOutput) String() string {
1461	return awsutil.Prettify(s)
1462}
1463
1464// GoString returns the string representation
1465func (s UntagResourceOutput) GoString() string {
1466	return s.String()
1467}
1468
1469const (
1470	// LocationTypeRegion is a LocationType enum value
1471	LocationTypeRegion = "region"
1472
1473	// LocationTypeAvailabilityZone is a LocationType enum value
1474	LocationTypeAvailabilityZone = "availability-zone"
1475
1476	// LocationTypeAvailabilityZoneId is a LocationType enum value
1477	LocationTypeAvailabilityZoneId = "availability-zone-id"
1478)
1479
1480// LocationType_Values returns all elements of the LocationType enum
1481func LocationType_Values() []string {
1482	return []string{
1483		LocationTypeRegion,
1484		LocationTypeAvailabilityZone,
1485		LocationTypeAvailabilityZoneId,
1486	}
1487}
1488