1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package location
4
5import (
6	"context"
7	awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
8	"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
9	"github.com/aws/aws-sdk-go-v2/service/location/types"
10	"github.com/aws/smithy-go/middleware"
11	smithyhttp "github.com/aws/smithy-go/transport/http"
12	"time"
13)
14
15// Retrieves the Place index resource details.
16func (c *Client) DescribePlaceIndex(ctx context.Context, params *DescribePlaceIndexInput, optFns ...func(*Options)) (*DescribePlaceIndexOutput, error) {
17	if params == nil {
18		params = &DescribePlaceIndexInput{}
19	}
20
21	result, metadata, err := c.invokeOperation(ctx, "DescribePlaceIndex", params, optFns, addOperationDescribePlaceIndexMiddlewares)
22	if err != nil {
23		return nil, err
24	}
25
26	out := result.(*DescribePlaceIndexOutput)
27	out.ResultMetadata = metadata
28	return out, nil
29}
30
31type DescribePlaceIndexInput struct {
32
33	// The name of the Place index resource.
34	//
35	// This member is required.
36	IndexName *string
37}
38
39type DescribePlaceIndexOutput struct {
40
41	// The timestamp for when the Place index resource was created in ISO 8601
42	// (https://www.iso.org/iso-8601-date-and-time-format.html) format:
43	// YYYY-MM-DDThh:mm:ss.sssZ.
44	//
45	// This member is required.
46	CreateTime *time.Time
47
48	// The data provider of geospatial data. Indicates one of the available
49	// providers:
50	//
51	// * Esri
52	//
53	// * Here
54	//
55	// For additional details on data providers, see the
56	// Amazon Location Service data providers page
57	// (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
58	//
59	// This member is required.
60	DataSource *string
61
62	// The specified data storage option for requesting Places.
63	//
64	// This member is required.
65	DataSourceConfiguration *types.DataSourceConfiguration
66
67	// The optional description for the Place index resource.
68	//
69	// This member is required.
70	Description *string
71
72	// The Amazon Resource Name (ARN) for the Place index resource. Used when you need
73	// to specify a resource across all AWS.
74	//
75	// This member is required.
76	IndexArn *string
77
78	// The name of the Place index resource being described.
79	//
80	// This member is required.
81	IndexName *string
82
83	// The pricing plan selected for the specified Place index resource. For additional
84	// details and restrictions on each pricing plan option, see the Amazon Location
85	// Service pricing page (https://aws.amazon.com/location/pricing/).
86	//
87	// This member is required.
88	PricingPlan types.PricingPlan
89
90	// The timestamp for when the Place index resource was last updated in ISO 8601
91	// (https://www.iso.org/iso-8601-date-and-time-format.html) format:
92	// YYYY-MM-DDThh:mm:ss.sssZ.
93	//
94	// This member is required.
95	UpdateTime *time.Time
96
97	// Metadata pertaining to the operation's result.
98	ResultMetadata middleware.Metadata
99}
100
101func addOperationDescribePlaceIndexMiddlewares(stack *middleware.Stack, options Options) (err error) {
102	err = stack.Serialize.Add(&awsRestjson1_serializeOpDescribePlaceIndex{}, middleware.After)
103	if err != nil {
104		return err
105	}
106	err = stack.Deserialize.Add(&awsRestjson1_deserializeOpDescribePlaceIndex{}, middleware.After)
107	if err != nil {
108		return err
109	}
110	if err = addSetLoggerMiddleware(stack, options); err != nil {
111		return err
112	}
113	if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
114		return err
115	}
116	if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
117		return err
118	}
119	if err = addResolveEndpointMiddleware(stack, options); err != nil {
120		return err
121	}
122	if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
123		return err
124	}
125	if err = addRetryMiddlewares(stack, options); err != nil {
126		return err
127	}
128	if err = addHTTPSignerV4Middleware(stack, options); err != nil {
129		return err
130	}
131	if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
132		return err
133	}
134	if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
135		return err
136	}
137	if err = addClientUserAgent(stack); err != nil {
138		return err
139	}
140	if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
141		return err
142	}
143	if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
144		return err
145	}
146	if err = addOpDescribePlaceIndexValidationMiddleware(stack); err != nil {
147		return err
148	}
149	if err = addRequestIDRetrieverMiddleware(stack); err != nil {
150		return err
151	}
152	if err = addResponseErrorMiddleware(stack); err != nil {
153		return err
154	}
155	if err = addRequestResponseLogging(stack, options); err != nil {
156		return err
157	}
158	return nil
159}
160