github.com/aavshr/aws-sdk-go@v1.41.3/service/iot1clickprojects/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package iot1clickprojects 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 opAssociateDeviceWithPlacement = "AssociateDeviceWithPlacement" 17 18 // AssociateDeviceWithPlacementRequest generates a "aws/request.Request" representing the 19 // client's request for the AssociateDeviceWithPlacement 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 AssociateDeviceWithPlacement for more information on using the AssociateDeviceWithPlacement 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 AssociateDeviceWithPlacementRequest method. 34 // req, resp := client.AssociateDeviceWithPlacementRequest(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/iot1click-projects-2018-05-14/AssociateDeviceWithPlacement 42 func (c *IoT1ClickProjects) AssociateDeviceWithPlacementRequest(input *AssociateDeviceWithPlacementInput) (req *request.Request, output *AssociateDeviceWithPlacementOutput) { 43 op := &request.Operation{ 44 Name: opAssociateDeviceWithPlacement, 45 HTTPMethod: "PUT", 46 HTTPPath: "/projects/{projectName}/placements/{placementName}/devices/{deviceTemplateName}", 47 } 48 49 if input == nil { 50 input = &AssociateDeviceWithPlacementInput{} 51 } 52 53 output = &AssociateDeviceWithPlacementOutput{} 54 req = c.newRequest(op, input, output) 55 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 56 return 57 } 58 59 // AssociateDeviceWithPlacement API operation for AWS IoT 1-Click Projects Service. 60 // 61 // Associates a physical device with a placement. 62 // 63 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 64 // with awserr.Error's Code and Message methods to get detailed information about 65 // the error. 66 // 67 // See the AWS API reference guide for AWS IoT 1-Click Projects Service's 68 // API operation AssociateDeviceWithPlacement for usage and error information. 69 // 70 // Returned Error Types: 71 // * InternalFailureException 72 // 73 // * InvalidRequestException 74 // 75 // * ResourceConflictException 76 // 77 // * ResourceNotFoundException 78 // 79 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/AssociateDeviceWithPlacement 80 func (c *IoT1ClickProjects) AssociateDeviceWithPlacement(input *AssociateDeviceWithPlacementInput) (*AssociateDeviceWithPlacementOutput, error) { 81 req, out := c.AssociateDeviceWithPlacementRequest(input) 82 return out, req.Send() 83 } 84 85 // AssociateDeviceWithPlacementWithContext is the same as AssociateDeviceWithPlacement with the addition of 86 // the ability to pass a context and additional request options. 87 // 88 // See AssociateDeviceWithPlacement 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. 94 func (c *IoT1ClickProjects) AssociateDeviceWithPlacementWithContext(ctx aws.Context, input *AssociateDeviceWithPlacementInput, opts ...request.Option) (*AssociateDeviceWithPlacementOutput, error) { 95 req, out := c.AssociateDeviceWithPlacementRequest(input) 96 req.SetContext(ctx) 97 req.ApplyOptions(opts...) 98 return out, req.Send() 99 } 100 101 const opCreatePlacement = "CreatePlacement" 102 103 // CreatePlacementRequest generates a "aws/request.Request" representing the 104 // client's request for the CreatePlacement 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 CreatePlacement for more information on using the CreatePlacement 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 CreatePlacementRequest method. 119 // req, resp := client.CreatePlacementRequest(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/iot1click-projects-2018-05-14/CreatePlacement 127 func (c *IoT1ClickProjects) CreatePlacementRequest(input *CreatePlacementInput) (req *request.Request, output *CreatePlacementOutput) { 128 op := &request.Operation{ 129 Name: opCreatePlacement, 130 HTTPMethod: "POST", 131 HTTPPath: "/projects/{projectName}/placements", 132 } 133 134 if input == nil { 135 input = &CreatePlacementInput{} 136 } 137 138 output = &CreatePlacementOutput{} 139 req = c.newRequest(op, input, output) 140 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 141 return 142 } 143 144 // CreatePlacement API operation for AWS IoT 1-Click Projects Service. 145 // 146 // Creates an empty placement. 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 AWS IoT 1-Click Projects Service's 153 // API operation CreatePlacement for usage and error information. 154 // 155 // Returned Error Types: 156 // * InternalFailureException 157 // 158 // * InvalidRequestException 159 // 160 // * ResourceConflictException 161 // 162 // * ResourceNotFoundException 163 // 164 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/CreatePlacement 165 func (c *IoT1ClickProjects) CreatePlacement(input *CreatePlacementInput) (*CreatePlacementOutput, error) { 166 req, out := c.CreatePlacementRequest(input) 167 return out, req.Send() 168 } 169 170 // CreatePlacementWithContext is the same as CreatePlacement with the addition of 171 // the ability to pass a context and additional request options. 172 // 173 // See CreatePlacement for details on how to use this API operation. 174 // 175 // The context must be non-nil and will be used for request cancellation. If 176 // the context is nil a panic will occur. In the future the SDK may create 177 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 178 // for more information on using Contexts. 179 func (c *IoT1ClickProjects) CreatePlacementWithContext(ctx aws.Context, input *CreatePlacementInput, opts ...request.Option) (*CreatePlacementOutput, error) { 180 req, out := c.CreatePlacementRequest(input) 181 req.SetContext(ctx) 182 req.ApplyOptions(opts...) 183 return out, req.Send() 184 } 185 186 const opCreateProject = "CreateProject" 187 188 // CreateProjectRequest generates a "aws/request.Request" representing the 189 // client's request for the CreateProject operation. The "output" return 190 // value will be populated with the request's response once the request completes 191 // successfully. 192 // 193 // Use "Send" method on the returned Request to send the API call to the service. 194 // the "output" return value is not valid until after Send returns without error. 195 // 196 // See CreateProject for more information on using the CreateProject 197 // API call, and error handling. 198 // 199 // This method is useful when you want to inject custom logic or configuration 200 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 201 // 202 // 203 // // Example sending a request using the CreateProjectRequest method. 204 // req, resp := client.CreateProjectRequest(params) 205 // 206 // err := req.Send() 207 // if err == nil { // resp is now filled 208 // fmt.Println(resp) 209 // } 210 // 211 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/CreateProject 212 func (c *IoT1ClickProjects) CreateProjectRequest(input *CreateProjectInput) (req *request.Request, output *CreateProjectOutput) { 213 op := &request.Operation{ 214 Name: opCreateProject, 215 HTTPMethod: "POST", 216 HTTPPath: "/projects", 217 } 218 219 if input == nil { 220 input = &CreateProjectInput{} 221 } 222 223 output = &CreateProjectOutput{} 224 req = c.newRequest(op, input, output) 225 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 226 return 227 } 228 229 // CreateProject API operation for AWS IoT 1-Click Projects Service. 230 // 231 // Creates an empty project with a placement template. A project contains zero 232 // or more placements that adhere to the placement template defined in the project. 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 AWS IoT 1-Click Projects Service's 239 // API operation CreateProject for usage and error information. 240 // 241 // Returned Error Types: 242 // * InternalFailureException 243 // 244 // * InvalidRequestException 245 // 246 // * ResourceConflictException 247 // 248 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/CreateProject 249 func (c *IoT1ClickProjects) CreateProject(input *CreateProjectInput) (*CreateProjectOutput, error) { 250 req, out := c.CreateProjectRequest(input) 251 return out, req.Send() 252 } 253 254 // CreateProjectWithContext is the same as CreateProject with the addition of 255 // the ability to pass a context and additional request options. 256 // 257 // See CreateProject for details on how to use this API operation. 258 // 259 // The context must be non-nil and will be used for request cancellation. If 260 // the context is nil a panic will occur. In the future the SDK may create 261 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 262 // for more information on using Contexts. 263 func (c *IoT1ClickProjects) CreateProjectWithContext(ctx aws.Context, input *CreateProjectInput, opts ...request.Option) (*CreateProjectOutput, error) { 264 req, out := c.CreateProjectRequest(input) 265 req.SetContext(ctx) 266 req.ApplyOptions(opts...) 267 return out, req.Send() 268 } 269 270 const opDeletePlacement = "DeletePlacement" 271 272 // DeletePlacementRequest generates a "aws/request.Request" representing the 273 // client's request for the DeletePlacement operation. The "output" return 274 // value will be populated with the request's response once the request completes 275 // successfully. 276 // 277 // Use "Send" method on the returned Request to send the API call to the service. 278 // the "output" return value is not valid until after Send returns without error. 279 // 280 // See DeletePlacement for more information on using the DeletePlacement 281 // API call, and error handling. 282 // 283 // This method is useful when you want to inject custom logic or configuration 284 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 285 // 286 // 287 // // Example sending a request using the DeletePlacementRequest method. 288 // req, resp := client.DeletePlacementRequest(params) 289 // 290 // err := req.Send() 291 // if err == nil { // resp is now filled 292 // fmt.Println(resp) 293 // } 294 // 295 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/DeletePlacement 296 func (c *IoT1ClickProjects) DeletePlacementRequest(input *DeletePlacementInput) (req *request.Request, output *DeletePlacementOutput) { 297 op := &request.Operation{ 298 Name: opDeletePlacement, 299 HTTPMethod: "DELETE", 300 HTTPPath: "/projects/{projectName}/placements/{placementName}", 301 } 302 303 if input == nil { 304 input = &DeletePlacementInput{} 305 } 306 307 output = &DeletePlacementOutput{} 308 req = c.newRequest(op, input, output) 309 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 310 return 311 } 312 313 // DeletePlacement API operation for AWS IoT 1-Click Projects Service. 314 // 315 // Deletes a placement. To delete a placement, it must not have any devices 316 // associated with it. 317 // 318 // When you delete a placement, all associated data becomes irretrievable. 319 // 320 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 321 // with awserr.Error's Code and Message methods to get detailed information about 322 // the error. 323 // 324 // See the AWS API reference guide for AWS IoT 1-Click Projects Service's 325 // API operation DeletePlacement for usage and error information. 326 // 327 // Returned Error Types: 328 // * InternalFailureException 329 // 330 // * InvalidRequestException 331 // 332 // * ResourceNotFoundException 333 // 334 // * TooManyRequestsException 335 // 336 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/DeletePlacement 337 func (c *IoT1ClickProjects) DeletePlacement(input *DeletePlacementInput) (*DeletePlacementOutput, error) { 338 req, out := c.DeletePlacementRequest(input) 339 return out, req.Send() 340 } 341 342 // DeletePlacementWithContext is the same as DeletePlacement with the addition of 343 // the ability to pass a context and additional request options. 344 // 345 // See DeletePlacement for details on how to use this API operation. 346 // 347 // The context must be non-nil and will be used for request cancellation. If 348 // the context is nil a panic will occur. In the future the SDK may create 349 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 350 // for more information on using Contexts. 351 func (c *IoT1ClickProjects) DeletePlacementWithContext(ctx aws.Context, input *DeletePlacementInput, opts ...request.Option) (*DeletePlacementOutput, error) { 352 req, out := c.DeletePlacementRequest(input) 353 req.SetContext(ctx) 354 req.ApplyOptions(opts...) 355 return out, req.Send() 356 } 357 358 const opDeleteProject = "DeleteProject" 359 360 // DeleteProjectRequest generates a "aws/request.Request" representing the 361 // client's request for the DeleteProject operation. The "output" return 362 // value will be populated with the request's response once the request completes 363 // successfully. 364 // 365 // Use "Send" method on the returned Request to send the API call to the service. 366 // the "output" return value is not valid until after Send returns without error. 367 // 368 // See DeleteProject for more information on using the DeleteProject 369 // API call, and error handling. 370 // 371 // This method is useful when you want to inject custom logic or configuration 372 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 373 // 374 // 375 // // Example sending a request using the DeleteProjectRequest method. 376 // req, resp := client.DeleteProjectRequest(params) 377 // 378 // err := req.Send() 379 // if err == nil { // resp is now filled 380 // fmt.Println(resp) 381 // } 382 // 383 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/DeleteProject 384 func (c *IoT1ClickProjects) DeleteProjectRequest(input *DeleteProjectInput) (req *request.Request, output *DeleteProjectOutput) { 385 op := &request.Operation{ 386 Name: opDeleteProject, 387 HTTPMethod: "DELETE", 388 HTTPPath: "/projects/{projectName}", 389 } 390 391 if input == nil { 392 input = &DeleteProjectInput{} 393 } 394 395 output = &DeleteProjectOutput{} 396 req = c.newRequest(op, input, output) 397 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 398 return 399 } 400 401 // DeleteProject API operation for AWS IoT 1-Click Projects Service. 402 // 403 // Deletes a project. To delete a project, it must not have any placements associated 404 // with it. 405 // 406 // When you delete a project, all associated data becomes irretrievable. 407 // 408 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 409 // with awserr.Error's Code and Message methods to get detailed information about 410 // the error. 411 // 412 // See the AWS API reference guide for AWS IoT 1-Click Projects Service's 413 // API operation DeleteProject for usage and error information. 414 // 415 // Returned Error Types: 416 // * InternalFailureException 417 // 418 // * InvalidRequestException 419 // 420 // * ResourceNotFoundException 421 // 422 // * TooManyRequestsException 423 // 424 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/DeleteProject 425 func (c *IoT1ClickProjects) DeleteProject(input *DeleteProjectInput) (*DeleteProjectOutput, error) { 426 req, out := c.DeleteProjectRequest(input) 427 return out, req.Send() 428 } 429 430 // DeleteProjectWithContext is the same as DeleteProject with the addition of 431 // the ability to pass a context and additional request options. 432 // 433 // See DeleteProject for details on how to use this API operation. 434 // 435 // The context must be non-nil and will be used for request cancellation. If 436 // the context is nil a panic will occur. In the future the SDK may create 437 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 438 // for more information on using Contexts. 439 func (c *IoT1ClickProjects) DeleteProjectWithContext(ctx aws.Context, input *DeleteProjectInput, opts ...request.Option) (*DeleteProjectOutput, error) { 440 req, out := c.DeleteProjectRequest(input) 441 req.SetContext(ctx) 442 req.ApplyOptions(opts...) 443 return out, req.Send() 444 } 445 446 const opDescribePlacement = "DescribePlacement" 447 448 // DescribePlacementRequest generates a "aws/request.Request" representing the 449 // client's request for the DescribePlacement operation. The "output" return 450 // value will be populated with the request's response once the request completes 451 // successfully. 452 // 453 // Use "Send" method on the returned Request to send the API call to the service. 454 // the "output" return value is not valid until after Send returns without error. 455 // 456 // See DescribePlacement for more information on using the DescribePlacement 457 // API call, and error handling. 458 // 459 // This method is useful when you want to inject custom logic or configuration 460 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 461 // 462 // 463 // // Example sending a request using the DescribePlacementRequest method. 464 // req, resp := client.DescribePlacementRequest(params) 465 // 466 // err := req.Send() 467 // if err == nil { // resp is now filled 468 // fmt.Println(resp) 469 // } 470 // 471 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/DescribePlacement 472 func (c *IoT1ClickProjects) DescribePlacementRequest(input *DescribePlacementInput) (req *request.Request, output *DescribePlacementOutput) { 473 op := &request.Operation{ 474 Name: opDescribePlacement, 475 HTTPMethod: "GET", 476 HTTPPath: "/projects/{projectName}/placements/{placementName}", 477 } 478 479 if input == nil { 480 input = &DescribePlacementInput{} 481 } 482 483 output = &DescribePlacementOutput{} 484 req = c.newRequest(op, input, output) 485 return 486 } 487 488 // DescribePlacement API operation for AWS IoT 1-Click Projects Service. 489 // 490 // Describes a placement in a project. 491 // 492 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 493 // with awserr.Error's Code and Message methods to get detailed information about 494 // the error. 495 // 496 // See the AWS API reference guide for AWS IoT 1-Click Projects Service's 497 // API operation DescribePlacement for usage and error information. 498 // 499 // Returned Error Types: 500 // * InternalFailureException 501 // 502 // * InvalidRequestException 503 // 504 // * ResourceNotFoundException 505 // 506 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/DescribePlacement 507 func (c *IoT1ClickProjects) DescribePlacement(input *DescribePlacementInput) (*DescribePlacementOutput, error) { 508 req, out := c.DescribePlacementRequest(input) 509 return out, req.Send() 510 } 511 512 // DescribePlacementWithContext is the same as DescribePlacement with the addition of 513 // the ability to pass a context and additional request options. 514 // 515 // See DescribePlacement for details on how to use this API operation. 516 // 517 // The context must be non-nil and will be used for request cancellation. If 518 // the context is nil a panic will occur. In the future the SDK may create 519 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 520 // for more information on using Contexts. 521 func (c *IoT1ClickProjects) DescribePlacementWithContext(ctx aws.Context, input *DescribePlacementInput, opts ...request.Option) (*DescribePlacementOutput, error) { 522 req, out := c.DescribePlacementRequest(input) 523 req.SetContext(ctx) 524 req.ApplyOptions(opts...) 525 return out, req.Send() 526 } 527 528 const opDescribeProject = "DescribeProject" 529 530 // DescribeProjectRequest generates a "aws/request.Request" representing the 531 // client's request for the DescribeProject operation. The "output" return 532 // value will be populated with the request's response once the request completes 533 // successfully. 534 // 535 // Use "Send" method on the returned Request to send the API call to the service. 536 // the "output" return value is not valid until after Send returns without error. 537 // 538 // See DescribeProject for more information on using the DescribeProject 539 // API call, and error handling. 540 // 541 // This method is useful when you want to inject custom logic or configuration 542 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 543 // 544 // 545 // // Example sending a request using the DescribeProjectRequest method. 546 // req, resp := client.DescribeProjectRequest(params) 547 // 548 // err := req.Send() 549 // if err == nil { // resp is now filled 550 // fmt.Println(resp) 551 // } 552 // 553 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/DescribeProject 554 func (c *IoT1ClickProjects) DescribeProjectRequest(input *DescribeProjectInput) (req *request.Request, output *DescribeProjectOutput) { 555 op := &request.Operation{ 556 Name: opDescribeProject, 557 HTTPMethod: "GET", 558 HTTPPath: "/projects/{projectName}", 559 } 560 561 if input == nil { 562 input = &DescribeProjectInput{} 563 } 564 565 output = &DescribeProjectOutput{} 566 req = c.newRequest(op, input, output) 567 return 568 } 569 570 // DescribeProject API operation for AWS IoT 1-Click Projects Service. 571 // 572 // Returns an object describing a project. 573 // 574 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 575 // with awserr.Error's Code and Message methods to get detailed information about 576 // the error. 577 // 578 // See the AWS API reference guide for AWS IoT 1-Click Projects Service's 579 // API operation DescribeProject for usage and error information. 580 // 581 // Returned Error Types: 582 // * InternalFailureException 583 // 584 // * InvalidRequestException 585 // 586 // * ResourceNotFoundException 587 // 588 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/DescribeProject 589 func (c *IoT1ClickProjects) DescribeProject(input *DescribeProjectInput) (*DescribeProjectOutput, error) { 590 req, out := c.DescribeProjectRequest(input) 591 return out, req.Send() 592 } 593 594 // DescribeProjectWithContext is the same as DescribeProject with the addition of 595 // the ability to pass a context and additional request options. 596 // 597 // See DescribeProject for details on how to use this API operation. 598 // 599 // The context must be non-nil and will be used for request cancellation. If 600 // the context is nil a panic will occur. In the future the SDK may create 601 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 602 // for more information on using Contexts. 603 func (c *IoT1ClickProjects) DescribeProjectWithContext(ctx aws.Context, input *DescribeProjectInput, opts ...request.Option) (*DescribeProjectOutput, error) { 604 req, out := c.DescribeProjectRequest(input) 605 req.SetContext(ctx) 606 req.ApplyOptions(opts...) 607 return out, req.Send() 608 } 609 610 const opDisassociateDeviceFromPlacement = "DisassociateDeviceFromPlacement" 611 612 // DisassociateDeviceFromPlacementRequest generates a "aws/request.Request" representing the 613 // client's request for the DisassociateDeviceFromPlacement operation. The "output" return 614 // value will be populated with the request's response once the request completes 615 // successfully. 616 // 617 // Use "Send" method on the returned Request to send the API call to the service. 618 // the "output" return value is not valid until after Send returns without error. 619 // 620 // See DisassociateDeviceFromPlacement for more information on using the DisassociateDeviceFromPlacement 621 // API call, and error handling. 622 // 623 // This method is useful when you want to inject custom logic or configuration 624 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 625 // 626 // 627 // // Example sending a request using the DisassociateDeviceFromPlacementRequest method. 628 // req, resp := client.DisassociateDeviceFromPlacementRequest(params) 629 // 630 // err := req.Send() 631 // if err == nil { // resp is now filled 632 // fmt.Println(resp) 633 // } 634 // 635 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/DisassociateDeviceFromPlacement 636 func (c *IoT1ClickProjects) DisassociateDeviceFromPlacementRequest(input *DisassociateDeviceFromPlacementInput) (req *request.Request, output *DisassociateDeviceFromPlacementOutput) { 637 op := &request.Operation{ 638 Name: opDisassociateDeviceFromPlacement, 639 HTTPMethod: "DELETE", 640 HTTPPath: "/projects/{projectName}/placements/{placementName}/devices/{deviceTemplateName}", 641 } 642 643 if input == nil { 644 input = &DisassociateDeviceFromPlacementInput{} 645 } 646 647 output = &DisassociateDeviceFromPlacementOutput{} 648 req = c.newRequest(op, input, output) 649 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 650 return 651 } 652 653 // DisassociateDeviceFromPlacement API operation for AWS IoT 1-Click Projects Service. 654 // 655 // Removes a physical device from a placement. 656 // 657 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 658 // with awserr.Error's Code and Message methods to get detailed information about 659 // the error. 660 // 661 // See the AWS API reference guide for AWS IoT 1-Click Projects Service's 662 // API operation DisassociateDeviceFromPlacement for usage and error information. 663 // 664 // Returned Error Types: 665 // * InternalFailureException 666 // 667 // * InvalidRequestException 668 // 669 // * ResourceNotFoundException 670 // 671 // * TooManyRequestsException 672 // 673 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/DisassociateDeviceFromPlacement 674 func (c *IoT1ClickProjects) DisassociateDeviceFromPlacement(input *DisassociateDeviceFromPlacementInput) (*DisassociateDeviceFromPlacementOutput, error) { 675 req, out := c.DisassociateDeviceFromPlacementRequest(input) 676 return out, req.Send() 677 } 678 679 // DisassociateDeviceFromPlacementWithContext is the same as DisassociateDeviceFromPlacement with the addition of 680 // the ability to pass a context and additional request options. 681 // 682 // See DisassociateDeviceFromPlacement for details on how to use this API operation. 683 // 684 // The context must be non-nil and will be used for request cancellation. If 685 // the context is nil a panic will occur. In the future the SDK may create 686 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 687 // for more information on using Contexts. 688 func (c *IoT1ClickProjects) DisassociateDeviceFromPlacementWithContext(ctx aws.Context, input *DisassociateDeviceFromPlacementInput, opts ...request.Option) (*DisassociateDeviceFromPlacementOutput, error) { 689 req, out := c.DisassociateDeviceFromPlacementRequest(input) 690 req.SetContext(ctx) 691 req.ApplyOptions(opts...) 692 return out, req.Send() 693 } 694 695 const opGetDevicesInPlacement = "GetDevicesInPlacement" 696 697 // GetDevicesInPlacementRequest generates a "aws/request.Request" representing the 698 // client's request for the GetDevicesInPlacement operation. The "output" return 699 // value will be populated with the request's response once the request completes 700 // successfully. 701 // 702 // Use "Send" method on the returned Request to send the API call to the service. 703 // the "output" return value is not valid until after Send returns without error. 704 // 705 // See GetDevicesInPlacement for more information on using the GetDevicesInPlacement 706 // API call, and error handling. 707 // 708 // This method is useful when you want to inject custom logic or configuration 709 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 710 // 711 // 712 // // Example sending a request using the GetDevicesInPlacementRequest method. 713 // req, resp := client.GetDevicesInPlacementRequest(params) 714 // 715 // err := req.Send() 716 // if err == nil { // resp is now filled 717 // fmt.Println(resp) 718 // } 719 // 720 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/GetDevicesInPlacement 721 func (c *IoT1ClickProjects) GetDevicesInPlacementRequest(input *GetDevicesInPlacementInput) (req *request.Request, output *GetDevicesInPlacementOutput) { 722 op := &request.Operation{ 723 Name: opGetDevicesInPlacement, 724 HTTPMethod: "GET", 725 HTTPPath: "/projects/{projectName}/placements/{placementName}/devices", 726 } 727 728 if input == nil { 729 input = &GetDevicesInPlacementInput{} 730 } 731 732 output = &GetDevicesInPlacementOutput{} 733 req = c.newRequest(op, input, output) 734 return 735 } 736 737 // GetDevicesInPlacement API operation for AWS IoT 1-Click Projects Service. 738 // 739 // Returns an object enumerating the devices in a placement. 740 // 741 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 742 // with awserr.Error's Code and Message methods to get detailed information about 743 // the error. 744 // 745 // See the AWS API reference guide for AWS IoT 1-Click Projects Service's 746 // API operation GetDevicesInPlacement for usage and error information. 747 // 748 // Returned Error Types: 749 // * InternalFailureException 750 // 751 // * InvalidRequestException 752 // 753 // * ResourceNotFoundException 754 // 755 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/GetDevicesInPlacement 756 func (c *IoT1ClickProjects) GetDevicesInPlacement(input *GetDevicesInPlacementInput) (*GetDevicesInPlacementOutput, error) { 757 req, out := c.GetDevicesInPlacementRequest(input) 758 return out, req.Send() 759 } 760 761 // GetDevicesInPlacementWithContext is the same as GetDevicesInPlacement with the addition of 762 // the ability to pass a context and additional request options. 763 // 764 // See GetDevicesInPlacement for details on how to use this API operation. 765 // 766 // The context must be non-nil and will be used for request cancellation. If 767 // the context is nil a panic will occur. In the future the SDK may create 768 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 769 // for more information on using Contexts. 770 func (c *IoT1ClickProjects) GetDevicesInPlacementWithContext(ctx aws.Context, input *GetDevicesInPlacementInput, opts ...request.Option) (*GetDevicesInPlacementOutput, error) { 771 req, out := c.GetDevicesInPlacementRequest(input) 772 req.SetContext(ctx) 773 req.ApplyOptions(opts...) 774 return out, req.Send() 775 } 776 777 const opListPlacements = "ListPlacements" 778 779 // ListPlacementsRequest generates a "aws/request.Request" representing the 780 // client's request for the ListPlacements operation. The "output" return 781 // value will be populated with the request's response once the request completes 782 // successfully. 783 // 784 // Use "Send" method on the returned Request to send the API call to the service. 785 // the "output" return value is not valid until after Send returns without error. 786 // 787 // See ListPlacements for more information on using the ListPlacements 788 // API call, and error handling. 789 // 790 // This method is useful when you want to inject custom logic or configuration 791 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 792 // 793 // 794 // // Example sending a request using the ListPlacementsRequest method. 795 // req, resp := client.ListPlacementsRequest(params) 796 // 797 // err := req.Send() 798 // if err == nil { // resp is now filled 799 // fmt.Println(resp) 800 // } 801 // 802 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/ListPlacements 803 func (c *IoT1ClickProjects) ListPlacementsRequest(input *ListPlacementsInput) (req *request.Request, output *ListPlacementsOutput) { 804 op := &request.Operation{ 805 Name: opListPlacements, 806 HTTPMethod: "GET", 807 HTTPPath: "/projects/{projectName}/placements", 808 Paginator: &request.Paginator{ 809 InputTokens: []string{"nextToken"}, 810 OutputTokens: []string{"nextToken"}, 811 LimitToken: "maxResults", 812 TruncationToken: "", 813 }, 814 } 815 816 if input == nil { 817 input = &ListPlacementsInput{} 818 } 819 820 output = &ListPlacementsOutput{} 821 req = c.newRequest(op, input, output) 822 return 823 } 824 825 // ListPlacements API operation for AWS IoT 1-Click Projects Service. 826 // 827 // Lists the placement(s) of a project. 828 // 829 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 830 // with awserr.Error's Code and Message methods to get detailed information about 831 // the error. 832 // 833 // See the AWS API reference guide for AWS IoT 1-Click Projects Service's 834 // API operation ListPlacements for usage and error information. 835 // 836 // Returned Error Types: 837 // * InternalFailureException 838 // 839 // * InvalidRequestException 840 // 841 // * ResourceNotFoundException 842 // 843 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/ListPlacements 844 func (c *IoT1ClickProjects) ListPlacements(input *ListPlacementsInput) (*ListPlacementsOutput, error) { 845 req, out := c.ListPlacementsRequest(input) 846 return out, req.Send() 847 } 848 849 // ListPlacementsWithContext is the same as ListPlacements with the addition of 850 // the ability to pass a context and additional request options. 851 // 852 // See ListPlacements for details on how to use this API operation. 853 // 854 // The context must be non-nil and will be used for request cancellation. If 855 // the context is nil a panic will occur. In the future the SDK may create 856 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 857 // for more information on using Contexts. 858 func (c *IoT1ClickProjects) ListPlacementsWithContext(ctx aws.Context, input *ListPlacementsInput, opts ...request.Option) (*ListPlacementsOutput, error) { 859 req, out := c.ListPlacementsRequest(input) 860 req.SetContext(ctx) 861 req.ApplyOptions(opts...) 862 return out, req.Send() 863 } 864 865 // ListPlacementsPages iterates over the pages of a ListPlacements operation, 866 // calling the "fn" function with the response data for each page. To stop 867 // iterating, return false from the fn function. 868 // 869 // See ListPlacements method for more information on how to use this operation. 870 // 871 // Note: This operation can generate multiple requests to a service. 872 // 873 // // Example iterating over at most 3 pages of a ListPlacements operation. 874 // pageNum := 0 875 // err := client.ListPlacementsPages(params, 876 // func(page *iot1clickprojects.ListPlacementsOutput, lastPage bool) bool { 877 // pageNum++ 878 // fmt.Println(page) 879 // return pageNum <= 3 880 // }) 881 // 882 func (c *IoT1ClickProjects) ListPlacementsPages(input *ListPlacementsInput, fn func(*ListPlacementsOutput, bool) bool) error { 883 return c.ListPlacementsPagesWithContext(aws.BackgroundContext(), input, fn) 884 } 885 886 // ListPlacementsPagesWithContext same as ListPlacementsPages except 887 // it takes a Context and allows setting request options on the pages. 888 // 889 // The context must be non-nil and will be used for request cancellation. If 890 // the context is nil a panic will occur. In the future the SDK may create 891 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 892 // for more information on using Contexts. 893 func (c *IoT1ClickProjects) ListPlacementsPagesWithContext(ctx aws.Context, input *ListPlacementsInput, fn func(*ListPlacementsOutput, bool) bool, opts ...request.Option) error { 894 p := request.Pagination{ 895 NewRequest: func() (*request.Request, error) { 896 var inCpy *ListPlacementsInput 897 if input != nil { 898 tmp := *input 899 inCpy = &tmp 900 } 901 req, _ := c.ListPlacementsRequest(inCpy) 902 req.SetContext(ctx) 903 req.ApplyOptions(opts...) 904 return req, nil 905 }, 906 } 907 908 for p.Next() { 909 if !fn(p.Page().(*ListPlacementsOutput), !p.HasNextPage()) { 910 break 911 } 912 } 913 914 return p.Err() 915 } 916 917 const opListProjects = "ListProjects" 918 919 // ListProjectsRequest generates a "aws/request.Request" representing the 920 // client's request for the ListProjects operation. The "output" return 921 // value will be populated with the request's response once the request completes 922 // successfully. 923 // 924 // Use "Send" method on the returned Request to send the API call to the service. 925 // the "output" return value is not valid until after Send returns without error. 926 // 927 // See ListProjects for more information on using the ListProjects 928 // API call, and error handling. 929 // 930 // This method is useful when you want to inject custom logic or configuration 931 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 932 // 933 // 934 // // Example sending a request using the ListProjectsRequest method. 935 // req, resp := client.ListProjectsRequest(params) 936 // 937 // err := req.Send() 938 // if err == nil { // resp is now filled 939 // fmt.Println(resp) 940 // } 941 // 942 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/ListProjects 943 func (c *IoT1ClickProjects) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) { 944 op := &request.Operation{ 945 Name: opListProjects, 946 HTTPMethod: "GET", 947 HTTPPath: "/projects", 948 Paginator: &request.Paginator{ 949 InputTokens: []string{"nextToken"}, 950 OutputTokens: []string{"nextToken"}, 951 LimitToken: "maxResults", 952 TruncationToken: "", 953 }, 954 } 955 956 if input == nil { 957 input = &ListProjectsInput{} 958 } 959 960 output = &ListProjectsOutput{} 961 req = c.newRequest(op, input, output) 962 return 963 } 964 965 // ListProjects API operation for AWS IoT 1-Click Projects Service. 966 // 967 // Lists the AWS IoT 1-Click project(s) associated with your AWS account and 968 // region. 969 // 970 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 971 // with awserr.Error's Code and Message methods to get detailed information about 972 // the error. 973 // 974 // See the AWS API reference guide for AWS IoT 1-Click Projects Service's 975 // API operation ListProjects for usage and error information. 976 // 977 // Returned Error Types: 978 // * InternalFailureException 979 // 980 // * InvalidRequestException 981 // 982 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/ListProjects 983 func (c *IoT1ClickProjects) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) { 984 req, out := c.ListProjectsRequest(input) 985 return out, req.Send() 986 } 987 988 // ListProjectsWithContext is the same as ListProjects with the addition of 989 // the ability to pass a context and additional request options. 990 // 991 // See ListProjects for details on how to use this API operation. 992 // 993 // The context must be non-nil and will be used for request cancellation. If 994 // the context is nil a panic will occur. In the future the SDK may create 995 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 996 // for more information on using Contexts. 997 func (c *IoT1ClickProjects) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) { 998 req, out := c.ListProjectsRequest(input) 999 req.SetContext(ctx) 1000 req.ApplyOptions(opts...) 1001 return out, req.Send() 1002 } 1003 1004 // ListProjectsPages iterates over the pages of a ListProjects operation, 1005 // calling the "fn" function with the response data for each page. To stop 1006 // iterating, return false from the fn function. 1007 // 1008 // See ListProjects method for more information on how to use this operation. 1009 // 1010 // Note: This operation can generate multiple requests to a service. 1011 // 1012 // // Example iterating over at most 3 pages of a ListProjects operation. 1013 // pageNum := 0 1014 // err := client.ListProjectsPages(params, 1015 // func(page *iot1clickprojects.ListProjectsOutput, lastPage bool) bool { 1016 // pageNum++ 1017 // fmt.Println(page) 1018 // return pageNum <= 3 1019 // }) 1020 // 1021 func (c *IoT1ClickProjects) ListProjectsPages(input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool) error { 1022 return c.ListProjectsPagesWithContext(aws.BackgroundContext(), input, fn) 1023 } 1024 1025 // ListProjectsPagesWithContext same as ListProjectsPages except 1026 // it takes a Context and allows setting request options on the pages. 1027 // 1028 // The context must be non-nil and will be used for request cancellation. If 1029 // the context is nil a panic will occur. In the future the SDK may create 1030 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1031 // for more information on using Contexts. 1032 func (c *IoT1ClickProjects) ListProjectsPagesWithContext(ctx aws.Context, input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool, opts ...request.Option) error { 1033 p := request.Pagination{ 1034 NewRequest: func() (*request.Request, error) { 1035 var inCpy *ListProjectsInput 1036 if input != nil { 1037 tmp := *input 1038 inCpy = &tmp 1039 } 1040 req, _ := c.ListProjectsRequest(inCpy) 1041 req.SetContext(ctx) 1042 req.ApplyOptions(opts...) 1043 return req, nil 1044 }, 1045 } 1046 1047 for p.Next() { 1048 if !fn(p.Page().(*ListProjectsOutput), !p.HasNextPage()) { 1049 break 1050 } 1051 } 1052 1053 return p.Err() 1054 } 1055 1056 const opListTagsForResource = "ListTagsForResource" 1057 1058 // ListTagsForResourceRequest generates a "aws/request.Request" representing the 1059 // client's request for the ListTagsForResource operation. The "output" return 1060 // value will be populated with the request's response once the request completes 1061 // successfully. 1062 // 1063 // Use "Send" method on the returned Request to send the API call to the service. 1064 // the "output" return value is not valid until after Send returns without error. 1065 // 1066 // See ListTagsForResource for more information on using the ListTagsForResource 1067 // API call, and error handling. 1068 // 1069 // This method is useful when you want to inject custom logic or configuration 1070 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1071 // 1072 // 1073 // // Example sending a request using the ListTagsForResourceRequest method. 1074 // req, resp := client.ListTagsForResourceRequest(params) 1075 // 1076 // err := req.Send() 1077 // if err == nil { // resp is now filled 1078 // fmt.Println(resp) 1079 // } 1080 // 1081 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/ListTagsForResource 1082 func (c *IoT1ClickProjects) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 1083 op := &request.Operation{ 1084 Name: opListTagsForResource, 1085 HTTPMethod: "GET", 1086 HTTPPath: "/tags/{resourceArn}", 1087 } 1088 1089 if input == nil { 1090 input = &ListTagsForResourceInput{} 1091 } 1092 1093 output = &ListTagsForResourceOutput{} 1094 req = c.newRequest(op, input, output) 1095 return 1096 } 1097 1098 // ListTagsForResource API operation for AWS IoT 1-Click Projects Service. 1099 // 1100 // Lists the tags (metadata key/value pairs) which you have assigned to the 1101 // resource. 1102 // 1103 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1104 // with awserr.Error's Code and Message methods to get detailed information about 1105 // the error. 1106 // 1107 // See the AWS API reference guide for AWS IoT 1-Click Projects Service's 1108 // API operation ListTagsForResource for usage and error information. 1109 // 1110 // Returned Error Types: 1111 // * InternalFailureException 1112 // 1113 // * InvalidRequestException 1114 // 1115 // * ResourceNotFoundException 1116 // 1117 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/ListTagsForResource 1118 func (c *IoT1ClickProjects) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 1119 req, out := c.ListTagsForResourceRequest(input) 1120 return out, req.Send() 1121 } 1122 1123 // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 1124 // the ability to pass a context and additional request options. 1125 // 1126 // See ListTagsForResource for details on how to use this API operation. 1127 // 1128 // The context must be non-nil and will be used for request cancellation. If 1129 // the context is nil a panic will occur. In the future the SDK may create 1130 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1131 // for more information on using Contexts. 1132 func (c *IoT1ClickProjects) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 1133 req, out := c.ListTagsForResourceRequest(input) 1134 req.SetContext(ctx) 1135 req.ApplyOptions(opts...) 1136 return out, req.Send() 1137 } 1138 1139 const opTagResource = "TagResource" 1140 1141 // TagResourceRequest generates a "aws/request.Request" representing the 1142 // client's request for the TagResource operation. The "output" return 1143 // value will be populated with the request's response once the request completes 1144 // successfully. 1145 // 1146 // Use "Send" method on the returned Request to send the API call to the service. 1147 // the "output" return value is not valid until after Send returns without error. 1148 // 1149 // See TagResource for more information on using the TagResource 1150 // API call, and error handling. 1151 // 1152 // This method is useful when you want to inject custom logic or configuration 1153 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1154 // 1155 // 1156 // // Example sending a request using the TagResourceRequest method. 1157 // req, resp := client.TagResourceRequest(params) 1158 // 1159 // err := req.Send() 1160 // if err == nil { // resp is now filled 1161 // fmt.Println(resp) 1162 // } 1163 // 1164 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/TagResource 1165 func (c *IoT1ClickProjects) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 1166 op := &request.Operation{ 1167 Name: opTagResource, 1168 HTTPMethod: "POST", 1169 HTTPPath: "/tags/{resourceArn}", 1170 } 1171 1172 if input == nil { 1173 input = &TagResourceInput{} 1174 } 1175 1176 output = &TagResourceOutput{} 1177 req = c.newRequest(op, input, output) 1178 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1179 return 1180 } 1181 1182 // TagResource API operation for AWS IoT 1-Click Projects Service. 1183 // 1184 // Creates or modifies tags for a resource. Tags are key/value pairs (metadata) 1185 // that can be used to manage a resource. For more information, see AWS Tagging 1186 // Strategies (https://aws.amazon.com/answers/account-management/aws-tagging-strategies/). 1187 // 1188 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1189 // with awserr.Error's Code and Message methods to get detailed information about 1190 // the error. 1191 // 1192 // See the AWS API reference guide for AWS IoT 1-Click Projects Service's 1193 // API operation TagResource for usage and error information. 1194 // 1195 // Returned Error Types: 1196 // * InternalFailureException 1197 // 1198 // * InvalidRequestException 1199 // 1200 // * ResourceNotFoundException 1201 // 1202 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/TagResource 1203 func (c *IoT1ClickProjects) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 1204 req, out := c.TagResourceRequest(input) 1205 return out, req.Send() 1206 } 1207 1208 // TagResourceWithContext is the same as TagResource with the addition of 1209 // the ability to pass a context and additional request options. 1210 // 1211 // See TagResource for details on how to use this API operation. 1212 // 1213 // The context must be non-nil and will be used for request cancellation. If 1214 // the context is nil a panic will occur. In the future the SDK may create 1215 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1216 // for more information on using Contexts. 1217 func (c *IoT1ClickProjects) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 1218 req, out := c.TagResourceRequest(input) 1219 req.SetContext(ctx) 1220 req.ApplyOptions(opts...) 1221 return out, req.Send() 1222 } 1223 1224 const opUntagResource = "UntagResource" 1225 1226 // UntagResourceRequest generates a "aws/request.Request" representing the 1227 // client's request for the UntagResource operation. The "output" return 1228 // value will be populated with the request's response once the request completes 1229 // successfully. 1230 // 1231 // Use "Send" method on the returned Request to send the API call to the service. 1232 // the "output" return value is not valid until after Send returns without error. 1233 // 1234 // See UntagResource for more information on using the UntagResource 1235 // API call, and error handling. 1236 // 1237 // This method is useful when you want to inject custom logic or configuration 1238 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1239 // 1240 // 1241 // // Example sending a request using the UntagResourceRequest method. 1242 // req, resp := client.UntagResourceRequest(params) 1243 // 1244 // err := req.Send() 1245 // if err == nil { // resp is now filled 1246 // fmt.Println(resp) 1247 // } 1248 // 1249 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/UntagResource 1250 func (c *IoT1ClickProjects) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 1251 op := &request.Operation{ 1252 Name: opUntagResource, 1253 HTTPMethod: "DELETE", 1254 HTTPPath: "/tags/{resourceArn}", 1255 } 1256 1257 if input == nil { 1258 input = &UntagResourceInput{} 1259 } 1260 1261 output = &UntagResourceOutput{} 1262 req = c.newRequest(op, input, output) 1263 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1264 return 1265 } 1266 1267 // UntagResource API operation for AWS IoT 1-Click Projects Service. 1268 // 1269 // Removes one or more tags (metadata key/value pairs) from a resource. 1270 // 1271 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1272 // with awserr.Error's Code and Message methods to get detailed information about 1273 // the error. 1274 // 1275 // See the AWS API reference guide for AWS IoT 1-Click Projects Service's 1276 // API operation UntagResource for usage and error information. 1277 // 1278 // Returned Error Types: 1279 // * InternalFailureException 1280 // 1281 // * InvalidRequestException 1282 // 1283 // * ResourceNotFoundException 1284 // 1285 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/UntagResource 1286 func (c *IoT1ClickProjects) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 1287 req, out := c.UntagResourceRequest(input) 1288 return out, req.Send() 1289 } 1290 1291 // UntagResourceWithContext is the same as UntagResource with the addition of 1292 // the ability to pass a context and additional request options. 1293 // 1294 // See UntagResource for details on how to use this API operation. 1295 // 1296 // The context must be non-nil and will be used for request cancellation. If 1297 // the context is nil a panic will occur. In the future the SDK may create 1298 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1299 // for more information on using Contexts. 1300 func (c *IoT1ClickProjects) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 1301 req, out := c.UntagResourceRequest(input) 1302 req.SetContext(ctx) 1303 req.ApplyOptions(opts...) 1304 return out, req.Send() 1305 } 1306 1307 const opUpdatePlacement = "UpdatePlacement" 1308 1309 // UpdatePlacementRequest generates a "aws/request.Request" representing the 1310 // client's request for the UpdatePlacement operation. The "output" return 1311 // value will be populated with the request's response once the request completes 1312 // successfully. 1313 // 1314 // Use "Send" method on the returned Request to send the API call to the service. 1315 // the "output" return value is not valid until after Send returns without error. 1316 // 1317 // See UpdatePlacement for more information on using the UpdatePlacement 1318 // API call, and error handling. 1319 // 1320 // This method is useful when you want to inject custom logic or configuration 1321 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1322 // 1323 // 1324 // // Example sending a request using the UpdatePlacementRequest method. 1325 // req, resp := client.UpdatePlacementRequest(params) 1326 // 1327 // err := req.Send() 1328 // if err == nil { // resp is now filled 1329 // fmt.Println(resp) 1330 // } 1331 // 1332 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/UpdatePlacement 1333 func (c *IoT1ClickProjects) UpdatePlacementRequest(input *UpdatePlacementInput) (req *request.Request, output *UpdatePlacementOutput) { 1334 op := &request.Operation{ 1335 Name: opUpdatePlacement, 1336 HTTPMethod: "PUT", 1337 HTTPPath: "/projects/{projectName}/placements/{placementName}", 1338 } 1339 1340 if input == nil { 1341 input = &UpdatePlacementInput{} 1342 } 1343 1344 output = &UpdatePlacementOutput{} 1345 req = c.newRequest(op, input, output) 1346 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1347 return 1348 } 1349 1350 // UpdatePlacement API operation for AWS IoT 1-Click Projects Service. 1351 // 1352 // Updates a placement with the given attributes. To clear an attribute, pass 1353 // an empty value (i.e., ""). 1354 // 1355 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1356 // with awserr.Error's Code and Message methods to get detailed information about 1357 // the error. 1358 // 1359 // See the AWS API reference guide for AWS IoT 1-Click Projects Service's 1360 // API operation UpdatePlacement for usage and error information. 1361 // 1362 // Returned Error Types: 1363 // * InternalFailureException 1364 // 1365 // * InvalidRequestException 1366 // 1367 // * ResourceNotFoundException 1368 // 1369 // * TooManyRequestsException 1370 // 1371 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/UpdatePlacement 1372 func (c *IoT1ClickProjects) UpdatePlacement(input *UpdatePlacementInput) (*UpdatePlacementOutput, error) { 1373 req, out := c.UpdatePlacementRequest(input) 1374 return out, req.Send() 1375 } 1376 1377 // UpdatePlacementWithContext is the same as UpdatePlacement with the addition of 1378 // the ability to pass a context and additional request options. 1379 // 1380 // See UpdatePlacement for details on how to use this API operation. 1381 // 1382 // The context must be non-nil and will be used for request cancellation. If 1383 // the context is nil a panic will occur. In the future the SDK may create 1384 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1385 // for more information on using Contexts. 1386 func (c *IoT1ClickProjects) UpdatePlacementWithContext(ctx aws.Context, input *UpdatePlacementInput, opts ...request.Option) (*UpdatePlacementOutput, error) { 1387 req, out := c.UpdatePlacementRequest(input) 1388 req.SetContext(ctx) 1389 req.ApplyOptions(opts...) 1390 return out, req.Send() 1391 } 1392 1393 const opUpdateProject = "UpdateProject" 1394 1395 // UpdateProjectRequest generates a "aws/request.Request" representing the 1396 // client's request for the UpdateProject operation. The "output" return 1397 // value will be populated with the request's response once the request completes 1398 // successfully. 1399 // 1400 // Use "Send" method on the returned Request to send the API call to the service. 1401 // the "output" return value is not valid until after Send returns without error. 1402 // 1403 // See UpdateProject for more information on using the UpdateProject 1404 // API call, and error handling. 1405 // 1406 // This method is useful when you want to inject custom logic or configuration 1407 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1408 // 1409 // 1410 // // Example sending a request using the UpdateProjectRequest method. 1411 // req, resp := client.UpdateProjectRequest(params) 1412 // 1413 // err := req.Send() 1414 // if err == nil { // resp is now filled 1415 // fmt.Println(resp) 1416 // } 1417 // 1418 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/UpdateProject 1419 func (c *IoT1ClickProjects) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) { 1420 op := &request.Operation{ 1421 Name: opUpdateProject, 1422 HTTPMethod: "PUT", 1423 HTTPPath: "/projects/{projectName}", 1424 } 1425 1426 if input == nil { 1427 input = &UpdateProjectInput{} 1428 } 1429 1430 output = &UpdateProjectOutput{} 1431 req = c.newRequest(op, input, output) 1432 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1433 return 1434 } 1435 1436 // UpdateProject API operation for AWS IoT 1-Click Projects Service. 1437 // 1438 // Updates a project associated with your AWS account and region. With the exception 1439 // of device template names, you can pass just the values that need to be updated 1440 // because the update request will change only the values that are provided. 1441 // To clear a value, pass the empty string (i.e., ""). 1442 // 1443 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1444 // with awserr.Error's Code and Message methods to get detailed information about 1445 // the error. 1446 // 1447 // See the AWS API reference guide for AWS IoT 1-Click Projects Service's 1448 // API operation UpdateProject for usage and error information. 1449 // 1450 // Returned Error Types: 1451 // * InternalFailureException 1452 // 1453 // * InvalidRequestException 1454 // 1455 // * ResourceNotFoundException 1456 // 1457 // * TooManyRequestsException 1458 // 1459 // See also, https://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/UpdateProject 1460 func (c *IoT1ClickProjects) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) { 1461 req, out := c.UpdateProjectRequest(input) 1462 return out, req.Send() 1463 } 1464 1465 // UpdateProjectWithContext is the same as UpdateProject with the addition of 1466 // the ability to pass a context and additional request options. 1467 // 1468 // See UpdateProject for details on how to use this API operation. 1469 // 1470 // The context must be non-nil and will be used for request cancellation. If 1471 // the context is nil a panic will occur. In the future the SDK may create 1472 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1473 // for more information on using Contexts. 1474 func (c *IoT1ClickProjects) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) { 1475 req, out := c.UpdateProjectRequest(input) 1476 req.SetContext(ctx) 1477 req.ApplyOptions(opts...) 1478 return out, req.Send() 1479 } 1480 1481 type AssociateDeviceWithPlacementInput struct { 1482 _ struct{} `type:"structure"` 1483 1484 // The ID of the physical device to be associated with the given placement in 1485 // the project. Note that a mandatory 4 character prefix is required for all 1486 // deviceId values. 1487 // 1488 // DeviceId is a required field 1489 DeviceId *string `locationName:"deviceId" min:"1" type:"string" required:"true"` 1490 1491 // The device template name to associate with the device ID. 1492 // 1493 // DeviceTemplateName is a required field 1494 DeviceTemplateName *string `location:"uri" locationName:"deviceTemplateName" min:"1" type:"string" required:"true"` 1495 1496 // The name of the placement in which to associate the device. 1497 // 1498 // PlacementName is a required field 1499 PlacementName *string `location:"uri" locationName:"placementName" min:"1" type:"string" required:"true"` 1500 1501 // The name of the project containing the placement in which to associate the 1502 // device. 1503 // 1504 // ProjectName is a required field 1505 ProjectName *string `location:"uri" locationName:"projectName" min:"1" type:"string" required:"true"` 1506 } 1507 1508 // String returns the string representation. 1509 // 1510 // API parameter values that are decorated as "sensitive" in the API will not 1511 // be included in the string output. The member name will be present, but the 1512 // value will be replaced with "sensitive". 1513 func (s AssociateDeviceWithPlacementInput) String() string { 1514 return awsutil.Prettify(s) 1515 } 1516 1517 // GoString returns the string representation. 1518 // 1519 // API parameter values that are decorated as "sensitive" in the API will not 1520 // be included in the string output. The member name will be present, but the 1521 // value will be replaced with "sensitive". 1522 func (s AssociateDeviceWithPlacementInput) GoString() string { 1523 return s.String() 1524 } 1525 1526 // Validate inspects the fields of the type to determine if they are valid. 1527 func (s *AssociateDeviceWithPlacementInput) Validate() error { 1528 invalidParams := request.ErrInvalidParams{Context: "AssociateDeviceWithPlacementInput"} 1529 if s.DeviceId == nil { 1530 invalidParams.Add(request.NewErrParamRequired("DeviceId")) 1531 } 1532 if s.DeviceId != nil && len(*s.DeviceId) < 1 { 1533 invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1)) 1534 } 1535 if s.DeviceTemplateName == nil { 1536 invalidParams.Add(request.NewErrParamRequired("DeviceTemplateName")) 1537 } 1538 if s.DeviceTemplateName != nil && len(*s.DeviceTemplateName) < 1 { 1539 invalidParams.Add(request.NewErrParamMinLen("DeviceTemplateName", 1)) 1540 } 1541 if s.PlacementName == nil { 1542 invalidParams.Add(request.NewErrParamRequired("PlacementName")) 1543 } 1544 if s.PlacementName != nil && len(*s.PlacementName) < 1 { 1545 invalidParams.Add(request.NewErrParamMinLen("PlacementName", 1)) 1546 } 1547 if s.ProjectName == nil { 1548 invalidParams.Add(request.NewErrParamRequired("ProjectName")) 1549 } 1550 if s.ProjectName != nil && len(*s.ProjectName) < 1 { 1551 invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) 1552 } 1553 1554 if invalidParams.Len() > 0 { 1555 return invalidParams 1556 } 1557 return nil 1558 } 1559 1560 // SetDeviceId sets the DeviceId field's value. 1561 func (s *AssociateDeviceWithPlacementInput) SetDeviceId(v string) *AssociateDeviceWithPlacementInput { 1562 s.DeviceId = &v 1563 return s 1564 } 1565 1566 // SetDeviceTemplateName sets the DeviceTemplateName field's value. 1567 func (s *AssociateDeviceWithPlacementInput) SetDeviceTemplateName(v string) *AssociateDeviceWithPlacementInput { 1568 s.DeviceTemplateName = &v 1569 return s 1570 } 1571 1572 // SetPlacementName sets the PlacementName field's value. 1573 func (s *AssociateDeviceWithPlacementInput) SetPlacementName(v string) *AssociateDeviceWithPlacementInput { 1574 s.PlacementName = &v 1575 return s 1576 } 1577 1578 // SetProjectName sets the ProjectName field's value. 1579 func (s *AssociateDeviceWithPlacementInput) SetProjectName(v string) *AssociateDeviceWithPlacementInput { 1580 s.ProjectName = &v 1581 return s 1582 } 1583 1584 type AssociateDeviceWithPlacementOutput struct { 1585 _ struct{} `type:"structure" nopayload:"true"` 1586 } 1587 1588 // String returns the string representation. 1589 // 1590 // API parameter values that are decorated as "sensitive" in the API will not 1591 // be included in the string output. The member name will be present, but the 1592 // value will be replaced with "sensitive". 1593 func (s AssociateDeviceWithPlacementOutput) String() string { 1594 return awsutil.Prettify(s) 1595 } 1596 1597 // GoString returns the string representation. 1598 // 1599 // API parameter values that are decorated as "sensitive" in the API will not 1600 // be included in the string output. The member name will be present, but the 1601 // value will be replaced with "sensitive". 1602 func (s AssociateDeviceWithPlacementOutput) GoString() string { 1603 return s.String() 1604 } 1605 1606 type CreatePlacementInput struct { 1607 _ struct{} `type:"structure"` 1608 1609 // Optional user-defined key/value pairs providing contextual data (such as 1610 // location or function) for the placement. 1611 Attributes map[string]*string `locationName:"attributes" type:"map"` 1612 1613 // The name of the placement to be created. 1614 // 1615 // PlacementName is a required field 1616 PlacementName *string `locationName:"placementName" min:"1" type:"string" required:"true"` 1617 1618 // The name of the project in which to create the placement. 1619 // 1620 // ProjectName is a required field 1621 ProjectName *string `location:"uri" locationName:"projectName" min:"1" type:"string" required:"true"` 1622 } 1623 1624 // String returns the string representation. 1625 // 1626 // API parameter values that are decorated as "sensitive" in the API will not 1627 // be included in the string output. The member name will be present, but the 1628 // value will be replaced with "sensitive". 1629 func (s CreatePlacementInput) String() string { 1630 return awsutil.Prettify(s) 1631 } 1632 1633 // GoString returns the string representation. 1634 // 1635 // API parameter values that are decorated as "sensitive" in the API will not 1636 // be included in the string output. The member name will be present, but the 1637 // value will be replaced with "sensitive". 1638 func (s CreatePlacementInput) GoString() string { 1639 return s.String() 1640 } 1641 1642 // Validate inspects the fields of the type to determine if they are valid. 1643 func (s *CreatePlacementInput) Validate() error { 1644 invalidParams := request.ErrInvalidParams{Context: "CreatePlacementInput"} 1645 if s.PlacementName == nil { 1646 invalidParams.Add(request.NewErrParamRequired("PlacementName")) 1647 } 1648 if s.PlacementName != nil && len(*s.PlacementName) < 1 { 1649 invalidParams.Add(request.NewErrParamMinLen("PlacementName", 1)) 1650 } 1651 if s.ProjectName == nil { 1652 invalidParams.Add(request.NewErrParamRequired("ProjectName")) 1653 } 1654 if s.ProjectName != nil && len(*s.ProjectName) < 1 { 1655 invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) 1656 } 1657 1658 if invalidParams.Len() > 0 { 1659 return invalidParams 1660 } 1661 return nil 1662 } 1663 1664 // SetAttributes sets the Attributes field's value. 1665 func (s *CreatePlacementInput) SetAttributes(v map[string]*string) *CreatePlacementInput { 1666 s.Attributes = v 1667 return s 1668 } 1669 1670 // SetPlacementName sets the PlacementName field's value. 1671 func (s *CreatePlacementInput) SetPlacementName(v string) *CreatePlacementInput { 1672 s.PlacementName = &v 1673 return s 1674 } 1675 1676 // SetProjectName sets the ProjectName field's value. 1677 func (s *CreatePlacementInput) SetProjectName(v string) *CreatePlacementInput { 1678 s.ProjectName = &v 1679 return s 1680 } 1681 1682 type CreatePlacementOutput struct { 1683 _ struct{} `type:"structure" nopayload:"true"` 1684 } 1685 1686 // String returns the string representation. 1687 // 1688 // API parameter values that are decorated as "sensitive" in the API will not 1689 // be included in the string output. The member name will be present, but the 1690 // value will be replaced with "sensitive". 1691 func (s CreatePlacementOutput) String() string { 1692 return awsutil.Prettify(s) 1693 } 1694 1695 // GoString returns the string representation. 1696 // 1697 // API parameter values that are decorated as "sensitive" in the API will not 1698 // be included in the string output. The member name will be present, but the 1699 // value will be replaced with "sensitive". 1700 func (s CreatePlacementOutput) GoString() string { 1701 return s.String() 1702 } 1703 1704 type CreateProjectInput struct { 1705 _ struct{} `type:"structure"` 1706 1707 // An optional description for the project. 1708 Description *string `locationName:"description" type:"string"` 1709 1710 // The schema defining the placement to be created. A placement template defines 1711 // placement default attributes and device templates. You cannot add or remove 1712 // device templates after the project has been created. However, you can update 1713 // callbackOverrides for the device templates using the UpdateProject API. 1714 PlacementTemplate *PlacementTemplate `locationName:"placementTemplate" type:"structure"` 1715 1716 // The name of the project to create. 1717 // 1718 // ProjectName is a required field 1719 ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` 1720 1721 // Optional tags (metadata key/value pairs) to be associated with the project. 1722 // For example, { {"key1": "value1", "key2": "value2"} }. For more information, 1723 // see AWS Tagging Strategies (https://aws.amazon.com/answers/account-management/aws-tagging-strategies/). 1724 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 1725 } 1726 1727 // String returns the string representation. 1728 // 1729 // API parameter values that are decorated as "sensitive" in the API will not 1730 // be included in the string output. The member name will be present, but the 1731 // value will be replaced with "sensitive". 1732 func (s CreateProjectInput) String() string { 1733 return awsutil.Prettify(s) 1734 } 1735 1736 // GoString returns the string representation. 1737 // 1738 // API parameter values that are decorated as "sensitive" in the API will not 1739 // be included in the string output. The member name will be present, but the 1740 // value will be replaced with "sensitive". 1741 func (s CreateProjectInput) GoString() string { 1742 return s.String() 1743 } 1744 1745 // Validate inspects the fields of the type to determine if they are valid. 1746 func (s *CreateProjectInput) Validate() error { 1747 invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"} 1748 if s.ProjectName == nil { 1749 invalidParams.Add(request.NewErrParamRequired("ProjectName")) 1750 } 1751 if s.ProjectName != nil && len(*s.ProjectName) < 1 { 1752 invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) 1753 } 1754 if s.Tags != nil && len(s.Tags) < 1 { 1755 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 1756 } 1757 1758 if invalidParams.Len() > 0 { 1759 return invalidParams 1760 } 1761 return nil 1762 } 1763 1764 // SetDescription sets the Description field's value. 1765 func (s *CreateProjectInput) SetDescription(v string) *CreateProjectInput { 1766 s.Description = &v 1767 return s 1768 } 1769 1770 // SetPlacementTemplate sets the PlacementTemplate field's value. 1771 func (s *CreateProjectInput) SetPlacementTemplate(v *PlacementTemplate) *CreateProjectInput { 1772 s.PlacementTemplate = v 1773 return s 1774 } 1775 1776 // SetProjectName sets the ProjectName field's value. 1777 func (s *CreateProjectInput) SetProjectName(v string) *CreateProjectInput { 1778 s.ProjectName = &v 1779 return s 1780 } 1781 1782 // SetTags sets the Tags field's value. 1783 func (s *CreateProjectInput) SetTags(v map[string]*string) *CreateProjectInput { 1784 s.Tags = v 1785 return s 1786 } 1787 1788 type CreateProjectOutput struct { 1789 _ struct{} `type:"structure" nopayload:"true"` 1790 } 1791 1792 // String returns the string representation. 1793 // 1794 // API parameter values that are decorated as "sensitive" in the API will not 1795 // be included in the string output. The member name will be present, but the 1796 // value will be replaced with "sensitive". 1797 func (s CreateProjectOutput) String() string { 1798 return awsutil.Prettify(s) 1799 } 1800 1801 // GoString returns the string representation. 1802 // 1803 // API parameter values that are decorated as "sensitive" in the API will not 1804 // be included in the string output. The member name will be present, but the 1805 // value will be replaced with "sensitive". 1806 func (s CreateProjectOutput) GoString() string { 1807 return s.String() 1808 } 1809 1810 type DeletePlacementInput struct { 1811 _ struct{} `type:"structure" nopayload:"true"` 1812 1813 // The name of the empty placement to delete. 1814 // 1815 // PlacementName is a required field 1816 PlacementName *string `location:"uri" locationName:"placementName" min:"1" type:"string" required:"true"` 1817 1818 // The project containing the empty placement to delete. 1819 // 1820 // ProjectName is a required field 1821 ProjectName *string `location:"uri" locationName:"projectName" min:"1" type:"string" required:"true"` 1822 } 1823 1824 // String returns the string representation. 1825 // 1826 // API parameter values that are decorated as "sensitive" in the API will not 1827 // be included in the string output. The member name will be present, but the 1828 // value will be replaced with "sensitive". 1829 func (s DeletePlacementInput) String() string { 1830 return awsutil.Prettify(s) 1831 } 1832 1833 // GoString returns the string representation. 1834 // 1835 // API parameter values that are decorated as "sensitive" in the API will not 1836 // be included in the string output. The member name will be present, but the 1837 // value will be replaced with "sensitive". 1838 func (s DeletePlacementInput) GoString() string { 1839 return s.String() 1840 } 1841 1842 // Validate inspects the fields of the type to determine if they are valid. 1843 func (s *DeletePlacementInput) Validate() error { 1844 invalidParams := request.ErrInvalidParams{Context: "DeletePlacementInput"} 1845 if s.PlacementName == nil { 1846 invalidParams.Add(request.NewErrParamRequired("PlacementName")) 1847 } 1848 if s.PlacementName != nil && len(*s.PlacementName) < 1 { 1849 invalidParams.Add(request.NewErrParamMinLen("PlacementName", 1)) 1850 } 1851 if s.ProjectName == nil { 1852 invalidParams.Add(request.NewErrParamRequired("ProjectName")) 1853 } 1854 if s.ProjectName != nil && len(*s.ProjectName) < 1 { 1855 invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) 1856 } 1857 1858 if invalidParams.Len() > 0 { 1859 return invalidParams 1860 } 1861 return nil 1862 } 1863 1864 // SetPlacementName sets the PlacementName field's value. 1865 func (s *DeletePlacementInput) SetPlacementName(v string) *DeletePlacementInput { 1866 s.PlacementName = &v 1867 return s 1868 } 1869 1870 // SetProjectName sets the ProjectName field's value. 1871 func (s *DeletePlacementInput) SetProjectName(v string) *DeletePlacementInput { 1872 s.ProjectName = &v 1873 return s 1874 } 1875 1876 type DeletePlacementOutput struct { 1877 _ struct{} `type:"structure" nopayload:"true"` 1878 } 1879 1880 // String returns the string representation. 1881 // 1882 // API parameter values that are decorated as "sensitive" in the API will not 1883 // be included in the string output. The member name will be present, but the 1884 // value will be replaced with "sensitive". 1885 func (s DeletePlacementOutput) String() string { 1886 return awsutil.Prettify(s) 1887 } 1888 1889 // GoString returns the string representation. 1890 // 1891 // API parameter values that are decorated as "sensitive" in the API will not 1892 // be included in the string output. The member name will be present, but the 1893 // value will be replaced with "sensitive". 1894 func (s DeletePlacementOutput) GoString() string { 1895 return s.String() 1896 } 1897 1898 type DeleteProjectInput struct { 1899 _ struct{} `type:"structure" nopayload:"true"` 1900 1901 // The name of the empty project to delete. 1902 // 1903 // ProjectName is a required field 1904 ProjectName *string `location:"uri" locationName:"projectName" min:"1" type:"string" required:"true"` 1905 } 1906 1907 // String returns the string representation. 1908 // 1909 // API parameter values that are decorated as "sensitive" in the API will not 1910 // be included in the string output. The member name will be present, but the 1911 // value will be replaced with "sensitive". 1912 func (s DeleteProjectInput) String() string { 1913 return awsutil.Prettify(s) 1914 } 1915 1916 // GoString returns the string representation. 1917 // 1918 // API parameter values that are decorated as "sensitive" in the API will not 1919 // be included in the string output. The member name will be present, but the 1920 // value will be replaced with "sensitive". 1921 func (s DeleteProjectInput) GoString() string { 1922 return s.String() 1923 } 1924 1925 // Validate inspects the fields of the type to determine if they are valid. 1926 func (s *DeleteProjectInput) Validate() error { 1927 invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"} 1928 if s.ProjectName == nil { 1929 invalidParams.Add(request.NewErrParamRequired("ProjectName")) 1930 } 1931 if s.ProjectName != nil && len(*s.ProjectName) < 1 { 1932 invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) 1933 } 1934 1935 if invalidParams.Len() > 0 { 1936 return invalidParams 1937 } 1938 return nil 1939 } 1940 1941 // SetProjectName sets the ProjectName field's value. 1942 func (s *DeleteProjectInput) SetProjectName(v string) *DeleteProjectInput { 1943 s.ProjectName = &v 1944 return s 1945 } 1946 1947 type DeleteProjectOutput struct { 1948 _ struct{} `type:"structure" nopayload:"true"` 1949 } 1950 1951 // String returns the string representation. 1952 // 1953 // API parameter values that are decorated as "sensitive" in the API will not 1954 // be included in the string output. The member name will be present, but the 1955 // value will be replaced with "sensitive". 1956 func (s DeleteProjectOutput) String() string { 1957 return awsutil.Prettify(s) 1958 } 1959 1960 // GoString returns the string representation. 1961 // 1962 // API parameter values that are decorated as "sensitive" in the API will not 1963 // be included in the string output. The member name will be present, but the 1964 // value will be replaced with "sensitive". 1965 func (s DeleteProjectOutput) GoString() string { 1966 return s.String() 1967 } 1968 1969 type DescribePlacementInput struct { 1970 _ struct{} `type:"structure" nopayload:"true"` 1971 1972 // The name of the placement within a project. 1973 // 1974 // PlacementName is a required field 1975 PlacementName *string `location:"uri" locationName:"placementName" min:"1" type:"string" required:"true"` 1976 1977 // The project containing the placement to be described. 1978 // 1979 // ProjectName is a required field 1980 ProjectName *string `location:"uri" locationName:"projectName" min:"1" type:"string" required:"true"` 1981 } 1982 1983 // String returns the string representation. 1984 // 1985 // API parameter values that are decorated as "sensitive" in the API will not 1986 // be included in the string output. The member name will be present, but the 1987 // value will be replaced with "sensitive". 1988 func (s DescribePlacementInput) String() string { 1989 return awsutil.Prettify(s) 1990 } 1991 1992 // GoString returns the string representation. 1993 // 1994 // API parameter values that are decorated as "sensitive" in the API will not 1995 // be included in the string output. The member name will be present, but the 1996 // value will be replaced with "sensitive". 1997 func (s DescribePlacementInput) GoString() string { 1998 return s.String() 1999 } 2000 2001 // Validate inspects the fields of the type to determine if they are valid. 2002 func (s *DescribePlacementInput) Validate() error { 2003 invalidParams := request.ErrInvalidParams{Context: "DescribePlacementInput"} 2004 if s.PlacementName == nil { 2005 invalidParams.Add(request.NewErrParamRequired("PlacementName")) 2006 } 2007 if s.PlacementName != nil && len(*s.PlacementName) < 1 { 2008 invalidParams.Add(request.NewErrParamMinLen("PlacementName", 1)) 2009 } 2010 if s.ProjectName == nil { 2011 invalidParams.Add(request.NewErrParamRequired("ProjectName")) 2012 } 2013 if s.ProjectName != nil && len(*s.ProjectName) < 1 { 2014 invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) 2015 } 2016 2017 if invalidParams.Len() > 0 { 2018 return invalidParams 2019 } 2020 return nil 2021 } 2022 2023 // SetPlacementName sets the PlacementName field's value. 2024 func (s *DescribePlacementInput) SetPlacementName(v string) *DescribePlacementInput { 2025 s.PlacementName = &v 2026 return s 2027 } 2028 2029 // SetProjectName sets the ProjectName field's value. 2030 func (s *DescribePlacementInput) SetProjectName(v string) *DescribePlacementInput { 2031 s.ProjectName = &v 2032 return s 2033 } 2034 2035 type DescribePlacementOutput struct { 2036 _ struct{} `type:"structure"` 2037 2038 // An object describing the placement. 2039 // 2040 // Placement is a required field 2041 Placement *PlacementDescription `locationName:"placement" type:"structure" required:"true"` 2042 } 2043 2044 // String returns the string representation. 2045 // 2046 // API parameter values that are decorated as "sensitive" in the API will not 2047 // be included in the string output. The member name will be present, but the 2048 // value will be replaced with "sensitive". 2049 func (s DescribePlacementOutput) String() string { 2050 return awsutil.Prettify(s) 2051 } 2052 2053 // GoString returns the string representation. 2054 // 2055 // API parameter values that are decorated as "sensitive" in the API will not 2056 // be included in the string output. The member name will be present, but the 2057 // value will be replaced with "sensitive". 2058 func (s DescribePlacementOutput) GoString() string { 2059 return s.String() 2060 } 2061 2062 // SetPlacement sets the Placement field's value. 2063 func (s *DescribePlacementOutput) SetPlacement(v *PlacementDescription) *DescribePlacementOutput { 2064 s.Placement = v 2065 return s 2066 } 2067 2068 type DescribeProjectInput struct { 2069 _ struct{} `type:"structure" nopayload:"true"` 2070 2071 // The name of the project to be described. 2072 // 2073 // ProjectName is a required field 2074 ProjectName *string `location:"uri" locationName:"projectName" min:"1" type:"string" required:"true"` 2075 } 2076 2077 // String returns the string representation. 2078 // 2079 // API parameter values that are decorated as "sensitive" in the API will not 2080 // be included in the string output. The member name will be present, but the 2081 // value will be replaced with "sensitive". 2082 func (s DescribeProjectInput) String() string { 2083 return awsutil.Prettify(s) 2084 } 2085 2086 // GoString returns the string representation. 2087 // 2088 // API parameter values that are decorated as "sensitive" in the API will not 2089 // be included in the string output. The member name will be present, but the 2090 // value will be replaced with "sensitive". 2091 func (s DescribeProjectInput) GoString() string { 2092 return s.String() 2093 } 2094 2095 // Validate inspects the fields of the type to determine if they are valid. 2096 func (s *DescribeProjectInput) Validate() error { 2097 invalidParams := request.ErrInvalidParams{Context: "DescribeProjectInput"} 2098 if s.ProjectName == nil { 2099 invalidParams.Add(request.NewErrParamRequired("ProjectName")) 2100 } 2101 if s.ProjectName != nil && len(*s.ProjectName) < 1 { 2102 invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) 2103 } 2104 2105 if invalidParams.Len() > 0 { 2106 return invalidParams 2107 } 2108 return nil 2109 } 2110 2111 // SetProjectName sets the ProjectName field's value. 2112 func (s *DescribeProjectInput) SetProjectName(v string) *DescribeProjectInput { 2113 s.ProjectName = &v 2114 return s 2115 } 2116 2117 type DescribeProjectOutput struct { 2118 _ struct{} `type:"structure"` 2119 2120 // An object describing the project. 2121 // 2122 // Project is a required field 2123 Project *ProjectDescription `locationName:"project" type:"structure" required:"true"` 2124 } 2125 2126 // String returns the string representation. 2127 // 2128 // API parameter values that are decorated as "sensitive" in the API will not 2129 // be included in the string output. The member name will be present, but the 2130 // value will be replaced with "sensitive". 2131 func (s DescribeProjectOutput) String() string { 2132 return awsutil.Prettify(s) 2133 } 2134 2135 // GoString returns the string representation. 2136 // 2137 // API parameter values that are decorated as "sensitive" in the API will not 2138 // be included in the string output. The member name will be present, but the 2139 // value will be replaced with "sensitive". 2140 func (s DescribeProjectOutput) GoString() string { 2141 return s.String() 2142 } 2143 2144 // SetProject sets the Project field's value. 2145 func (s *DescribeProjectOutput) SetProject(v *ProjectDescription) *DescribeProjectOutput { 2146 s.Project = v 2147 return s 2148 } 2149 2150 // An object representing a device for a placement template (see PlacementTemplate). 2151 type DeviceTemplate struct { 2152 _ struct{} `type:"structure"` 2153 2154 // An optional Lambda function to invoke instead of the default Lambda function 2155 // provided by the placement template. 2156 CallbackOverrides map[string]*string `locationName:"callbackOverrides" type:"map"` 2157 2158 // The device type, which currently must be "button". 2159 DeviceType *string `locationName:"deviceType" type:"string"` 2160 } 2161 2162 // String returns the string representation. 2163 // 2164 // API parameter values that are decorated as "sensitive" in the API will not 2165 // be included in the string output. The member name will be present, but the 2166 // value will be replaced with "sensitive". 2167 func (s DeviceTemplate) String() string { 2168 return awsutil.Prettify(s) 2169 } 2170 2171 // GoString returns the string representation. 2172 // 2173 // API parameter values that are decorated as "sensitive" in the API will not 2174 // be included in the string output. The member name will be present, but the 2175 // value will be replaced with "sensitive". 2176 func (s DeviceTemplate) GoString() string { 2177 return s.String() 2178 } 2179 2180 // SetCallbackOverrides sets the CallbackOverrides field's value. 2181 func (s *DeviceTemplate) SetCallbackOverrides(v map[string]*string) *DeviceTemplate { 2182 s.CallbackOverrides = v 2183 return s 2184 } 2185 2186 // SetDeviceType sets the DeviceType field's value. 2187 func (s *DeviceTemplate) SetDeviceType(v string) *DeviceTemplate { 2188 s.DeviceType = &v 2189 return s 2190 } 2191 2192 type DisassociateDeviceFromPlacementInput struct { 2193 _ struct{} `type:"structure" nopayload:"true"` 2194 2195 // The device ID that should be removed from the placement. 2196 // 2197 // DeviceTemplateName is a required field 2198 DeviceTemplateName *string `location:"uri" locationName:"deviceTemplateName" min:"1" type:"string" required:"true"` 2199 2200 // The name of the placement that the device should be removed from. 2201 // 2202 // PlacementName is a required field 2203 PlacementName *string `location:"uri" locationName:"placementName" min:"1" type:"string" required:"true"` 2204 2205 // The name of the project that contains the placement. 2206 // 2207 // ProjectName is a required field 2208 ProjectName *string `location:"uri" locationName:"projectName" min:"1" type:"string" required:"true"` 2209 } 2210 2211 // String returns the string representation. 2212 // 2213 // API parameter values that are decorated as "sensitive" in the API will not 2214 // be included in the string output. The member name will be present, but the 2215 // value will be replaced with "sensitive". 2216 func (s DisassociateDeviceFromPlacementInput) String() string { 2217 return awsutil.Prettify(s) 2218 } 2219 2220 // GoString returns the string representation. 2221 // 2222 // API parameter values that are decorated as "sensitive" in the API will not 2223 // be included in the string output. The member name will be present, but the 2224 // value will be replaced with "sensitive". 2225 func (s DisassociateDeviceFromPlacementInput) GoString() string { 2226 return s.String() 2227 } 2228 2229 // Validate inspects the fields of the type to determine if they are valid. 2230 func (s *DisassociateDeviceFromPlacementInput) Validate() error { 2231 invalidParams := request.ErrInvalidParams{Context: "DisassociateDeviceFromPlacementInput"} 2232 if s.DeviceTemplateName == nil { 2233 invalidParams.Add(request.NewErrParamRequired("DeviceTemplateName")) 2234 } 2235 if s.DeviceTemplateName != nil && len(*s.DeviceTemplateName) < 1 { 2236 invalidParams.Add(request.NewErrParamMinLen("DeviceTemplateName", 1)) 2237 } 2238 if s.PlacementName == nil { 2239 invalidParams.Add(request.NewErrParamRequired("PlacementName")) 2240 } 2241 if s.PlacementName != nil && len(*s.PlacementName) < 1 { 2242 invalidParams.Add(request.NewErrParamMinLen("PlacementName", 1)) 2243 } 2244 if s.ProjectName == nil { 2245 invalidParams.Add(request.NewErrParamRequired("ProjectName")) 2246 } 2247 if s.ProjectName != nil && len(*s.ProjectName) < 1 { 2248 invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) 2249 } 2250 2251 if invalidParams.Len() > 0 { 2252 return invalidParams 2253 } 2254 return nil 2255 } 2256 2257 // SetDeviceTemplateName sets the DeviceTemplateName field's value. 2258 func (s *DisassociateDeviceFromPlacementInput) SetDeviceTemplateName(v string) *DisassociateDeviceFromPlacementInput { 2259 s.DeviceTemplateName = &v 2260 return s 2261 } 2262 2263 // SetPlacementName sets the PlacementName field's value. 2264 func (s *DisassociateDeviceFromPlacementInput) SetPlacementName(v string) *DisassociateDeviceFromPlacementInput { 2265 s.PlacementName = &v 2266 return s 2267 } 2268 2269 // SetProjectName sets the ProjectName field's value. 2270 func (s *DisassociateDeviceFromPlacementInput) SetProjectName(v string) *DisassociateDeviceFromPlacementInput { 2271 s.ProjectName = &v 2272 return s 2273 } 2274 2275 type DisassociateDeviceFromPlacementOutput struct { 2276 _ struct{} `type:"structure" nopayload:"true"` 2277 } 2278 2279 // String returns the string representation. 2280 // 2281 // API parameter values that are decorated as "sensitive" in the API will not 2282 // be included in the string output. The member name will be present, but the 2283 // value will be replaced with "sensitive". 2284 func (s DisassociateDeviceFromPlacementOutput) String() string { 2285 return awsutil.Prettify(s) 2286 } 2287 2288 // GoString returns the string representation. 2289 // 2290 // API parameter values that are decorated as "sensitive" in the API will not 2291 // be included in the string output. The member name will be present, but the 2292 // value will be replaced with "sensitive". 2293 func (s DisassociateDeviceFromPlacementOutput) GoString() string { 2294 return s.String() 2295 } 2296 2297 type GetDevicesInPlacementInput struct { 2298 _ struct{} `type:"structure" nopayload:"true"` 2299 2300 // The name of the placement to get the devices from. 2301 // 2302 // PlacementName is a required field 2303 PlacementName *string `location:"uri" locationName:"placementName" min:"1" type:"string" required:"true"` 2304 2305 // The name of the project containing the placement. 2306 // 2307 // ProjectName is a required field 2308 ProjectName *string `location:"uri" locationName:"projectName" min:"1" type:"string" required:"true"` 2309 } 2310 2311 // String returns the string representation. 2312 // 2313 // API parameter values that are decorated as "sensitive" in the API will not 2314 // be included in the string output. The member name will be present, but the 2315 // value will be replaced with "sensitive". 2316 func (s GetDevicesInPlacementInput) String() string { 2317 return awsutil.Prettify(s) 2318 } 2319 2320 // GoString returns the string representation. 2321 // 2322 // API parameter values that are decorated as "sensitive" in the API will not 2323 // be included in the string output. The member name will be present, but the 2324 // value will be replaced with "sensitive". 2325 func (s GetDevicesInPlacementInput) GoString() string { 2326 return s.String() 2327 } 2328 2329 // Validate inspects the fields of the type to determine if they are valid. 2330 func (s *GetDevicesInPlacementInput) Validate() error { 2331 invalidParams := request.ErrInvalidParams{Context: "GetDevicesInPlacementInput"} 2332 if s.PlacementName == nil { 2333 invalidParams.Add(request.NewErrParamRequired("PlacementName")) 2334 } 2335 if s.PlacementName != nil && len(*s.PlacementName) < 1 { 2336 invalidParams.Add(request.NewErrParamMinLen("PlacementName", 1)) 2337 } 2338 if s.ProjectName == nil { 2339 invalidParams.Add(request.NewErrParamRequired("ProjectName")) 2340 } 2341 if s.ProjectName != nil && len(*s.ProjectName) < 1 { 2342 invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) 2343 } 2344 2345 if invalidParams.Len() > 0 { 2346 return invalidParams 2347 } 2348 return nil 2349 } 2350 2351 // SetPlacementName sets the PlacementName field's value. 2352 func (s *GetDevicesInPlacementInput) SetPlacementName(v string) *GetDevicesInPlacementInput { 2353 s.PlacementName = &v 2354 return s 2355 } 2356 2357 // SetProjectName sets the ProjectName field's value. 2358 func (s *GetDevicesInPlacementInput) SetProjectName(v string) *GetDevicesInPlacementInput { 2359 s.ProjectName = &v 2360 return s 2361 } 2362 2363 type GetDevicesInPlacementOutput struct { 2364 _ struct{} `type:"structure"` 2365 2366 // An object containing the devices (zero or more) within the placement. 2367 // 2368 // Devices is a required field 2369 Devices map[string]*string `locationName:"devices" type:"map" required:"true"` 2370 } 2371 2372 // String returns the string representation. 2373 // 2374 // API parameter values that are decorated as "sensitive" in the API will not 2375 // be included in the string output. The member name will be present, but the 2376 // value will be replaced with "sensitive". 2377 func (s GetDevicesInPlacementOutput) String() string { 2378 return awsutil.Prettify(s) 2379 } 2380 2381 // GoString returns the string representation. 2382 // 2383 // API parameter values that are decorated as "sensitive" in the API will not 2384 // be included in the string output. The member name will be present, but the 2385 // value will be replaced with "sensitive". 2386 func (s GetDevicesInPlacementOutput) GoString() string { 2387 return s.String() 2388 } 2389 2390 // SetDevices sets the Devices field's value. 2391 func (s *GetDevicesInPlacementOutput) SetDevices(v map[string]*string) *GetDevicesInPlacementOutput { 2392 s.Devices = v 2393 return s 2394 } 2395 2396 type InternalFailureException struct { 2397 _ struct{} `type:"structure"` 2398 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2399 2400 Code_ *string `locationName:"code" type:"string"` 2401 2402 Message_ *string `locationName:"message" type:"string"` 2403 } 2404 2405 // String returns the string representation. 2406 // 2407 // API parameter values that are decorated as "sensitive" in the API will not 2408 // be included in the string output. The member name will be present, but the 2409 // value will be replaced with "sensitive". 2410 func (s InternalFailureException) String() string { 2411 return awsutil.Prettify(s) 2412 } 2413 2414 // GoString returns the string representation. 2415 // 2416 // API parameter values that are decorated as "sensitive" in the API will not 2417 // be included in the string output. The member name will be present, but the 2418 // value will be replaced with "sensitive". 2419 func (s InternalFailureException) GoString() string { 2420 return s.String() 2421 } 2422 2423 func newErrorInternalFailureException(v protocol.ResponseMetadata) error { 2424 return &InternalFailureException{ 2425 RespMetadata: v, 2426 } 2427 } 2428 2429 // Code returns the exception type name. 2430 func (s *InternalFailureException) Code() string { 2431 return "InternalFailureException" 2432 } 2433 2434 // Message returns the exception's message. 2435 func (s *InternalFailureException) Message() string { 2436 if s.Message_ != nil { 2437 return *s.Message_ 2438 } 2439 return "" 2440 } 2441 2442 // OrigErr always returns nil, satisfies awserr.Error interface. 2443 func (s *InternalFailureException) OrigErr() error { 2444 return nil 2445 } 2446 2447 func (s *InternalFailureException) Error() string { 2448 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 2449 } 2450 2451 // Status code returns the HTTP status code for the request's response error. 2452 func (s *InternalFailureException) StatusCode() int { 2453 return s.RespMetadata.StatusCode 2454 } 2455 2456 // RequestID returns the service's response RequestID for request. 2457 func (s *InternalFailureException) RequestID() string { 2458 return s.RespMetadata.RequestID 2459 } 2460 2461 type InvalidRequestException struct { 2462 _ struct{} `type:"structure"` 2463 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2464 2465 Code_ *string `locationName:"code" type:"string"` 2466 2467 Message_ *string `locationName:"message" type:"string"` 2468 } 2469 2470 // String returns the string representation. 2471 // 2472 // API parameter values that are decorated as "sensitive" in the API will not 2473 // be included in the string output. The member name will be present, but the 2474 // value will be replaced with "sensitive". 2475 func (s InvalidRequestException) String() string { 2476 return awsutil.Prettify(s) 2477 } 2478 2479 // GoString returns the string representation. 2480 // 2481 // API parameter values that are decorated as "sensitive" in the API will not 2482 // be included in the string output. The member name will be present, but the 2483 // value will be replaced with "sensitive". 2484 func (s InvalidRequestException) GoString() string { 2485 return s.String() 2486 } 2487 2488 func newErrorInvalidRequestException(v protocol.ResponseMetadata) error { 2489 return &InvalidRequestException{ 2490 RespMetadata: v, 2491 } 2492 } 2493 2494 // Code returns the exception type name. 2495 func (s *InvalidRequestException) Code() string { 2496 return "InvalidRequestException" 2497 } 2498 2499 // Message returns the exception's message. 2500 func (s *InvalidRequestException) Message() string { 2501 if s.Message_ != nil { 2502 return *s.Message_ 2503 } 2504 return "" 2505 } 2506 2507 // OrigErr always returns nil, satisfies awserr.Error interface. 2508 func (s *InvalidRequestException) OrigErr() error { 2509 return nil 2510 } 2511 2512 func (s *InvalidRequestException) Error() string { 2513 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 2514 } 2515 2516 // Status code returns the HTTP status code for the request's response error. 2517 func (s *InvalidRequestException) StatusCode() int { 2518 return s.RespMetadata.StatusCode 2519 } 2520 2521 // RequestID returns the service's response RequestID for request. 2522 func (s *InvalidRequestException) RequestID() string { 2523 return s.RespMetadata.RequestID 2524 } 2525 2526 type ListPlacementsInput struct { 2527 _ struct{} `type:"structure" nopayload:"true"` 2528 2529 // The maximum number of results to return per request. If not set, a default 2530 // value of 100 is used. 2531 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 2532 2533 // The token to retrieve the next set of results. 2534 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 2535 2536 // The project containing the placements to be listed. 2537 // 2538 // ProjectName is a required field 2539 ProjectName *string `location:"uri" locationName:"projectName" min:"1" type:"string" required:"true"` 2540 } 2541 2542 // String returns the string representation. 2543 // 2544 // API parameter values that are decorated as "sensitive" in the API will not 2545 // be included in the string output. The member name will be present, but the 2546 // value will be replaced with "sensitive". 2547 func (s ListPlacementsInput) String() string { 2548 return awsutil.Prettify(s) 2549 } 2550 2551 // GoString returns the string representation. 2552 // 2553 // API parameter values that are decorated as "sensitive" in the API will not 2554 // be included in the string output. The member name will be present, but the 2555 // value will be replaced with "sensitive". 2556 func (s ListPlacementsInput) GoString() string { 2557 return s.String() 2558 } 2559 2560 // Validate inspects the fields of the type to determine if they are valid. 2561 func (s *ListPlacementsInput) Validate() error { 2562 invalidParams := request.ErrInvalidParams{Context: "ListPlacementsInput"} 2563 if s.MaxResults != nil && *s.MaxResults < 1 { 2564 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 2565 } 2566 if s.NextToken != nil && len(*s.NextToken) < 1 { 2567 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 2568 } 2569 if s.ProjectName == nil { 2570 invalidParams.Add(request.NewErrParamRequired("ProjectName")) 2571 } 2572 if s.ProjectName != nil && len(*s.ProjectName) < 1 { 2573 invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) 2574 } 2575 2576 if invalidParams.Len() > 0 { 2577 return invalidParams 2578 } 2579 return nil 2580 } 2581 2582 // SetMaxResults sets the MaxResults field's value. 2583 func (s *ListPlacementsInput) SetMaxResults(v int64) *ListPlacementsInput { 2584 s.MaxResults = &v 2585 return s 2586 } 2587 2588 // SetNextToken sets the NextToken field's value. 2589 func (s *ListPlacementsInput) SetNextToken(v string) *ListPlacementsInput { 2590 s.NextToken = &v 2591 return s 2592 } 2593 2594 // SetProjectName sets the ProjectName field's value. 2595 func (s *ListPlacementsInput) SetProjectName(v string) *ListPlacementsInput { 2596 s.ProjectName = &v 2597 return s 2598 } 2599 2600 type ListPlacementsOutput struct { 2601 _ struct{} `type:"structure"` 2602 2603 // The token used to retrieve the next set of results - will be effectively 2604 // empty if there are no further results. 2605 NextToken *string `locationName:"nextToken" min:"1" type:"string"` 2606 2607 // An object listing the requested placements. 2608 // 2609 // Placements is a required field 2610 Placements []*PlacementSummary `locationName:"placements" type:"list" required:"true"` 2611 } 2612 2613 // String returns the string representation. 2614 // 2615 // API parameter values that are decorated as "sensitive" in the API will not 2616 // be included in the string output. The member name will be present, but the 2617 // value will be replaced with "sensitive". 2618 func (s ListPlacementsOutput) String() string { 2619 return awsutil.Prettify(s) 2620 } 2621 2622 // GoString returns the string representation. 2623 // 2624 // API parameter values that are decorated as "sensitive" in the API will not 2625 // be included in the string output. The member name will be present, but the 2626 // value will be replaced with "sensitive". 2627 func (s ListPlacementsOutput) GoString() string { 2628 return s.String() 2629 } 2630 2631 // SetNextToken sets the NextToken field's value. 2632 func (s *ListPlacementsOutput) SetNextToken(v string) *ListPlacementsOutput { 2633 s.NextToken = &v 2634 return s 2635 } 2636 2637 // SetPlacements sets the Placements field's value. 2638 func (s *ListPlacementsOutput) SetPlacements(v []*PlacementSummary) *ListPlacementsOutput { 2639 s.Placements = v 2640 return s 2641 } 2642 2643 type ListProjectsInput struct { 2644 _ struct{} `type:"structure" nopayload:"true"` 2645 2646 // The maximum number of results to return per request. If not set, a default 2647 // value of 100 is used. 2648 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 2649 2650 // The token to retrieve the next set of results. 2651 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 2652 } 2653 2654 // String returns the string representation. 2655 // 2656 // API parameter values that are decorated as "sensitive" in the API will not 2657 // be included in the string output. The member name will be present, but the 2658 // value will be replaced with "sensitive". 2659 func (s ListProjectsInput) String() string { 2660 return awsutil.Prettify(s) 2661 } 2662 2663 // GoString returns the string representation. 2664 // 2665 // API parameter values that are decorated as "sensitive" in the API will not 2666 // be included in the string output. The member name will be present, but the 2667 // value will be replaced with "sensitive". 2668 func (s ListProjectsInput) GoString() string { 2669 return s.String() 2670 } 2671 2672 // Validate inspects the fields of the type to determine if they are valid. 2673 func (s *ListProjectsInput) Validate() error { 2674 invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"} 2675 if s.MaxResults != nil && *s.MaxResults < 1 { 2676 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 2677 } 2678 if s.NextToken != nil && len(*s.NextToken) < 1 { 2679 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 2680 } 2681 2682 if invalidParams.Len() > 0 { 2683 return invalidParams 2684 } 2685 return nil 2686 } 2687 2688 // SetMaxResults sets the MaxResults field's value. 2689 func (s *ListProjectsInput) SetMaxResults(v int64) *ListProjectsInput { 2690 s.MaxResults = &v 2691 return s 2692 } 2693 2694 // SetNextToken sets the NextToken field's value. 2695 func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput { 2696 s.NextToken = &v 2697 return s 2698 } 2699 2700 type ListProjectsOutput struct { 2701 _ struct{} `type:"structure"` 2702 2703 // The token used to retrieve the next set of results - will be effectively 2704 // empty if there are no further results. 2705 NextToken *string `locationName:"nextToken" min:"1" type:"string"` 2706 2707 // An object containing the list of projects. 2708 // 2709 // Projects is a required field 2710 Projects []*ProjectSummary `locationName:"projects" type:"list" required:"true"` 2711 } 2712 2713 // String returns the string representation. 2714 // 2715 // API parameter values that are decorated as "sensitive" in the API will not 2716 // be included in the string output. The member name will be present, but the 2717 // value will be replaced with "sensitive". 2718 func (s ListProjectsOutput) String() string { 2719 return awsutil.Prettify(s) 2720 } 2721 2722 // GoString returns the string representation. 2723 // 2724 // API parameter values that are decorated as "sensitive" in the API will not 2725 // be included in the string output. The member name will be present, but the 2726 // value will be replaced with "sensitive". 2727 func (s ListProjectsOutput) GoString() string { 2728 return s.String() 2729 } 2730 2731 // SetNextToken sets the NextToken field's value. 2732 func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput { 2733 s.NextToken = &v 2734 return s 2735 } 2736 2737 // SetProjects sets the Projects field's value. 2738 func (s *ListProjectsOutput) SetProjects(v []*ProjectSummary) *ListProjectsOutput { 2739 s.Projects = v 2740 return s 2741 } 2742 2743 type ListTagsForResourceInput struct { 2744 _ struct{} `type:"structure" nopayload:"true"` 2745 2746 // The ARN of the resource whose tags you want to list. 2747 // 2748 // ResourceArn is a required field 2749 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 2750 } 2751 2752 // String returns the string representation. 2753 // 2754 // API parameter values that are decorated as "sensitive" in the API will not 2755 // be included in the string output. The member name will be present, but the 2756 // value will be replaced with "sensitive". 2757 func (s ListTagsForResourceInput) String() string { 2758 return awsutil.Prettify(s) 2759 } 2760 2761 // GoString returns the string representation. 2762 // 2763 // API parameter values that are decorated as "sensitive" in the API will not 2764 // be included in the string output. The member name will be present, but the 2765 // value will be replaced with "sensitive". 2766 func (s ListTagsForResourceInput) GoString() string { 2767 return s.String() 2768 } 2769 2770 // Validate inspects the fields of the type to determine if they are valid. 2771 func (s *ListTagsForResourceInput) Validate() error { 2772 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 2773 if s.ResourceArn == nil { 2774 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 2775 } 2776 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 2777 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 2778 } 2779 2780 if invalidParams.Len() > 0 { 2781 return invalidParams 2782 } 2783 return nil 2784 } 2785 2786 // SetResourceArn sets the ResourceArn field's value. 2787 func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 2788 s.ResourceArn = &v 2789 return s 2790 } 2791 2792 type ListTagsForResourceOutput struct { 2793 _ struct{} `type:"structure"` 2794 2795 // The tags (metadata key/value pairs) which you have assigned to the resource. 2796 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 2797 } 2798 2799 // String returns the string representation. 2800 // 2801 // API parameter values that are decorated as "sensitive" in the API will not 2802 // be included in the string output. The member name will be present, but the 2803 // value will be replaced with "sensitive". 2804 func (s ListTagsForResourceOutput) String() string { 2805 return awsutil.Prettify(s) 2806 } 2807 2808 // GoString returns the string representation. 2809 // 2810 // API parameter values that are decorated as "sensitive" in the API will not 2811 // be included in the string output. The member name will be present, but the 2812 // value will be replaced with "sensitive". 2813 func (s ListTagsForResourceOutput) GoString() string { 2814 return s.String() 2815 } 2816 2817 // SetTags sets the Tags field's value. 2818 func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { 2819 s.Tags = v 2820 return s 2821 } 2822 2823 // An object describing a project's placement. 2824 type PlacementDescription struct { 2825 _ struct{} `type:"structure"` 2826 2827 // The user-defined attributes associated with the placement. 2828 // 2829 // Attributes is a required field 2830 Attributes map[string]*string `locationName:"attributes" type:"map" required:"true"` 2831 2832 // The date when the placement was initially created, in UNIX epoch time format. 2833 // 2834 // CreatedDate is a required field 2835 CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" required:"true"` 2836 2837 // The name of the placement. 2838 // 2839 // PlacementName is a required field 2840 PlacementName *string `locationName:"placementName" min:"1" type:"string" required:"true"` 2841 2842 // The name of the project containing the placement. 2843 // 2844 // ProjectName is a required field 2845 ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` 2846 2847 // The date when the placement was last updated, in UNIX epoch time format. 2848 // If the placement was not updated, then createdDate and updatedDate are the 2849 // same. 2850 // 2851 // UpdatedDate is a required field 2852 UpdatedDate *time.Time `locationName:"updatedDate" type:"timestamp" required:"true"` 2853 } 2854 2855 // String returns the string representation. 2856 // 2857 // API parameter values that are decorated as "sensitive" in the API will not 2858 // be included in the string output. The member name will be present, but the 2859 // value will be replaced with "sensitive". 2860 func (s PlacementDescription) String() string { 2861 return awsutil.Prettify(s) 2862 } 2863 2864 // GoString returns the string representation. 2865 // 2866 // API parameter values that are decorated as "sensitive" in the API will not 2867 // be included in the string output. The member name will be present, but the 2868 // value will be replaced with "sensitive". 2869 func (s PlacementDescription) GoString() string { 2870 return s.String() 2871 } 2872 2873 // SetAttributes sets the Attributes field's value. 2874 func (s *PlacementDescription) SetAttributes(v map[string]*string) *PlacementDescription { 2875 s.Attributes = v 2876 return s 2877 } 2878 2879 // SetCreatedDate sets the CreatedDate field's value. 2880 func (s *PlacementDescription) SetCreatedDate(v time.Time) *PlacementDescription { 2881 s.CreatedDate = &v 2882 return s 2883 } 2884 2885 // SetPlacementName sets the PlacementName field's value. 2886 func (s *PlacementDescription) SetPlacementName(v string) *PlacementDescription { 2887 s.PlacementName = &v 2888 return s 2889 } 2890 2891 // SetProjectName sets the ProjectName field's value. 2892 func (s *PlacementDescription) SetProjectName(v string) *PlacementDescription { 2893 s.ProjectName = &v 2894 return s 2895 } 2896 2897 // SetUpdatedDate sets the UpdatedDate field's value. 2898 func (s *PlacementDescription) SetUpdatedDate(v time.Time) *PlacementDescription { 2899 s.UpdatedDate = &v 2900 return s 2901 } 2902 2903 // An object providing summary information for a particular placement. 2904 type PlacementSummary struct { 2905 _ struct{} `type:"structure"` 2906 2907 // The date when the placement was originally created, in UNIX epoch time format. 2908 // 2909 // CreatedDate is a required field 2910 CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" required:"true"` 2911 2912 // The name of the placement being summarized. 2913 // 2914 // PlacementName is a required field 2915 PlacementName *string `locationName:"placementName" min:"1" type:"string" required:"true"` 2916 2917 // The name of the project containing the placement. 2918 // 2919 // ProjectName is a required field 2920 ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` 2921 2922 // The date when the placement was last updated, in UNIX epoch time format. 2923 // If the placement was not updated, then createdDate and updatedDate are the 2924 // same. 2925 // 2926 // UpdatedDate is a required field 2927 UpdatedDate *time.Time `locationName:"updatedDate" type:"timestamp" required:"true"` 2928 } 2929 2930 // String returns the string representation. 2931 // 2932 // API parameter values that are decorated as "sensitive" in the API will not 2933 // be included in the string output. The member name will be present, but the 2934 // value will be replaced with "sensitive". 2935 func (s PlacementSummary) String() string { 2936 return awsutil.Prettify(s) 2937 } 2938 2939 // GoString returns the string representation. 2940 // 2941 // API parameter values that are decorated as "sensitive" in the API will not 2942 // be included in the string output. The member name will be present, but the 2943 // value will be replaced with "sensitive". 2944 func (s PlacementSummary) GoString() string { 2945 return s.String() 2946 } 2947 2948 // SetCreatedDate sets the CreatedDate field's value. 2949 func (s *PlacementSummary) SetCreatedDate(v time.Time) *PlacementSummary { 2950 s.CreatedDate = &v 2951 return s 2952 } 2953 2954 // SetPlacementName sets the PlacementName field's value. 2955 func (s *PlacementSummary) SetPlacementName(v string) *PlacementSummary { 2956 s.PlacementName = &v 2957 return s 2958 } 2959 2960 // SetProjectName sets the ProjectName field's value. 2961 func (s *PlacementSummary) SetProjectName(v string) *PlacementSummary { 2962 s.ProjectName = &v 2963 return s 2964 } 2965 2966 // SetUpdatedDate sets the UpdatedDate field's value. 2967 func (s *PlacementSummary) SetUpdatedDate(v time.Time) *PlacementSummary { 2968 s.UpdatedDate = &v 2969 return s 2970 } 2971 2972 // An object defining the template for a placement. 2973 type PlacementTemplate struct { 2974 _ struct{} `type:"structure"` 2975 2976 // The default attributes (key/value pairs) to be applied to all placements 2977 // using this template. 2978 DefaultAttributes map[string]*string `locationName:"defaultAttributes" type:"map"` 2979 2980 // An object specifying the DeviceTemplate for all placements using this (PlacementTemplate) 2981 // template. 2982 DeviceTemplates map[string]*DeviceTemplate `locationName:"deviceTemplates" type:"map"` 2983 } 2984 2985 // String returns the string representation. 2986 // 2987 // API parameter values that are decorated as "sensitive" in the API will not 2988 // be included in the string output. The member name will be present, but the 2989 // value will be replaced with "sensitive". 2990 func (s PlacementTemplate) String() string { 2991 return awsutil.Prettify(s) 2992 } 2993 2994 // GoString returns the string representation. 2995 // 2996 // API parameter values that are decorated as "sensitive" in the API will not 2997 // be included in the string output. The member name will be present, but the 2998 // value will be replaced with "sensitive". 2999 func (s PlacementTemplate) GoString() string { 3000 return s.String() 3001 } 3002 3003 // SetDefaultAttributes sets the DefaultAttributes field's value. 3004 func (s *PlacementTemplate) SetDefaultAttributes(v map[string]*string) *PlacementTemplate { 3005 s.DefaultAttributes = v 3006 return s 3007 } 3008 3009 // SetDeviceTemplates sets the DeviceTemplates field's value. 3010 func (s *PlacementTemplate) SetDeviceTemplates(v map[string]*DeviceTemplate) *PlacementTemplate { 3011 s.DeviceTemplates = v 3012 return s 3013 } 3014 3015 // An object providing detailed information for a particular project associated 3016 // with an AWS account and region. 3017 type ProjectDescription struct { 3018 _ struct{} `type:"structure"` 3019 3020 // The ARN of the project. 3021 Arn *string `locationName:"arn" type:"string"` 3022 3023 // The date when the project was originally created, in UNIX epoch time format. 3024 // 3025 // CreatedDate is a required field 3026 CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" required:"true"` 3027 3028 // The description of the project. 3029 Description *string `locationName:"description" type:"string"` 3030 3031 // An object describing the project's placement specifications. 3032 PlacementTemplate *PlacementTemplate `locationName:"placementTemplate" type:"structure"` 3033 3034 // The name of the project for which to obtain information from. 3035 // 3036 // ProjectName is a required field 3037 ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` 3038 3039 // The tags (metadata key/value pairs) associated with the project. 3040 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 3041 3042 // The date when the project was last updated, in UNIX epoch time format. If 3043 // the project was not updated, then createdDate and updatedDate are the same. 3044 // 3045 // UpdatedDate is a required field 3046 UpdatedDate *time.Time `locationName:"updatedDate" type:"timestamp" required:"true"` 3047 } 3048 3049 // String returns the string representation. 3050 // 3051 // API parameter values that are decorated as "sensitive" in the API will not 3052 // be included in the string output. The member name will be present, but the 3053 // value will be replaced with "sensitive". 3054 func (s ProjectDescription) String() string { 3055 return awsutil.Prettify(s) 3056 } 3057 3058 // GoString returns the string representation. 3059 // 3060 // API parameter values that are decorated as "sensitive" in the API will not 3061 // be included in the string output. The member name will be present, but the 3062 // value will be replaced with "sensitive". 3063 func (s ProjectDescription) GoString() string { 3064 return s.String() 3065 } 3066 3067 // SetArn sets the Arn field's value. 3068 func (s *ProjectDescription) SetArn(v string) *ProjectDescription { 3069 s.Arn = &v 3070 return s 3071 } 3072 3073 // SetCreatedDate sets the CreatedDate field's value. 3074 func (s *ProjectDescription) SetCreatedDate(v time.Time) *ProjectDescription { 3075 s.CreatedDate = &v 3076 return s 3077 } 3078 3079 // SetDescription sets the Description field's value. 3080 func (s *ProjectDescription) SetDescription(v string) *ProjectDescription { 3081 s.Description = &v 3082 return s 3083 } 3084 3085 // SetPlacementTemplate sets the PlacementTemplate field's value. 3086 func (s *ProjectDescription) SetPlacementTemplate(v *PlacementTemplate) *ProjectDescription { 3087 s.PlacementTemplate = v 3088 return s 3089 } 3090 3091 // SetProjectName sets the ProjectName field's value. 3092 func (s *ProjectDescription) SetProjectName(v string) *ProjectDescription { 3093 s.ProjectName = &v 3094 return s 3095 } 3096 3097 // SetTags sets the Tags field's value. 3098 func (s *ProjectDescription) SetTags(v map[string]*string) *ProjectDescription { 3099 s.Tags = v 3100 return s 3101 } 3102 3103 // SetUpdatedDate sets the UpdatedDate field's value. 3104 func (s *ProjectDescription) SetUpdatedDate(v time.Time) *ProjectDescription { 3105 s.UpdatedDate = &v 3106 return s 3107 } 3108 3109 // An object providing summary information for a particular project for an associated 3110 // AWS account and region. 3111 type ProjectSummary struct { 3112 _ struct{} `type:"structure"` 3113 3114 // The ARN of the project. 3115 Arn *string `locationName:"arn" type:"string"` 3116 3117 // The date when the project was originally created, in UNIX epoch time format. 3118 // 3119 // CreatedDate is a required field 3120 CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" required:"true"` 3121 3122 // The name of the project being summarized. 3123 // 3124 // ProjectName is a required field 3125 ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` 3126 3127 // The tags (metadata key/value pairs) associated with the project. 3128 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 3129 3130 // The date when the project was last updated, in UNIX epoch time format. If 3131 // the project was not updated, then createdDate and updatedDate are the same. 3132 // 3133 // UpdatedDate is a required field 3134 UpdatedDate *time.Time `locationName:"updatedDate" type:"timestamp" required:"true"` 3135 } 3136 3137 // String returns the string representation. 3138 // 3139 // API parameter values that are decorated as "sensitive" in the API will not 3140 // be included in the string output. The member name will be present, but the 3141 // value will be replaced with "sensitive". 3142 func (s ProjectSummary) String() string { 3143 return awsutil.Prettify(s) 3144 } 3145 3146 // GoString returns the string representation. 3147 // 3148 // API parameter values that are decorated as "sensitive" in the API will not 3149 // be included in the string output. The member name will be present, but the 3150 // value will be replaced with "sensitive". 3151 func (s ProjectSummary) GoString() string { 3152 return s.String() 3153 } 3154 3155 // SetArn sets the Arn field's value. 3156 func (s *ProjectSummary) SetArn(v string) *ProjectSummary { 3157 s.Arn = &v 3158 return s 3159 } 3160 3161 // SetCreatedDate sets the CreatedDate field's value. 3162 func (s *ProjectSummary) SetCreatedDate(v time.Time) *ProjectSummary { 3163 s.CreatedDate = &v 3164 return s 3165 } 3166 3167 // SetProjectName sets the ProjectName field's value. 3168 func (s *ProjectSummary) SetProjectName(v string) *ProjectSummary { 3169 s.ProjectName = &v 3170 return s 3171 } 3172 3173 // SetTags sets the Tags field's value. 3174 func (s *ProjectSummary) SetTags(v map[string]*string) *ProjectSummary { 3175 s.Tags = v 3176 return s 3177 } 3178 3179 // SetUpdatedDate sets the UpdatedDate field's value. 3180 func (s *ProjectSummary) SetUpdatedDate(v time.Time) *ProjectSummary { 3181 s.UpdatedDate = &v 3182 return s 3183 } 3184 3185 type ResourceConflictException struct { 3186 _ struct{} `type:"structure"` 3187 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3188 3189 Code_ *string `locationName:"code" type:"string"` 3190 3191 Message_ *string `locationName:"message" type:"string"` 3192 } 3193 3194 // String returns the string representation. 3195 // 3196 // API parameter values that are decorated as "sensitive" in the API will not 3197 // be included in the string output. The member name will be present, but the 3198 // value will be replaced with "sensitive". 3199 func (s ResourceConflictException) String() string { 3200 return awsutil.Prettify(s) 3201 } 3202 3203 // GoString returns the string representation. 3204 // 3205 // API parameter values that are decorated as "sensitive" in the API will not 3206 // be included in the string output. The member name will be present, but the 3207 // value will be replaced with "sensitive". 3208 func (s ResourceConflictException) GoString() string { 3209 return s.String() 3210 } 3211 3212 func newErrorResourceConflictException(v protocol.ResponseMetadata) error { 3213 return &ResourceConflictException{ 3214 RespMetadata: v, 3215 } 3216 } 3217 3218 // Code returns the exception type name. 3219 func (s *ResourceConflictException) Code() string { 3220 return "ResourceConflictException" 3221 } 3222 3223 // Message returns the exception's message. 3224 func (s *ResourceConflictException) Message() string { 3225 if s.Message_ != nil { 3226 return *s.Message_ 3227 } 3228 return "" 3229 } 3230 3231 // OrigErr always returns nil, satisfies awserr.Error interface. 3232 func (s *ResourceConflictException) OrigErr() error { 3233 return nil 3234 } 3235 3236 func (s *ResourceConflictException) Error() string { 3237 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 3238 } 3239 3240 // Status code returns the HTTP status code for the request's response error. 3241 func (s *ResourceConflictException) StatusCode() int { 3242 return s.RespMetadata.StatusCode 3243 } 3244 3245 // RequestID returns the service's response RequestID for request. 3246 func (s *ResourceConflictException) RequestID() string { 3247 return s.RespMetadata.RequestID 3248 } 3249 3250 type ResourceNotFoundException struct { 3251 _ struct{} `type:"structure"` 3252 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3253 3254 Code_ *string `locationName:"code" type:"string"` 3255 3256 Message_ *string `locationName:"message" type:"string"` 3257 } 3258 3259 // String returns the string representation. 3260 // 3261 // API parameter values that are decorated as "sensitive" in the API will not 3262 // be included in the string output. The member name will be present, but the 3263 // value will be replaced with "sensitive". 3264 func (s ResourceNotFoundException) String() string { 3265 return awsutil.Prettify(s) 3266 } 3267 3268 // GoString returns the string representation. 3269 // 3270 // API parameter values that are decorated as "sensitive" in the API will not 3271 // be included in the string output. The member name will be present, but the 3272 // value will be replaced with "sensitive". 3273 func (s ResourceNotFoundException) GoString() string { 3274 return s.String() 3275 } 3276 3277 func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 3278 return &ResourceNotFoundException{ 3279 RespMetadata: v, 3280 } 3281 } 3282 3283 // Code returns the exception type name. 3284 func (s *ResourceNotFoundException) Code() string { 3285 return "ResourceNotFoundException" 3286 } 3287 3288 // Message returns the exception's message. 3289 func (s *ResourceNotFoundException) Message() string { 3290 if s.Message_ != nil { 3291 return *s.Message_ 3292 } 3293 return "" 3294 } 3295 3296 // OrigErr always returns nil, satisfies awserr.Error interface. 3297 func (s *ResourceNotFoundException) OrigErr() error { 3298 return nil 3299 } 3300 3301 func (s *ResourceNotFoundException) Error() string { 3302 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 3303 } 3304 3305 // Status code returns the HTTP status code for the request's response error. 3306 func (s *ResourceNotFoundException) StatusCode() int { 3307 return s.RespMetadata.StatusCode 3308 } 3309 3310 // RequestID returns the service's response RequestID for request. 3311 func (s *ResourceNotFoundException) RequestID() string { 3312 return s.RespMetadata.RequestID 3313 } 3314 3315 type TagResourceInput struct { 3316 _ struct{} `type:"structure"` 3317 3318 // The ARN of the resouce for which tag(s) should be added or modified. 3319 // 3320 // ResourceArn is a required field 3321 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 3322 3323 // The new or modifying tag(s) for the resource. See AWS IoT 1-Click Service 3324 // Limits (https://docs.aws.amazon.com/iot-1-click/latest/developerguide/1click-appendix.html#1click-limits) 3325 // for the maximum number of tags allowed per resource. 3326 // 3327 // Tags is a required field 3328 Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"` 3329 } 3330 3331 // String returns the string representation. 3332 // 3333 // API parameter values that are decorated as "sensitive" in the API will not 3334 // be included in the string output. The member name will be present, but the 3335 // value will be replaced with "sensitive". 3336 func (s TagResourceInput) String() string { 3337 return awsutil.Prettify(s) 3338 } 3339 3340 // GoString returns the string representation. 3341 // 3342 // API parameter values that are decorated as "sensitive" in the API will not 3343 // be included in the string output. The member name will be present, but the 3344 // value will be replaced with "sensitive". 3345 func (s TagResourceInput) GoString() string { 3346 return s.String() 3347 } 3348 3349 // Validate inspects the fields of the type to determine if they are valid. 3350 func (s *TagResourceInput) Validate() error { 3351 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 3352 if s.ResourceArn == nil { 3353 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 3354 } 3355 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 3356 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 3357 } 3358 if s.Tags == nil { 3359 invalidParams.Add(request.NewErrParamRequired("Tags")) 3360 } 3361 if s.Tags != nil && len(s.Tags) < 1 { 3362 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 3363 } 3364 3365 if invalidParams.Len() > 0 { 3366 return invalidParams 3367 } 3368 return nil 3369 } 3370 3371 // SetResourceArn sets the ResourceArn field's value. 3372 func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 3373 s.ResourceArn = &v 3374 return s 3375 } 3376 3377 // SetTags sets the Tags field's value. 3378 func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { 3379 s.Tags = v 3380 return s 3381 } 3382 3383 type TagResourceOutput struct { 3384 _ struct{} `type:"structure" nopayload:"true"` 3385 } 3386 3387 // String returns the string representation. 3388 // 3389 // API parameter values that are decorated as "sensitive" in the API will not 3390 // be included in the string output. The member name will be present, but the 3391 // value will be replaced with "sensitive". 3392 func (s TagResourceOutput) String() string { 3393 return awsutil.Prettify(s) 3394 } 3395 3396 // GoString returns the string representation. 3397 // 3398 // API parameter values that are decorated as "sensitive" in the API will not 3399 // be included in the string output. The member name will be present, but the 3400 // value will be replaced with "sensitive". 3401 func (s TagResourceOutput) GoString() string { 3402 return s.String() 3403 } 3404 3405 type TooManyRequestsException struct { 3406 _ struct{} `type:"structure"` 3407 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3408 3409 Code_ *string `locationName:"code" type:"string"` 3410 3411 Message_ *string `locationName:"message" type:"string"` 3412 } 3413 3414 // String returns the string representation. 3415 // 3416 // API parameter values that are decorated as "sensitive" in the API will not 3417 // be included in the string output. The member name will be present, but the 3418 // value will be replaced with "sensitive". 3419 func (s TooManyRequestsException) String() string { 3420 return awsutil.Prettify(s) 3421 } 3422 3423 // GoString returns the string representation. 3424 // 3425 // API parameter values that are decorated as "sensitive" in the API will not 3426 // be included in the string output. The member name will be present, but the 3427 // value will be replaced with "sensitive". 3428 func (s TooManyRequestsException) GoString() string { 3429 return s.String() 3430 } 3431 3432 func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error { 3433 return &TooManyRequestsException{ 3434 RespMetadata: v, 3435 } 3436 } 3437 3438 // Code returns the exception type name. 3439 func (s *TooManyRequestsException) Code() string { 3440 return "TooManyRequestsException" 3441 } 3442 3443 // Message returns the exception's message. 3444 func (s *TooManyRequestsException) Message() string { 3445 if s.Message_ != nil { 3446 return *s.Message_ 3447 } 3448 return "" 3449 } 3450 3451 // OrigErr always returns nil, satisfies awserr.Error interface. 3452 func (s *TooManyRequestsException) OrigErr() error { 3453 return nil 3454 } 3455 3456 func (s *TooManyRequestsException) Error() string { 3457 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 3458 } 3459 3460 // Status code returns the HTTP status code for the request's response error. 3461 func (s *TooManyRequestsException) StatusCode() int { 3462 return s.RespMetadata.StatusCode 3463 } 3464 3465 // RequestID returns the service's response RequestID for request. 3466 func (s *TooManyRequestsException) RequestID() string { 3467 return s.RespMetadata.RequestID 3468 } 3469 3470 type UntagResourceInput struct { 3471 _ struct{} `type:"structure" nopayload:"true"` 3472 3473 // The ARN of the resource whose tag you want to remove. 3474 // 3475 // ResourceArn is a required field 3476 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 3477 3478 // The keys of those tags which you want to remove. 3479 // 3480 // TagKeys is a required field 3481 TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"` 3482 } 3483 3484 // String returns the string representation. 3485 // 3486 // API parameter values that are decorated as "sensitive" in the API will not 3487 // be included in the string output. The member name will be present, but the 3488 // value will be replaced with "sensitive". 3489 func (s UntagResourceInput) String() string { 3490 return awsutil.Prettify(s) 3491 } 3492 3493 // GoString returns the string representation. 3494 // 3495 // API parameter values that are decorated as "sensitive" in the API will not 3496 // be included in the string output. The member name will be present, but the 3497 // value will be replaced with "sensitive". 3498 func (s UntagResourceInput) GoString() string { 3499 return s.String() 3500 } 3501 3502 // Validate inspects the fields of the type to determine if they are valid. 3503 func (s *UntagResourceInput) Validate() error { 3504 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 3505 if s.ResourceArn == nil { 3506 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 3507 } 3508 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 3509 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 3510 } 3511 if s.TagKeys == nil { 3512 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 3513 } 3514 if s.TagKeys != nil && len(s.TagKeys) < 1 { 3515 invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) 3516 } 3517 3518 if invalidParams.Len() > 0 { 3519 return invalidParams 3520 } 3521 return nil 3522 } 3523 3524 // SetResourceArn sets the ResourceArn field's value. 3525 func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 3526 s.ResourceArn = &v 3527 return s 3528 } 3529 3530 // SetTagKeys sets the TagKeys field's value. 3531 func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 3532 s.TagKeys = v 3533 return s 3534 } 3535 3536 type UntagResourceOutput struct { 3537 _ struct{} `type:"structure" nopayload:"true"` 3538 } 3539 3540 // String returns the string representation. 3541 // 3542 // API parameter values that are decorated as "sensitive" in the API will not 3543 // be included in the string output. The member name will be present, but the 3544 // value will be replaced with "sensitive". 3545 func (s UntagResourceOutput) String() string { 3546 return awsutil.Prettify(s) 3547 } 3548 3549 // GoString returns the string representation. 3550 // 3551 // API parameter values that are decorated as "sensitive" in the API will not 3552 // be included in the string output. The member name will be present, but the 3553 // value will be replaced with "sensitive". 3554 func (s UntagResourceOutput) GoString() string { 3555 return s.String() 3556 } 3557 3558 type UpdatePlacementInput struct { 3559 _ struct{} `type:"structure"` 3560 3561 // The user-defined object of attributes used to update the placement. The maximum 3562 // number of key/value pairs is 50. 3563 Attributes map[string]*string `locationName:"attributes" type:"map"` 3564 3565 // The name of the placement to update. 3566 // 3567 // PlacementName is a required field 3568 PlacementName *string `location:"uri" locationName:"placementName" min:"1" type:"string" required:"true"` 3569 3570 // The name of the project containing the placement to be updated. 3571 // 3572 // ProjectName is a required field 3573 ProjectName *string `location:"uri" locationName:"projectName" min:"1" type:"string" required:"true"` 3574 } 3575 3576 // String returns the string representation. 3577 // 3578 // API parameter values that are decorated as "sensitive" in the API will not 3579 // be included in the string output. The member name will be present, but the 3580 // value will be replaced with "sensitive". 3581 func (s UpdatePlacementInput) String() string { 3582 return awsutil.Prettify(s) 3583 } 3584 3585 // GoString returns the string representation. 3586 // 3587 // API parameter values that are decorated as "sensitive" in the API will not 3588 // be included in the string output. The member name will be present, but the 3589 // value will be replaced with "sensitive". 3590 func (s UpdatePlacementInput) GoString() string { 3591 return s.String() 3592 } 3593 3594 // Validate inspects the fields of the type to determine if they are valid. 3595 func (s *UpdatePlacementInput) Validate() error { 3596 invalidParams := request.ErrInvalidParams{Context: "UpdatePlacementInput"} 3597 if s.PlacementName == nil { 3598 invalidParams.Add(request.NewErrParamRequired("PlacementName")) 3599 } 3600 if s.PlacementName != nil && len(*s.PlacementName) < 1 { 3601 invalidParams.Add(request.NewErrParamMinLen("PlacementName", 1)) 3602 } 3603 if s.ProjectName == nil { 3604 invalidParams.Add(request.NewErrParamRequired("ProjectName")) 3605 } 3606 if s.ProjectName != nil && len(*s.ProjectName) < 1 { 3607 invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) 3608 } 3609 3610 if invalidParams.Len() > 0 { 3611 return invalidParams 3612 } 3613 return nil 3614 } 3615 3616 // SetAttributes sets the Attributes field's value. 3617 func (s *UpdatePlacementInput) SetAttributes(v map[string]*string) *UpdatePlacementInput { 3618 s.Attributes = v 3619 return s 3620 } 3621 3622 // SetPlacementName sets the PlacementName field's value. 3623 func (s *UpdatePlacementInput) SetPlacementName(v string) *UpdatePlacementInput { 3624 s.PlacementName = &v 3625 return s 3626 } 3627 3628 // SetProjectName sets the ProjectName field's value. 3629 func (s *UpdatePlacementInput) SetProjectName(v string) *UpdatePlacementInput { 3630 s.ProjectName = &v 3631 return s 3632 } 3633 3634 type UpdatePlacementOutput struct { 3635 _ struct{} `type:"structure" nopayload:"true"` 3636 } 3637 3638 // String returns the string representation. 3639 // 3640 // API parameter values that are decorated as "sensitive" in the API will not 3641 // be included in the string output. The member name will be present, but the 3642 // value will be replaced with "sensitive". 3643 func (s UpdatePlacementOutput) String() string { 3644 return awsutil.Prettify(s) 3645 } 3646 3647 // GoString returns the string representation. 3648 // 3649 // API parameter values that are decorated as "sensitive" in the API will not 3650 // be included in the string output. The member name will be present, but the 3651 // value will be replaced with "sensitive". 3652 func (s UpdatePlacementOutput) GoString() string { 3653 return s.String() 3654 } 3655 3656 type UpdateProjectInput struct { 3657 _ struct{} `type:"structure"` 3658 3659 // An optional user-defined description for the project. 3660 Description *string `locationName:"description" type:"string"` 3661 3662 // An object defining the project update. Once a project has been created, you 3663 // cannot add device template names to the project. However, for a given placementTemplate, 3664 // you can update the associated callbackOverrides for the device definition 3665 // using this API. 3666 PlacementTemplate *PlacementTemplate `locationName:"placementTemplate" type:"structure"` 3667 3668 // The name of the project to be updated. 3669 // 3670 // ProjectName is a required field 3671 ProjectName *string `location:"uri" locationName:"projectName" min:"1" type:"string" required:"true"` 3672 } 3673 3674 // String returns the string representation. 3675 // 3676 // API parameter values that are decorated as "sensitive" in the API will not 3677 // be included in the string output. The member name will be present, but the 3678 // value will be replaced with "sensitive". 3679 func (s UpdateProjectInput) String() string { 3680 return awsutil.Prettify(s) 3681 } 3682 3683 // GoString returns the string representation. 3684 // 3685 // API parameter values that are decorated as "sensitive" in the API will not 3686 // be included in the string output. The member name will be present, but the 3687 // value will be replaced with "sensitive". 3688 func (s UpdateProjectInput) GoString() string { 3689 return s.String() 3690 } 3691 3692 // Validate inspects the fields of the type to determine if they are valid. 3693 func (s *UpdateProjectInput) Validate() error { 3694 invalidParams := request.ErrInvalidParams{Context: "UpdateProjectInput"} 3695 if s.ProjectName == nil { 3696 invalidParams.Add(request.NewErrParamRequired("ProjectName")) 3697 } 3698 if s.ProjectName != nil && len(*s.ProjectName) < 1 { 3699 invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) 3700 } 3701 3702 if invalidParams.Len() > 0 { 3703 return invalidParams 3704 } 3705 return nil 3706 } 3707 3708 // SetDescription sets the Description field's value. 3709 func (s *UpdateProjectInput) SetDescription(v string) *UpdateProjectInput { 3710 s.Description = &v 3711 return s 3712 } 3713 3714 // SetPlacementTemplate sets the PlacementTemplate field's value. 3715 func (s *UpdateProjectInput) SetPlacementTemplate(v *PlacementTemplate) *UpdateProjectInput { 3716 s.PlacementTemplate = v 3717 return s 3718 } 3719 3720 // SetProjectName sets the ProjectName field's value. 3721 func (s *UpdateProjectInput) SetProjectName(v string) *UpdateProjectInput { 3722 s.ProjectName = &v 3723 return s 3724 } 3725 3726 type UpdateProjectOutput struct { 3727 _ struct{} `type:"structure" nopayload:"true"` 3728 } 3729 3730 // String returns the string representation. 3731 // 3732 // API parameter values that are decorated as "sensitive" in the API will not 3733 // be included in the string output. The member name will be present, but the 3734 // value will be replaced with "sensitive". 3735 func (s UpdateProjectOutput) String() string { 3736 return awsutil.Prettify(s) 3737 } 3738 3739 // GoString returns the string representation. 3740 // 3741 // API parameter values that are decorated as "sensitive" in the API will not 3742 // be included in the string output. The member name will be present, but the 3743 // value will be replaced with "sensitive". 3744 func (s UpdateProjectOutput) GoString() string { 3745 return s.String() 3746 }