1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package types 4 5import ( 6 "time" 7) 8 9// Describes a modification to the configuration of Bring Your Own License (BYOL) 10// for the specified account. 11type AccountModification struct { 12 13 // The IP address range, specified as an IPv4 CIDR block, for the management 14 // network interface used for the account. 15 DedicatedTenancyManagementCidrRange *string 16 17 // The status of BYOL (whether BYOL is being enabled or disabled). 18 DedicatedTenancySupport DedicatedTenancySupportResultEnum 19 20 // The error code that is returned if the configuration of BYOL cannot be modified. 21 ErrorCode *string 22 23 // The text of the error message that is returned if the configuration of BYOL 24 // cannot be modified. 25 ErrorMessage *string 26 27 // The state of the modification to the configuration of BYOL. 28 ModificationState DedicatedTenancyModificationStateEnum 29 30 // The timestamp when the modification of the BYOL configuration was started. 31 StartTime *time.Time 32} 33 34// Describes an Amazon WorkSpaces client. 35type ClientProperties struct { 36 37 // Specifies whether users can cache their credentials on the Amazon WorkSpaces 38 // client. When enabled, users can choose to reconnect to their WorkSpaces without 39 // re-entering their credentials. 40 ReconnectEnabled ReconnectEnum 41} 42 43// Information about the Amazon WorkSpaces client. 44type ClientPropertiesResult struct { 45 46 // Information about the Amazon WorkSpaces client. 47 ClientProperties *ClientProperties 48 49 // The resource identifier, in the form of a directory ID. 50 ResourceId *string 51} 52 53// Describes the compute type of the bundle. 54type ComputeType struct { 55 56 // The compute type. 57 Name Compute 58} 59 60// Describes a connection alias. Connection aliases are used for cross-Region 61// redirection. For more information, see Cross-Region Redirection for Amazon 62// WorkSpaces 63// (https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html). 64type ConnectionAlias struct { 65 66 // The identifier of the connection alias. 67 AliasId *string 68 69 // The association status of the connection alias. 70 Associations []ConnectionAliasAssociation 71 72 // The connection string specified for the connection alias. The connection string 73 // must be in the form of a fully qualified domain name (FQDN), such as 74 // www.example.com. 75 ConnectionString *string 76 77 // The identifier of the AWS account that owns the connection alias. 78 OwnerAccountId *string 79 80 // The current state of the connection alias. 81 State ConnectionAliasState 82} 83 84// Describes a connection alias association that is used for cross-Region 85// redirection. For more information, see Cross-Region Redirection for Amazon 86// WorkSpaces 87// (https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html). 88type ConnectionAliasAssociation struct { 89 90 // The identifier of the AWS account that associated the connection alias with a 91 // directory. 92 AssociatedAccountId *string 93 94 // The association status of the connection alias. 95 AssociationStatus AssociationStatus 96 97 // The identifier of the connection alias association. You use the connection 98 // identifier in the DNS TXT record when you're configuring your DNS routing 99 // policies. 100 ConnectionIdentifier *string 101 102 // The identifier of the directory associated with a connection alias. 103 ResourceId *string 104} 105 106// Describes the permissions for a connection alias. Connection aliases are used 107// for cross-Region redirection. For more information, see Cross-Region 108// Redirection for Amazon WorkSpaces 109// (https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html). 110type ConnectionAliasPermission struct { 111 112 // Indicates whether the specified AWS account is allowed to associate the 113 // connection alias with a directory. 114 // 115 // This member is required. 116 AllowAssociation *bool 117 118 // The identifier of the AWS account that the connection alias is shared with. 119 // 120 // This member is required. 121 SharedAccountId *string 122} 123 124// Describes the default values that are used to create WorkSpaces. For more 125// information, see Update Directory Details for Your WorkSpaces 126// (https://docs.aws.amazon.com/workspaces/latest/adminguide/update-directory-details.html). 127type DefaultWorkspaceCreationProperties struct { 128 129 // The identifier of the default security group to apply to WorkSpaces when they 130 // are created. For more information, see Security Groups for Your WorkSpaces 131 // (https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-security-groups.html). 132 CustomSecurityGroupId *string 133 134 // The organizational unit (OU) in the directory for the WorkSpace machine 135 // accounts. 136 DefaultOu *string 137 138 // Specifies whether to automatically assign an Elastic public IP address to 139 // WorkSpaces in this directory by default. If enabled, the Elastic public IP 140 // address allows outbound internet access from your WorkSpaces when you’re using 141 // an internet gateway in the Amazon VPC in which your WorkSpaces are located. If 142 // you're using a Network Address Translation (NAT) gateway for outbound internet 143 // access from your VPC, or if your WorkSpaces are in public subnets and you 144 // manually assign them Elastic IP addresses, you should disable this setting. This 145 // setting applies to new WorkSpaces that you launch or to existing WorkSpaces that 146 // you rebuild. For more information, see Configure a VPC for Amazon WorkSpaces 147 // (https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-vpc.html). 148 EnableInternetAccess *bool 149 150 // Specifies whether maintenance mode is enabled for WorkSpaces. For more 151 // information, see WorkSpace Maintenance 152 // (https://docs.aws.amazon.com/workspaces/latest/adminguide/workspace-maintenance.html). 153 EnableMaintenanceMode *bool 154 155 // Specifies whether the directory is enabled for Amazon WorkDocs. 156 EnableWorkDocs *bool 157 158 // Specifies whether WorkSpace users are local administrators on their WorkSpaces. 159 UserEnabledAsLocalAdministrator *bool 160} 161 162// Describes a WorkSpace that cannot be created. 163type FailedCreateWorkspaceRequest struct { 164 165 // The error code that is returned if the WorkSpace cannot be created. 166 ErrorCode *string 167 168 // The text of the error message that is returned if the WorkSpace cannot be 169 // created. 170 ErrorMessage *string 171 172 // Information about the WorkSpace. 173 WorkspaceRequest *WorkspaceRequest 174} 175 176// Describes a WorkSpace that could not be rebooted. (RebootWorkspaces), rebuilt 177// (RebuildWorkspaces), restored (RestoreWorkspace), terminated 178// (TerminateWorkspaces), started (StartWorkspaces), or stopped (StopWorkspaces). 179type FailedWorkspaceChangeRequest struct { 180 181 // The error code that is returned if the WorkSpace cannot be rebooted. 182 ErrorCode *string 183 184 // The text of the error message that is returned if the WorkSpace cannot be 185 // rebooted. 186 ErrorMessage *string 187 188 // The identifier of the WorkSpace. 189 WorkspaceId *string 190} 191 192// Describes the AWS accounts that have been granted permission to use a shared 193// image. For more information about sharing images, see Share or Unshare a Custom 194// WorkSpaces Image 195// (https://docs.aws.amazon.com/workspaces/latest/adminguide/share-custom-image.html). 196type ImagePermission struct { 197 198 // The identifier of the AWS account that an image has been shared with. 199 SharedAccountId *string 200} 201 202// Describes a rule for an IP access control group. 203type IpRuleItem struct { 204 205 // The IP address range, in CIDR notation. 206 IpRule *string 207 208 // The description. 209 RuleDesc *string 210} 211 212// Describes a WorkSpace modification. 213type ModificationState struct { 214 215 // The resource. 216 Resource ModificationResourceEnum 217 218 // The modification state. 219 State ModificationStateEnum 220} 221 222// The operating system that the image is running. 223type OperatingSystem struct { 224 225 // The operating system. 226 Type OperatingSystemType 227} 228 229// Describes the information used to reboot a WorkSpace. 230type RebootRequest struct { 231 232 // The identifier of the WorkSpace. 233 // 234 // This member is required. 235 WorkspaceId *string 236} 237 238// Describes the information used to rebuild a WorkSpace. 239type RebuildRequest struct { 240 241 // The identifier of the WorkSpace. 242 // 243 // This member is required. 244 WorkspaceId *string 245} 246 247// Describes the root volume for a WorkSpace bundle. 248type RootStorage struct { 249 250 // The size of the root volume. 251 Capacity *string 252} 253 254// Describes the self-service permissions for a directory. For more information, 255// see Enable Self-Service WorkSpace Management Capabilities for Your Users 256// (https://docs.aws.amazon.com/workspaces/latest/adminguide/enable-user-self-service-workspace-management.html). 257type SelfservicePermissions struct { 258 259 // Specifies whether users can change the compute type (bundle) for their 260 // WorkSpace. 261 ChangeComputeType ReconnectEnum 262 263 // Specifies whether users can increase the volume size of the drives on their 264 // WorkSpace. 265 IncreaseVolumeSize ReconnectEnum 266 267 // Specifies whether users can rebuild the operating system of a WorkSpace to its 268 // original state. 269 RebuildWorkspace ReconnectEnum 270 271 // Specifies whether users can restart their WorkSpace. 272 RestartWorkspace ReconnectEnum 273 274 // Specifies whether users can switch the running mode of their WorkSpace. 275 SwitchRunningMode ReconnectEnum 276} 277 278// Describes a snapshot. 279type Snapshot struct { 280 281 // The time when the snapshot was created. 282 SnapshotTime *time.Time 283} 284 285// Information used to start a WorkSpace. 286type StartRequest struct { 287 288 // The identifier of the WorkSpace. 289 WorkspaceId *string 290} 291 292// Describes the information used to stop a WorkSpace. 293type StopRequest struct { 294 295 // The identifier of the WorkSpace. 296 WorkspaceId *string 297} 298 299// Describes a tag. 300type Tag struct { 301 302 // The key of the tag. 303 // 304 // This member is required. 305 Key *string 306 307 // The value of the tag. 308 Value *string 309} 310 311// Describes the information used to terminate a WorkSpace. 312type TerminateRequest struct { 313 314 // The identifier of the WorkSpace. 315 // 316 // This member is required. 317 WorkspaceId *string 318} 319 320// Describes the user volume for a WorkSpace bundle. 321type UserStorage struct { 322 323 // The size of the user volume. 324 Capacity *string 325} 326 327// Describes a WorkSpace. 328type Workspace struct { 329 330 // The identifier of the bundle used to create the WorkSpace. 331 BundleId *string 332 333 // The name of the WorkSpace, as seen by the operating system. The format of this 334 // name varies. For more information, see Launch a WorkSpace 335 // (https://docs.aws.amazon.com/workspaces/latest/adminguide/launch-workspaces-tutorials.html). 336 ComputerName *string 337 338 // The identifier of the AWS Directory Service directory for the WorkSpace. 339 DirectoryId *string 340 341 // The error code that is returned if the WorkSpace cannot be created. 342 ErrorCode *string 343 344 // The text of the error message that is returned if the WorkSpace cannot be 345 // created. 346 ErrorMessage *string 347 348 // The IP address of the WorkSpace. 349 IpAddress *string 350 351 // The modification states of the WorkSpace. 352 ModificationStates []ModificationState 353 354 // Indicates whether the data stored on the root volume is encrypted. 355 RootVolumeEncryptionEnabled *bool 356 357 // The operational state of the WorkSpace. After a WorkSpace is terminated, the 358 // TERMINATED state is returned only briefly before the WorkSpace directory 359 // metadata is cleaned up, so this state is rarely returned. To confirm that a 360 // WorkSpace is terminated, check for the WorkSpace ID by using DescribeWorkSpaces 361 // (https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaces.html). 362 // If the WorkSpace ID isn't returned, then the WorkSpace has been successfully 363 // terminated. 364 State WorkspaceState 365 366 // The identifier of the subnet for the WorkSpace. 367 SubnetId *string 368 369 // The user for the WorkSpace. 370 UserName *string 371 372 // Indicates whether the data stored on the user volume is encrypted. 373 UserVolumeEncryptionEnabled *bool 374 375 // The symmetric AWS KMS customer master key (CMK) used to encrypt data stored on 376 // your WorkSpace. Amazon WorkSpaces does not support asymmetric CMKs. 377 VolumeEncryptionKey *string 378 379 // The identifier of the WorkSpace. 380 WorkspaceId *string 381 382 // The properties of the WorkSpace. 383 WorkspaceProperties *WorkspaceProperties 384} 385 386// The device types and operating systems that can be used to access a WorkSpace. 387// For more information, see Amazon WorkSpaces Client Network Requirements 388// (https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-network-requirements.html). 389type WorkspaceAccessProperties struct { 390 391 // Indicates whether users can use Android devices to access their WorkSpaces. 392 DeviceTypeAndroid AccessPropertyValue 393 394 // Indicates whether users can use Chromebooks to access their WorkSpaces. 395 DeviceTypeChromeOs AccessPropertyValue 396 397 // Indicates whether users can use iOS devices to access their WorkSpaces. 398 DeviceTypeIos AccessPropertyValue 399 400 // Indicates whether users can use macOS clients to access their WorkSpaces. To 401 // restrict WorkSpaces access to trusted devices (also known as managed devices) 402 // with valid certificates, specify a value of TRUST. For more information, see 403 // Restrict WorkSpaces Access to Trusted Devices 404 // (https://docs.aws.amazon.com/workspaces/latest/adminguide/trusted-devices.html). 405 DeviceTypeOsx AccessPropertyValue 406 407 // Indicates whether users can access their WorkSpaces through a web browser. 408 DeviceTypeWeb AccessPropertyValue 409 410 // Indicates whether users can use Windows clients to access their WorkSpaces. To 411 // restrict WorkSpaces access to trusted devices (also known as managed devices) 412 // with valid certificates, specify a value of TRUST. For more information, see 413 // Restrict WorkSpaces Access to Trusted Devices 414 // (https://docs.aws.amazon.com/workspaces/latest/adminguide/trusted-devices.html). 415 DeviceTypeWindows AccessPropertyValue 416 417 // Indicates whether users can use zero client devices to access their WorkSpaces. 418 DeviceTypeZeroClient AccessPropertyValue 419} 420 421// Describes a WorkSpace bundle. 422type WorkspaceBundle struct { 423 424 // The identifier of the bundle. 425 BundleId *string 426 427 // The compute type of the bundle. For more information, see Amazon WorkSpaces 428 // Bundles (http://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles). 429 ComputeType *ComputeType 430 431 // The time when the bundle was created. 432 CreationTime *time.Time 433 434 // The description of the bundle. 435 Description *string 436 437 // The identifier of the image that was used to create the bundle. 438 ImageId *string 439 440 // The last time that the bundle was updated. 441 LastUpdatedTime *time.Time 442 443 // The name of the bundle. 444 Name *string 445 446 // The owner of the bundle. This is the account identifier of the owner, or AMAZON 447 // if the bundle is provided by AWS. 448 Owner *string 449 450 // The size of the root volume. 451 RootStorage *RootStorage 452 453 // The size of the user volume. 454 UserStorage *UserStorage 455} 456 457// Describes the connection status of a WorkSpace. 458type WorkspaceConnectionStatus struct { 459 460 // The connection state of the WorkSpace. The connection state is unknown if the 461 // WorkSpace is stopped. 462 ConnectionState ConnectionState 463 464 // The timestamp of the connection status check. 465 ConnectionStateCheckTimestamp *time.Time 466 467 // The timestamp of the last known user connection. 468 LastKnownUserConnectionTimestamp *time.Time 469 470 // The identifier of the WorkSpace. 471 WorkspaceId *string 472} 473 474// Describes the default properties that are used for creating WorkSpaces. For more 475// information, see Update Directory Details for Your WorkSpaces 476// (https://docs.aws.amazon.com/workspaces/latest/adminguide/update-directory-details.html). 477type WorkspaceCreationProperties struct { 478 479 // The identifier of your custom security group. 480 CustomSecurityGroupId *string 481 482 // The default organizational unit (OU) for your WorkSpaces directories. This 483 // string must be the full Lightweight Directory Access Protocol (LDAP) 484 // distinguished name for the target domain and OU. It must be in the form 485 // "OU=value,DC=value,DC=value", where value is any string of characters, and the 486 // number of domain components (DCs) is two or more. For example, 487 // OU=WorkSpaces_machines,DC=machines,DC=example,DC=com. 488 // 489 // * To avoid errors, 490 // certain characters in the distinguished name must be escaped. For more 491 // information, see Distinguished Names 492 // (https://docs.microsoft.com/previous-versions/windows/desktop/ldap/distinguished-names) 493 // in the Microsoft documentation. 494 // 495 // * The API doesn't validate whether the OU 496 // exists. 497 DefaultOu *string 498 499 // Indicates whether internet access is enabled for your WorkSpaces. 500 EnableInternetAccess *bool 501 502 // Indicates whether maintenance mode is enabled for your WorkSpaces. For more 503 // information, see WorkSpace Maintenance 504 // (https://docs.aws.amazon.com/workspaces/latest/adminguide/workspace-maintenance.html). 505 EnableMaintenanceMode *bool 506 507 // Indicates whether Amazon WorkDocs is enabled for your WorkSpaces. 508 // 509 // If WorkDocs 510 // is already enabled for a WorkSpaces directory and you disable it, new WorkSpaces 511 // launched in the directory will not have WorkDocs enabled. However, WorkDocs 512 // remains enabled for any existing WorkSpaces, unless you either disable users' 513 // access to WorkDocs or you delete the WorkDocs site. To disable users' access to 514 // WorkDocs, see Disabling Users 515 // (https://docs.aws.amazon.com/workdocs/latest/adminguide/inactive-user.html) in 516 // the Amazon WorkDocs Administration Guide. To delete a WorkDocs site, see 517 // Deleting a Site 518 // (https://docs.aws.amazon.com/workdocs/latest/adminguide/manage-sites.html) in 519 // the Amazon WorkDocs Administration Guide. If you enable WorkDocs on a directory 520 // that already has existing WorkSpaces, the existing WorkSpaces and any new 521 // WorkSpaces that are launched in the directory will have WorkDocs enabled. 522 EnableWorkDocs *bool 523 524 // Indicates whether users are local administrators of their WorkSpaces. 525 UserEnabledAsLocalAdministrator *bool 526} 527 528// Describes a directory that is used with Amazon WorkSpaces. 529type WorkspaceDirectory struct { 530 531 // The directory alias. 532 Alias *string 533 534 // The user name for the service account. 535 CustomerUserName *string 536 537 // The directory identifier. 538 DirectoryId *string 539 540 // The name of the directory. 541 DirectoryName *string 542 543 // The directory type. 544 DirectoryType WorkspaceDirectoryType 545 546 // The IP addresses of the DNS servers for the directory. 547 DnsIpAddresses []string 548 549 // The identifier of the IAM role. This is the role that allows Amazon WorkSpaces 550 // to make calls to other services, such as Amazon EC2, on your behalf. 551 IamRoleId *string 552 553 // The identifiers of the IP access control groups associated with the directory. 554 IpGroupIds []string 555 556 // The registration code for the directory. This is the code that users enter in 557 // their Amazon WorkSpaces client application to connect to the directory. 558 RegistrationCode *string 559 560 // The default self-service permissions for WorkSpaces in the directory. 561 SelfservicePermissions *SelfservicePermissions 562 563 // The state of the directory's registration with Amazon WorkSpaces. After a 564 // directory is deregistered, the DEREGISTERED state is returned very briefly 565 // before the directory metadata is cleaned up, so this state is rarely returned. 566 // To confirm that a directory is deregistered, check for the directory ID by using 567 // DescribeWorkspaceDirectories 568 // (https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceDirectories.html). 569 // If the directory ID isn't returned, then the directory has been successfully 570 // deregistered. 571 State WorkspaceDirectoryState 572 573 // The identifiers of the subnets used with the directory. 574 SubnetIds []string 575 576 // Specifies whether the directory is dedicated or shared. To use Bring Your Own 577 // License (BYOL), this value must be set to DEDICATED. For more information, see 578 // Bring Your Own Windows Desktop Images 579 // (https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html). 580 Tenancy Tenancy 581 582 // The devices and operating systems that users can use to access WorkSpaces. 583 WorkspaceAccessProperties *WorkspaceAccessProperties 584 585 // The default creation properties for all WorkSpaces in the directory. 586 WorkspaceCreationProperties *DefaultWorkspaceCreationProperties 587 588 // The identifier of the security group that is assigned to new WorkSpaces. 589 WorkspaceSecurityGroupId *string 590} 591 592// Describes a WorkSpace image. 593type WorkspaceImage struct { 594 595 // The date when the image was created. If the image has been shared, the AWS 596 // account that the image has been shared with sees the original creation date of 597 // the image. 598 Created *time.Time 599 600 // The description of the image. 601 Description *string 602 603 // The error code that is returned for the image. 604 ErrorCode *string 605 606 // The text of the error message that is returned for the image. 607 ErrorMessage *string 608 609 // The identifier of the image. 610 ImageId *string 611 612 // The name of the image. 613 Name *string 614 615 // The operating system that the image is running. 616 OperatingSystem *OperatingSystem 617 618 // The identifier of the AWS account that owns the image. 619 OwnerAccountId *string 620 621 // Specifies whether the image is running on dedicated hardware. When Bring Your 622 // Own License (BYOL) is enabled, this value is set to DEDICATED. For more 623 // information, see Bring Your Own Windows Desktop Images 624 // (https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html). 625 RequiredTenancy WorkspaceImageRequiredTenancy 626 627 // The status of the image. 628 State WorkspaceImageState 629} 630 631// Describes a WorkSpace. 632type WorkspaceProperties struct { 633 634 // The compute type. For more information, see Amazon WorkSpaces Bundles 635 // (http://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles). 636 ComputeTypeName Compute 637 638 // The size of the root volume. For important information about how to modify the 639 // size of the root and user volumes, see Modify a WorkSpace 640 // (https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html). 641 RootVolumeSizeGib *int32 642 643 // The running mode. For more information, see Manage the WorkSpace Running Mode 644 // (https://docs.aws.amazon.com/workspaces/latest/adminguide/running-mode.html). 645 RunningMode RunningMode 646 647 // The time after a user logs off when WorkSpaces are automatically stopped. 648 // Configured in 60-minute intervals. 649 RunningModeAutoStopTimeoutInMinutes *int32 650 651 // The size of the user storage. For important information about how to modify the 652 // size of the root and user volumes, see Modify a WorkSpace 653 // (https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html). 654 UserVolumeSizeGib *int32 655} 656 657// Describes the information used to create a WorkSpace. 658type WorkspaceRequest struct { 659 660 // The identifier of the bundle for the WorkSpace. You can use 661 // DescribeWorkspaceBundles to list the available bundles. 662 // 663 // This member is required. 664 BundleId *string 665 666 // The identifier of the AWS Directory Service directory for the WorkSpace. You can 667 // use DescribeWorkspaceDirectories to list the available directories. 668 // 669 // This member is required. 670 DirectoryId *string 671 672 // The user name of the user for the WorkSpace. This user name must exist in the 673 // AWS Directory Service directory for the WorkSpace. 674 // 675 // This member is required. 676 UserName *string 677 678 // Indicates whether the data stored on the root volume is encrypted. 679 RootVolumeEncryptionEnabled *bool 680 681 // The tags for the WorkSpace. 682 Tags []Tag 683 684 // Indicates whether the data stored on the user volume is encrypted. 685 UserVolumeEncryptionEnabled *bool 686 687 // The symmetric AWS KMS customer master key (CMK) used to encrypt data stored on 688 // your WorkSpace. Amazon WorkSpaces does not support asymmetric CMKs. 689 VolumeEncryptionKey *string 690 691 // The WorkSpace properties. 692 WorkspaceProperties *WorkspaceProperties 693} 694 695// Describes an IP access control group. 696type WorkspacesIpGroup struct { 697 698 // The description of the group. 699 GroupDesc *string 700 701 // The identifier of the group. 702 GroupId *string 703 704 // The name of the group. 705 GroupName *string 706 707 // The rules. 708 UserRules []IpRuleItem 709} 710