github.com/aavshr/aws-sdk-go@v1.41.3/service/sagemakeredgemanager/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package sagemakeredgemanager 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/restjson" 14 ) 15 16 const opGetDeviceRegistration = "GetDeviceRegistration" 17 18 // GetDeviceRegistrationRequest generates a "aws/request.Request" representing the 19 // client's request for the GetDeviceRegistration 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 GetDeviceRegistration for more information on using the GetDeviceRegistration 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 GetDeviceRegistrationRequest method. 34 // req, resp := client.GetDeviceRegistrationRequest(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/sagemaker-edge-2020-09-23/GetDeviceRegistration 42 func (c *SagemakerEdgeManager) GetDeviceRegistrationRequest(input *GetDeviceRegistrationInput) (req *request.Request, output *GetDeviceRegistrationOutput) { 43 op := &request.Operation{ 44 Name: opGetDeviceRegistration, 45 HTTPMethod: "POST", 46 HTTPPath: "/GetDeviceRegistration", 47 } 48 49 if input == nil { 50 input = &GetDeviceRegistrationInput{} 51 } 52 53 output = &GetDeviceRegistrationOutput{} 54 req = c.newRequest(op, input, output) 55 return 56 } 57 58 // GetDeviceRegistration API operation for Amazon Sagemaker Edge Manager. 59 // 60 // Use to check if a device is registered with SageMaker Edge Manager. 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 Sagemaker Edge Manager's 67 // API operation GetDeviceRegistration for usage and error information. 68 // 69 // Returned Error Types: 70 // * InternalServiceException 71 // An internal failure occurred. Try your request again. If the problem persists, 72 // contact AWS customer support. 73 // 74 // See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-edge-2020-09-23/GetDeviceRegistration 75 func (c *SagemakerEdgeManager) GetDeviceRegistration(input *GetDeviceRegistrationInput) (*GetDeviceRegistrationOutput, error) { 76 req, out := c.GetDeviceRegistrationRequest(input) 77 return out, req.Send() 78 } 79 80 // GetDeviceRegistrationWithContext is the same as GetDeviceRegistration with the addition of 81 // the ability to pass a context and additional request options. 82 // 83 // See GetDeviceRegistration for details on how to use this API operation. 84 // 85 // The context must be non-nil and will be used for request cancellation. If 86 // the context is nil a panic will occur. In the future the SDK may create 87 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 88 // for more information on using Contexts. 89 func (c *SagemakerEdgeManager) GetDeviceRegistrationWithContext(ctx aws.Context, input *GetDeviceRegistrationInput, opts ...request.Option) (*GetDeviceRegistrationOutput, error) { 90 req, out := c.GetDeviceRegistrationRequest(input) 91 req.SetContext(ctx) 92 req.ApplyOptions(opts...) 93 return out, req.Send() 94 } 95 96 const opSendHeartbeat = "SendHeartbeat" 97 98 // SendHeartbeatRequest generates a "aws/request.Request" representing the 99 // client's request for the SendHeartbeat operation. The "output" return 100 // value will be populated with the request's response once the request completes 101 // successfully. 102 // 103 // Use "Send" method on the returned Request to send the API call to the service. 104 // the "output" return value is not valid until after Send returns without error. 105 // 106 // See SendHeartbeat for more information on using the SendHeartbeat 107 // API call, and error handling. 108 // 109 // This method is useful when you want to inject custom logic or configuration 110 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 111 // 112 // 113 // // Example sending a request using the SendHeartbeatRequest method. 114 // req, resp := client.SendHeartbeatRequest(params) 115 // 116 // err := req.Send() 117 // if err == nil { // resp is now filled 118 // fmt.Println(resp) 119 // } 120 // 121 // See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-edge-2020-09-23/SendHeartbeat 122 func (c *SagemakerEdgeManager) SendHeartbeatRequest(input *SendHeartbeatInput) (req *request.Request, output *SendHeartbeatOutput) { 123 op := &request.Operation{ 124 Name: opSendHeartbeat, 125 HTTPMethod: "POST", 126 HTTPPath: "/SendHeartbeat", 127 } 128 129 if input == nil { 130 input = &SendHeartbeatInput{} 131 } 132 133 output = &SendHeartbeatOutput{} 134 req = c.newRequest(op, input, output) 135 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 136 return 137 } 138 139 // SendHeartbeat API operation for Amazon Sagemaker Edge Manager. 140 // 141 // Use to get the current status of devices registered on SageMaker Edge Manager. 142 // 143 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 144 // with awserr.Error's Code and Message methods to get detailed information about 145 // the error. 146 // 147 // See the AWS API reference guide for Amazon Sagemaker Edge Manager's 148 // API operation SendHeartbeat for usage and error information. 149 // 150 // Returned Error Types: 151 // * InternalServiceException 152 // An internal failure occurred. Try your request again. If the problem persists, 153 // contact AWS customer support. 154 // 155 // See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-edge-2020-09-23/SendHeartbeat 156 func (c *SagemakerEdgeManager) SendHeartbeat(input *SendHeartbeatInput) (*SendHeartbeatOutput, error) { 157 req, out := c.SendHeartbeatRequest(input) 158 return out, req.Send() 159 } 160 161 // SendHeartbeatWithContext is the same as SendHeartbeat with the addition of 162 // the ability to pass a context and additional request options. 163 // 164 // See SendHeartbeat for details on how to use this API operation. 165 // 166 // The context must be non-nil and will be used for request cancellation. If 167 // the context is nil a panic will occur. In the future the SDK may create 168 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 169 // for more information on using Contexts. 170 func (c *SagemakerEdgeManager) SendHeartbeatWithContext(ctx aws.Context, input *SendHeartbeatInput, opts ...request.Option) (*SendHeartbeatOutput, error) { 171 req, out := c.SendHeartbeatRequest(input) 172 req.SetContext(ctx) 173 req.ApplyOptions(opts...) 174 return out, req.Send() 175 } 176 177 // Information required for edge device metrics. 178 type EdgeMetric struct { 179 _ struct{} `type:"structure"` 180 181 // The dimension of metrics published. 182 Dimension *string `min:"1" type:"string"` 183 184 // Returns the name of the metric. 185 MetricName *string `min:"4" type:"string"` 186 187 // Timestamp of when the metric was requested. 188 Timestamp *time.Time `type:"timestamp"` 189 190 // Returns the value of the metric. 191 Value *float64 `type:"double"` 192 } 193 194 // String returns the string representation. 195 // 196 // API parameter values that are decorated as "sensitive" in the API will not 197 // be included in the string output. The member name will be present, but the 198 // value will be replaced with "sensitive". 199 func (s EdgeMetric) String() string { 200 return awsutil.Prettify(s) 201 } 202 203 // GoString returns the string representation. 204 // 205 // API parameter values that are decorated as "sensitive" in the API will not 206 // be included in the string output. The member name will be present, but the 207 // value will be replaced with "sensitive". 208 func (s EdgeMetric) GoString() string { 209 return s.String() 210 } 211 212 // Validate inspects the fields of the type to determine if they are valid. 213 func (s *EdgeMetric) Validate() error { 214 invalidParams := request.ErrInvalidParams{Context: "EdgeMetric"} 215 if s.Dimension != nil && len(*s.Dimension) < 1 { 216 invalidParams.Add(request.NewErrParamMinLen("Dimension", 1)) 217 } 218 if s.MetricName != nil && len(*s.MetricName) < 4 { 219 invalidParams.Add(request.NewErrParamMinLen("MetricName", 4)) 220 } 221 222 if invalidParams.Len() > 0 { 223 return invalidParams 224 } 225 return nil 226 } 227 228 // SetDimension sets the Dimension field's value. 229 func (s *EdgeMetric) SetDimension(v string) *EdgeMetric { 230 s.Dimension = &v 231 return s 232 } 233 234 // SetMetricName sets the MetricName field's value. 235 func (s *EdgeMetric) SetMetricName(v string) *EdgeMetric { 236 s.MetricName = &v 237 return s 238 } 239 240 // SetTimestamp sets the Timestamp field's value. 241 func (s *EdgeMetric) SetTimestamp(v time.Time) *EdgeMetric { 242 s.Timestamp = &v 243 return s 244 } 245 246 // SetValue sets the Value field's value. 247 func (s *EdgeMetric) SetValue(v float64) *EdgeMetric { 248 s.Value = &v 249 return s 250 } 251 252 type GetDeviceRegistrationInput struct { 253 _ struct{} `type:"structure"` 254 255 // The name of the fleet that the device belongs to. 256 // 257 // DeviceFleetName is a required field 258 DeviceFleetName *string `min:"1" type:"string" required:"true"` 259 260 // The unique name of the device you want to get the registration status from. 261 // 262 // DeviceName is a required field 263 DeviceName *string `min:"1" type:"string" required:"true"` 264 } 265 266 // String returns the string representation. 267 // 268 // API parameter values that are decorated as "sensitive" in the API will not 269 // be included in the string output. The member name will be present, but the 270 // value will be replaced with "sensitive". 271 func (s GetDeviceRegistrationInput) String() string { 272 return awsutil.Prettify(s) 273 } 274 275 // GoString returns the string representation. 276 // 277 // API parameter values that are decorated as "sensitive" in the API will not 278 // be included in the string output. The member name will be present, but the 279 // value will be replaced with "sensitive". 280 func (s GetDeviceRegistrationInput) GoString() string { 281 return s.String() 282 } 283 284 // Validate inspects the fields of the type to determine if they are valid. 285 func (s *GetDeviceRegistrationInput) Validate() error { 286 invalidParams := request.ErrInvalidParams{Context: "GetDeviceRegistrationInput"} 287 if s.DeviceFleetName == nil { 288 invalidParams.Add(request.NewErrParamRequired("DeviceFleetName")) 289 } 290 if s.DeviceFleetName != nil && len(*s.DeviceFleetName) < 1 { 291 invalidParams.Add(request.NewErrParamMinLen("DeviceFleetName", 1)) 292 } 293 if s.DeviceName == nil { 294 invalidParams.Add(request.NewErrParamRequired("DeviceName")) 295 } 296 if s.DeviceName != nil && len(*s.DeviceName) < 1 { 297 invalidParams.Add(request.NewErrParamMinLen("DeviceName", 1)) 298 } 299 300 if invalidParams.Len() > 0 { 301 return invalidParams 302 } 303 return nil 304 } 305 306 // SetDeviceFleetName sets the DeviceFleetName field's value. 307 func (s *GetDeviceRegistrationInput) SetDeviceFleetName(v string) *GetDeviceRegistrationInput { 308 s.DeviceFleetName = &v 309 return s 310 } 311 312 // SetDeviceName sets the DeviceName field's value. 313 func (s *GetDeviceRegistrationInput) SetDeviceName(v string) *GetDeviceRegistrationInput { 314 s.DeviceName = &v 315 return s 316 } 317 318 type GetDeviceRegistrationOutput struct { 319 _ struct{} `type:"structure"` 320 321 // The amount of time, in seconds, that the registration status is stored on 322 // the device’s cache before it is refreshed. 323 CacheTTL *string `min:"1" type:"string"` 324 325 // Describes if the device is currently registered with SageMaker Edge Manager. 326 DeviceRegistration *string `min:"1" type:"string"` 327 } 328 329 // String returns the string representation. 330 // 331 // API parameter values that are decorated as "sensitive" in the API will not 332 // be included in the string output. The member name will be present, but the 333 // value will be replaced with "sensitive". 334 func (s GetDeviceRegistrationOutput) String() string { 335 return awsutil.Prettify(s) 336 } 337 338 // GoString returns the string representation. 339 // 340 // API parameter values that are decorated as "sensitive" in the API will not 341 // be included in the string output. The member name will be present, but the 342 // value will be replaced with "sensitive". 343 func (s GetDeviceRegistrationOutput) GoString() string { 344 return s.String() 345 } 346 347 // SetCacheTTL sets the CacheTTL field's value. 348 func (s *GetDeviceRegistrationOutput) SetCacheTTL(v string) *GetDeviceRegistrationOutput { 349 s.CacheTTL = &v 350 return s 351 } 352 353 // SetDeviceRegistration sets the DeviceRegistration field's value. 354 func (s *GetDeviceRegistrationOutput) SetDeviceRegistration(v string) *GetDeviceRegistrationOutput { 355 s.DeviceRegistration = &v 356 return s 357 } 358 359 // An internal failure occurred. Try your request again. If the problem persists, 360 // contact AWS customer support. 361 type InternalServiceException struct { 362 _ struct{} `type:"structure"` 363 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 364 365 Message_ *string `locationName:"Message" type:"string"` 366 } 367 368 // String returns the string representation. 369 // 370 // API parameter values that are decorated as "sensitive" in the API will not 371 // be included in the string output. The member name will be present, but the 372 // value will be replaced with "sensitive". 373 func (s InternalServiceException) String() string { 374 return awsutil.Prettify(s) 375 } 376 377 // GoString returns the string representation. 378 // 379 // API parameter values that are decorated as "sensitive" in the API will not 380 // be included in the string output. The member name will be present, but the 381 // value will be replaced with "sensitive". 382 func (s InternalServiceException) GoString() string { 383 return s.String() 384 } 385 386 func newErrorInternalServiceException(v protocol.ResponseMetadata) error { 387 return &InternalServiceException{ 388 RespMetadata: v, 389 } 390 } 391 392 // Code returns the exception type name. 393 func (s *InternalServiceException) Code() string { 394 return "InternalServiceException" 395 } 396 397 // Message returns the exception's message. 398 func (s *InternalServiceException) Message() string { 399 if s.Message_ != nil { 400 return *s.Message_ 401 } 402 return "" 403 } 404 405 // OrigErr always returns nil, satisfies awserr.Error interface. 406 func (s *InternalServiceException) OrigErr() error { 407 return nil 408 } 409 410 func (s *InternalServiceException) Error() string { 411 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 412 } 413 414 // Status code returns the HTTP status code for the request's response error. 415 func (s *InternalServiceException) StatusCode() int { 416 return s.RespMetadata.StatusCode 417 } 418 419 // RequestID returns the service's response RequestID for request. 420 func (s *InternalServiceException) RequestID() string { 421 return s.RespMetadata.RequestID 422 } 423 424 // Information about a model deployed on an edge device that is registered with 425 // SageMaker Edge Manager. 426 type Model struct { 427 _ struct{} `type:"structure"` 428 429 // The timestamp of the last inference that was made. 430 LatestInference *time.Time `type:"timestamp"` 431 432 // The timestamp of the last data sample taken. 433 LatestSampleTime *time.Time `type:"timestamp"` 434 435 // Information required for model metrics. 436 ModelMetrics []*EdgeMetric `type:"list"` 437 438 // The name of the model. 439 ModelName *string `min:"4" type:"string"` 440 441 // The version of the model. 442 ModelVersion *string `min:"1" type:"string"` 443 } 444 445 // String returns the string representation. 446 // 447 // API parameter values that are decorated as "sensitive" in the API will not 448 // be included in the string output. The member name will be present, but the 449 // value will be replaced with "sensitive". 450 func (s Model) String() string { 451 return awsutil.Prettify(s) 452 } 453 454 // GoString returns the string representation. 455 // 456 // API parameter values that are decorated as "sensitive" in the API will not 457 // be included in the string output. The member name will be present, but the 458 // value will be replaced with "sensitive". 459 func (s Model) GoString() string { 460 return s.String() 461 } 462 463 // Validate inspects the fields of the type to determine if they are valid. 464 func (s *Model) Validate() error { 465 invalidParams := request.ErrInvalidParams{Context: "Model"} 466 if s.ModelName != nil && len(*s.ModelName) < 4 { 467 invalidParams.Add(request.NewErrParamMinLen("ModelName", 4)) 468 } 469 if s.ModelVersion != nil && len(*s.ModelVersion) < 1 { 470 invalidParams.Add(request.NewErrParamMinLen("ModelVersion", 1)) 471 } 472 if s.ModelMetrics != nil { 473 for i, v := range s.ModelMetrics { 474 if v == nil { 475 continue 476 } 477 if err := v.Validate(); err != nil { 478 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ModelMetrics", i), err.(request.ErrInvalidParams)) 479 } 480 } 481 } 482 483 if invalidParams.Len() > 0 { 484 return invalidParams 485 } 486 return nil 487 } 488 489 // SetLatestInference sets the LatestInference field's value. 490 func (s *Model) SetLatestInference(v time.Time) *Model { 491 s.LatestInference = &v 492 return s 493 } 494 495 // SetLatestSampleTime sets the LatestSampleTime field's value. 496 func (s *Model) SetLatestSampleTime(v time.Time) *Model { 497 s.LatestSampleTime = &v 498 return s 499 } 500 501 // SetModelMetrics sets the ModelMetrics field's value. 502 func (s *Model) SetModelMetrics(v []*EdgeMetric) *Model { 503 s.ModelMetrics = v 504 return s 505 } 506 507 // SetModelName sets the ModelName field's value. 508 func (s *Model) SetModelName(v string) *Model { 509 s.ModelName = &v 510 return s 511 } 512 513 // SetModelVersion sets the ModelVersion field's value. 514 func (s *Model) SetModelVersion(v string) *Model { 515 s.ModelVersion = &v 516 return s 517 } 518 519 type SendHeartbeatInput struct { 520 _ struct{} `type:"structure"` 521 522 // For internal use. Returns a list of SageMaker Edge Manager agent operating 523 // metrics. 524 AgentMetrics []*EdgeMetric `type:"list"` 525 526 // Returns the version of the agent. 527 // 528 // AgentVersion is a required field 529 AgentVersion *string `min:"1" type:"string" required:"true"` 530 531 // The name of the fleet that the device belongs to. 532 // 533 // DeviceFleetName is a required field 534 DeviceFleetName *string `min:"1" type:"string" required:"true"` 535 536 // The unique name of the device. 537 // 538 // DeviceName is a required field 539 DeviceName *string `min:"1" type:"string" required:"true"` 540 541 // Returns a list of models deployed on the the device. 542 Models []*Model `type:"list"` 543 } 544 545 // String returns the string representation. 546 // 547 // API parameter values that are decorated as "sensitive" in the API will not 548 // be included in the string output. The member name will be present, but the 549 // value will be replaced with "sensitive". 550 func (s SendHeartbeatInput) String() string { 551 return awsutil.Prettify(s) 552 } 553 554 // GoString returns the string representation. 555 // 556 // API parameter values that are decorated as "sensitive" in the API will not 557 // be included in the string output. The member name will be present, but the 558 // value will be replaced with "sensitive". 559 func (s SendHeartbeatInput) GoString() string { 560 return s.String() 561 } 562 563 // Validate inspects the fields of the type to determine if they are valid. 564 func (s *SendHeartbeatInput) Validate() error { 565 invalidParams := request.ErrInvalidParams{Context: "SendHeartbeatInput"} 566 if s.AgentVersion == nil { 567 invalidParams.Add(request.NewErrParamRequired("AgentVersion")) 568 } 569 if s.AgentVersion != nil && len(*s.AgentVersion) < 1 { 570 invalidParams.Add(request.NewErrParamMinLen("AgentVersion", 1)) 571 } 572 if s.DeviceFleetName == nil { 573 invalidParams.Add(request.NewErrParamRequired("DeviceFleetName")) 574 } 575 if s.DeviceFleetName != nil && len(*s.DeviceFleetName) < 1 { 576 invalidParams.Add(request.NewErrParamMinLen("DeviceFleetName", 1)) 577 } 578 if s.DeviceName == nil { 579 invalidParams.Add(request.NewErrParamRequired("DeviceName")) 580 } 581 if s.DeviceName != nil && len(*s.DeviceName) < 1 { 582 invalidParams.Add(request.NewErrParamMinLen("DeviceName", 1)) 583 } 584 if s.AgentMetrics != nil { 585 for i, v := range s.AgentMetrics { 586 if v == nil { 587 continue 588 } 589 if err := v.Validate(); err != nil { 590 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AgentMetrics", i), err.(request.ErrInvalidParams)) 591 } 592 } 593 } 594 if s.Models != nil { 595 for i, v := range s.Models { 596 if v == nil { 597 continue 598 } 599 if err := v.Validate(); err != nil { 600 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Models", i), err.(request.ErrInvalidParams)) 601 } 602 } 603 } 604 605 if invalidParams.Len() > 0 { 606 return invalidParams 607 } 608 return nil 609 } 610 611 // SetAgentMetrics sets the AgentMetrics field's value. 612 func (s *SendHeartbeatInput) SetAgentMetrics(v []*EdgeMetric) *SendHeartbeatInput { 613 s.AgentMetrics = v 614 return s 615 } 616 617 // SetAgentVersion sets the AgentVersion field's value. 618 func (s *SendHeartbeatInput) SetAgentVersion(v string) *SendHeartbeatInput { 619 s.AgentVersion = &v 620 return s 621 } 622 623 // SetDeviceFleetName sets the DeviceFleetName field's value. 624 func (s *SendHeartbeatInput) SetDeviceFleetName(v string) *SendHeartbeatInput { 625 s.DeviceFleetName = &v 626 return s 627 } 628 629 // SetDeviceName sets the DeviceName field's value. 630 func (s *SendHeartbeatInput) SetDeviceName(v string) *SendHeartbeatInput { 631 s.DeviceName = &v 632 return s 633 } 634 635 // SetModels sets the Models field's value. 636 func (s *SendHeartbeatInput) SetModels(v []*Model) *SendHeartbeatInput { 637 s.Models = v 638 return s 639 } 640 641 type SendHeartbeatOutput struct { 642 _ struct{} `type:"structure" nopayload:"true"` 643 } 644 645 // String returns the string representation. 646 // 647 // API parameter values that are decorated as "sensitive" in the API will not 648 // be included in the string output. The member name will be present, but the 649 // value will be replaced with "sensitive". 650 func (s SendHeartbeatOutput) String() string { 651 return awsutil.Prettify(s) 652 } 653 654 // GoString returns the string representation. 655 // 656 // API parameter values that are decorated as "sensitive" in the API will not 657 // be included in the string output. The member name will be present, but the 658 // value will be replaced with "sensitive". 659 func (s SendHeartbeatOutput) GoString() string { 660 return s.String() 661 }