1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package pi 4 5import ( 6 "bytes" 7 "context" 8 "fmt" 9 "github.com/aws/aws-sdk-go-v2/service/pi/types" 10 smithy "github.com/aws/smithy-go" 11 "github.com/aws/smithy-go/encoding/httpbinding" 12 smithyjson "github.com/aws/smithy-go/encoding/json" 13 "github.com/aws/smithy-go/middleware" 14 smithytime "github.com/aws/smithy-go/time" 15 smithyhttp "github.com/aws/smithy-go/transport/http" 16) 17 18type awsAwsjson11_serializeOpDescribeDimensionKeys struct { 19} 20 21func (*awsAwsjson11_serializeOpDescribeDimensionKeys) ID() string { 22 return "OperationSerializer" 23} 24 25func (m *awsAwsjson11_serializeOpDescribeDimensionKeys) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( 26 out middleware.SerializeOutput, metadata middleware.Metadata, err error, 27) { 28 request, ok := in.Request.(*smithyhttp.Request) 29 if !ok { 30 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} 31 } 32 33 input, ok := in.Parameters.(*DescribeDimensionKeysInput) 34 _ = input 35 if !ok { 36 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} 37 } 38 39 request.Request.URL.Path = "/" 40 request.Request.Method = "POST" 41 httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) 42 if err != nil { 43 return out, metadata, &smithy.SerializationError{Err: err} 44 } 45 httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") 46 httpBindingEncoder.SetHeader("X-Amz-Target").String("PerformanceInsightsv20180227.DescribeDimensionKeys") 47 48 jsonEncoder := smithyjson.NewEncoder() 49 if err := awsAwsjson11_serializeOpDocumentDescribeDimensionKeysInput(input, jsonEncoder.Value); err != nil { 50 return out, metadata, &smithy.SerializationError{Err: err} 51 } 52 53 if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { 54 return out, metadata, &smithy.SerializationError{Err: err} 55 } 56 57 if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { 58 return out, metadata, &smithy.SerializationError{Err: err} 59 } 60 in.Request = request 61 62 return next.HandleSerialize(ctx, in) 63} 64 65type awsAwsjson11_serializeOpGetDimensionKeyDetails struct { 66} 67 68func (*awsAwsjson11_serializeOpGetDimensionKeyDetails) ID() string { 69 return "OperationSerializer" 70} 71 72func (m *awsAwsjson11_serializeOpGetDimensionKeyDetails) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( 73 out middleware.SerializeOutput, metadata middleware.Metadata, err error, 74) { 75 request, ok := in.Request.(*smithyhttp.Request) 76 if !ok { 77 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} 78 } 79 80 input, ok := in.Parameters.(*GetDimensionKeyDetailsInput) 81 _ = input 82 if !ok { 83 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} 84 } 85 86 request.Request.URL.Path = "/" 87 request.Request.Method = "POST" 88 httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) 89 if err != nil { 90 return out, metadata, &smithy.SerializationError{Err: err} 91 } 92 httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") 93 httpBindingEncoder.SetHeader("X-Amz-Target").String("PerformanceInsightsv20180227.GetDimensionKeyDetails") 94 95 jsonEncoder := smithyjson.NewEncoder() 96 if err := awsAwsjson11_serializeOpDocumentGetDimensionKeyDetailsInput(input, jsonEncoder.Value); err != nil { 97 return out, metadata, &smithy.SerializationError{Err: err} 98 } 99 100 if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { 101 return out, metadata, &smithy.SerializationError{Err: err} 102 } 103 104 if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { 105 return out, metadata, &smithy.SerializationError{Err: err} 106 } 107 in.Request = request 108 109 return next.HandleSerialize(ctx, in) 110} 111 112type awsAwsjson11_serializeOpGetResourceMetrics struct { 113} 114 115func (*awsAwsjson11_serializeOpGetResourceMetrics) ID() string { 116 return "OperationSerializer" 117} 118 119func (m *awsAwsjson11_serializeOpGetResourceMetrics) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( 120 out middleware.SerializeOutput, metadata middleware.Metadata, err error, 121) { 122 request, ok := in.Request.(*smithyhttp.Request) 123 if !ok { 124 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} 125 } 126 127 input, ok := in.Parameters.(*GetResourceMetricsInput) 128 _ = input 129 if !ok { 130 return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} 131 } 132 133 request.Request.URL.Path = "/" 134 request.Request.Method = "POST" 135 httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) 136 if err != nil { 137 return out, metadata, &smithy.SerializationError{Err: err} 138 } 139 httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") 140 httpBindingEncoder.SetHeader("X-Amz-Target").String("PerformanceInsightsv20180227.GetResourceMetrics") 141 142 jsonEncoder := smithyjson.NewEncoder() 143 if err := awsAwsjson11_serializeOpDocumentGetResourceMetricsInput(input, jsonEncoder.Value); err != nil { 144 return out, metadata, &smithy.SerializationError{Err: err} 145 } 146 147 if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { 148 return out, metadata, &smithy.SerializationError{Err: err} 149 } 150 151 if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { 152 return out, metadata, &smithy.SerializationError{Err: err} 153 } 154 in.Request = request 155 156 return next.HandleSerialize(ctx, in) 157} 158func awsAwsjson11_serializeDocumentDimensionGroup(v *types.DimensionGroup, value smithyjson.Value) error { 159 object := value.Object() 160 defer object.Close() 161 162 if v.Dimensions != nil { 163 ok := object.Key("Dimensions") 164 if err := awsAwsjson11_serializeDocumentRequestStringList(v.Dimensions, ok); err != nil { 165 return err 166 } 167 } 168 169 if v.Group != nil { 170 ok := object.Key("Group") 171 ok.String(*v.Group) 172 } 173 174 if v.Limit != nil { 175 ok := object.Key("Limit") 176 ok.Integer(*v.Limit) 177 } 178 179 return nil 180} 181 182func awsAwsjson11_serializeDocumentMetricQuery(v *types.MetricQuery, value smithyjson.Value) error { 183 object := value.Object() 184 defer object.Close() 185 186 if v.Filter != nil { 187 ok := object.Key("Filter") 188 if err := awsAwsjson11_serializeDocumentMetricQueryFilterMap(v.Filter, ok); err != nil { 189 return err 190 } 191 } 192 193 if v.GroupBy != nil { 194 ok := object.Key("GroupBy") 195 if err := awsAwsjson11_serializeDocumentDimensionGroup(v.GroupBy, ok); err != nil { 196 return err 197 } 198 } 199 200 if v.Metric != nil { 201 ok := object.Key("Metric") 202 ok.String(*v.Metric) 203 } 204 205 return nil 206} 207 208func awsAwsjson11_serializeDocumentMetricQueryFilterMap(v map[string]string, value smithyjson.Value) error { 209 object := value.Object() 210 defer object.Close() 211 212 for key := range v { 213 om := object.Key(key) 214 om.String(v[key]) 215 } 216 return nil 217} 218 219func awsAwsjson11_serializeDocumentMetricQueryList(v []types.MetricQuery, value smithyjson.Value) error { 220 array := value.Array() 221 defer array.Close() 222 223 for i := range v { 224 av := array.Value() 225 if err := awsAwsjson11_serializeDocumentMetricQuery(&v[i], av); err != nil { 226 return err 227 } 228 } 229 return nil 230} 231 232func awsAwsjson11_serializeDocumentRequestedDimensionList(v []string, value smithyjson.Value) error { 233 array := value.Array() 234 defer array.Close() 235 236 for i := range v { 237 av := array.Value() 238 av.String(v[i]) 239 } 240 return nil 241} 242 243func awsAwsjson11_serializeDocumentRequestStringList(v []string, value smithyjson.Value) error { 244 array := value.Array() 245 defer array.Close() 246 247 for i := range v { 248 av := array.Value() 249 av.String(v[i]) 250 } 251 return nil 252} 253 254func awsAwsjson11_serializeOpDocumentDescribeDimensionKeysInput(v *DescribeDimensionKeysInput, value smithyjson.Value) error { 255 object := value.Object() 256 defer object.Close() 257 258 if v.EndTime != nil { 259 ok := object.Key("EndTime") 260 ok.Double(smithytime.FormatEpochSeconds(*v.EndTime)) 261 } 262 263 if v.Filter != nil { 264 ok := object.Key("Filter") 265 if err := awsAwsjson11_serializeDocumentMetricQueryFilterMap(v.Filter, ok); err != nil { 266 return err 267 } 268 } 269 270 if v.GroupBy != nil { 271 ok := object.Key("GroupBy") 272 if err := awsAwsjson11_serializeDocumentDimensionGroup(v.GroupBy, ok); err != nil { 273 return err 274 } 275 } 276 277 if v.Identifier != nil { 278 ok := object.Key("Identifier") 279 ok.String(*v.Identifier) 280 } 281 282 if v.MaxResults != nil { 283 ok := object.Key("MaxResults") 284 ok.Integer(*v.MaxResults) 285 } 286 287 if v.Metric != nil { 288 ok := object.Key("Metric") 289 ok.String(*v.Metric) 290 } 291 292 if v.NextToken != nil { 293 ok := object.Key("NextToken") 294 ok.String(*v.NextToken) 295 } 296 297 if v.PartitionBy != nil { 298 ok := object.Key("PartitionBy") 299 if err := awsAwsjson11_serializeDocumentDimensionGroup(v.PartitionBy, ok); err != nil { 300 return err 301 } 302 } 303 304 if v.PeriodInSeconds != nil { 305 ok := object.Key("PeriodInSeconds") 306 ok.Integer(*v.PeriodInSeconds) 307 } 308 309 if len(v.ServiceType) > 0 { 310 ok := object.Key("ServiceType") 311 ok.String(string(v.ServiceType)) 312 } 313 314 if v.StartTime != nil { 315 ok := object.Key("StartTime") 316 ok.Double(smithytime.FormatEpochSeconds(*v.StartTime)) 317 } 318 319 return nil 320} 321 322func awsAwsjson11_serializeOpDocumentGetDimensionKeyDetailsInput(v *GetDimensionKeyDetailsInput, value smithyjson.Value) error { 323 object := value.Object() 324 defer object.Close() 325 326 if v.Group != nil { 327 ok := object.Key("Group") 328 ok.String(*v.Group) 329 } 330 331 if v.GroupIdentifier != nil { 332 ok := object.Key("GroupIdentifier") 333 ok.String(*v.GroupIdentifier) 334 } 335 336 if v.Identifier != nil { 337 ok := object.Key("Identifier") 338 ok.String(*v.Identifier) 339 } 340 341 if v.RequestedDimensions != nil { 342 ok := object.Key("RequestedDimensions") 343 if err := awsAwsjson11_serializeDocumentRequestedDimensionList(v.RequestedDimensions, ok); err != nil { 344 return err 345 } 346 } 347 348 if len(v.ServiceType) > 0 { 349 ok := object.Key("ServiceType") 350 ok.String(string(v.ServiceType)) 351 } 352 353 return nil 354} 355 356func awsAwsjson11_serializeOpDocumentGetResourceMetricsInput(v *GetResourceMetricsInput, value smithyjson.Value) error { 357 object := value.Object() 358 defer object.Close() 359 360 if v.EndTime != nil { 361 ok := object.Key("EndTime") 362 ok.Double(smithytime.FormatEpochSeconds(*v.EndTime)) 363 } 364 365 if v.Identifier != nil { 366 ok := object.Key("Identifier") 367 ok.String(*v.Identifier) 368 } 369 370 if v.MaxResults != nil { 371 ok := object.Key("MaxResults") 372 ok.Integer(*v.MaxResults) 373 } 374 375 if v.MetricQueries != nil { 376 ok := object.Key("MetricQueries") 377 if err := awsAwsjson11_serializeDocumentMetricQueryList(v.MetricQueries, ok); err != nil { 378 return err 379 } 380 } 381 382 if v.NextToken != nil { 383 ok := object.Key("NextToken") 384 ok.String(*v.NextToken) 385 } 386 387 if v.PeriodInSeconds != nil { 388 ok := object.Key("PeriodInSeconds") 389 ok.Integer(*v.PeriodInSeconds) 390 } 391 392 if len(v.ServiceType) > 0 { 393 ok := object.Key("ServiceType") 394 ok.String(string(v.ServiceType)) 395 } 396 397 if v.StartTime != nil { 398 ok := object.Key("StartTime") 399 ok.Double(smithytime.FormatEpochSeconds(*v.StartTime)) 400 } 401 402 return nil 403} 404