github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/workspaces/getWorkspace.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package workspaces 5 6 import ( 7 "context" 8 "reflect" 9 10 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Use this data source to get information about a workspace in [AWS Workspaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) Service. 15 // 16 // ## Example Usage 17 // 18 // ### Filter By Workspace ID 19 // 20 // <!--Start PulumiCodeChooser --> 21 // ```go 22 // package main 23 // 24 // import ( 25 // 26 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces" 27 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 28 // 29 // ) 30 // 31 // func main() { 32 // pulumi.Run(func(ctx *pulumi.Context) error { 33 // _, err := workspaces.LookupWorkspace(ctx, &workspaces.LookupWorkspaceArgs{ 34 // WorkspaceId: pulumi.StringRef("ws-cj5xcxsz5"), 35 // }, nil) 36 // if err != nil { 37 // return err 38 // } 39 // return nil 40 // }) 41 // } 42 // 43 // ``` 44 // <!--End PulumiCodeChooser --> 45 // 46 // ### Filter By Directory ID & User Name 47 // 48 // <!--Start PulumiCodeChooser --> 49 // ```go 50 // package main 51 // 52 // import ( 53 // 54 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/workspaces" 55 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 56 // 57 // ) 58 // 59 // func main() { 60 // pulumi.Run(func(ctx *pulumi.Context) error { 61 // _, err := workspaces.LookupWorkspace(ctx, &workspaces.LookupWorkspaceArgs{ 62 // DirectoryId: pulumi.StringRef("d-9967252f57"), 63 // UserName: pulumi.StringRef("Example"), 64 // }, nil) 65 // if err != nil { 66 // return err 67 // } 68 // return nil 69 // }) 70 // } 71 // 72 // ``` 73 // <!--End PulumiCodeChooser --> 74 func LookupWorkspace(ctx *pulumi.Context, args *LookupWorkspaceArgs, opts ...pulumi.InvokeOption) (*LookupWorkspaceResult, error) { 75 opts = internal.PkgInvokeDefaultOpts(opts) 76 var rv LookupWorkspaceResult 77 err := ctx.Invoke("aws:workspaces/getWorkspace:getWorkspace", args, &rv, opts...) 78 if err != nil { 79 return nil, err 80 } 81 return &rv, nil 82 } 83 84 // A collection of arguments for invoking getWorkspace. 85 type LookupWorkspaceArgs struct { 86 // ID of the directory for the WorkSpace. You have to specify `userName` along with `directoryId`. You cannot combine this parameter with `workspaceId`. 87 DirectoryId *string `pulumi:"directoryId"` 88 // Tags for the WorkSpace. 89 Tags map[string]string `pulumi:"tags"` 90 // User name of the user for the WorkSpace. This user name must exist in the directory for the WorkSpace. You cannot combine this parameter with `workspaceId`. 91 UserName *string `pulumi:"userName"` 92 // ID of the WorkSpace. You cannot combine this parameter with `directoryId`. 93 WorkspaceId *string `pulumi:"workspaceId"` 94 } 95 96 // A collection of values returned by getWorkspace. 97 type LookupWorkspaceResult struct { 98 BundleId string `pulumi:"bundleId"` 99 // Name of the WorkSpace, as seen by the operating system. 100 ComputerName string `pulumi:"computerName"` 101 DirectoryId string `pulumi:"directoryId"` 102 // The provider-assigned unique ID for this managed resource. 103 Id string `pulumi:"id"` 104 // IP address of the WorkSpace. 105 IpAddress string `pulumi:"ipAddress"` 106 RootVolumeEncryptionEnabled bool `pulumi:"rootVolumeEncryptionEnabled"` 107 // Operational state of the WorkSpace. 108 State string `pulumi:"state"` 109 Tags map[string]string `pulumi:"tags"` 110 UserName string `pulumi:"userName"` 111 UserVolumeEncryptionEnabled bool `pulumi:"userVolumeEncryptionEnabled"` 112 VolumeEncryptionKey string `pulumi:"volumeEncryptionKey"` 113 WorkspaceId string `pulumi:"workspaceId"` 114 WorkspaceProperties []GetWorkspaceWorkspaceProperty `pulumi:"workspaceProperties"` 115 } 116 117 func LookupWorkspaceOutput(ctx *pulumi.Context, args LookupWorkspaceOutputArgs, opts ...pulumi.InvokeOption) LookupWorkspaceResultOutput { 118 return pulumi.ToOutputWithContext(context.Background(), args). 119 ApplyT(func(v interface{}) (LookupWorkspaceResult, error) { 120 args := v.(LookupWorkspaceArgs) 121 r, err := LookupWorkspace(ctx, &args, opts...) 122 var s LookupWorkspaceResult 123 if r != nil { 124 s = *r 125 } 126 return s, err 127 }).(LookupWorkspaceResultOutput) 128 } 129 130 // A collection of arguments for invoking getWorkspace. 131 type LookupWorkspaceOutputArgs struct { 132 // ID of the directory for the WorkSpace. You have to specify `userName` along with `directoryId`. You cannot combine this parameter with `workspaceId`. 133 DirectoryId pulumi.StringPtrInput `pulumi:"directoryId"` 134 // Tags for the WorkSpace. 135 Tags pulumi.StringMapInput `pulumi:"tags"` 136 // User name of the user for the WorkSpace. This user name must exist in the directory for the WorkSpace. You cannot combine this parameter with `workspaceId`. 137 UserName pulumi.StringPtrInput `pulumi:"userName"` 138 // ID of the WorkSpace. You cannot combine this parameter with `directoryId`. 139 WorkspaceId pulumi.StringPtrInput `pulumi:"workspaceId"` 140 } 141 142 func (LookupWorkspaceOutputArgs) ElementType() reflect.Type { 143 return reflect.TypeOf((*LookupWorkspaceArgs)(nil)).Elem() 144 } 145 146 // A collection of values returned by getWorkspace. 147 type LookupWorkspaceResultOutput struct{ *pulumi.OutputState } 148 149 func (LookupWorkspaceResultOutput) ElementType() reflect.Type { 150 return reflect.TypeOf((*LookupWorkspaceResult)(nil)).Elem() 151 } 152 153 func (o LookupWorkspaceResultOutput) ToLookupWorkspaceResultOutput() LookupWorkspaceResultOutput { 154 return o 155 } 156 157 func (o LookupWorkspaceResultOutput) ToLookupWorkspaceResultOutputWithContext(ctx context.Context) LookupWorkspaceResultOutput { 158 return o 159 } 160 161 func (o LookupWorkspaceResultOutput) BundleId() pulumi.StringOutput { 162 return o.ApplyT(func(v LookupWorkspaceResult) string { return v.BundleId }).(pulumi.StringOutput) 163 } 164 165 // Name of the WorkSpace, as seen by the operating system. 166 func (o LookupWorkspaceResultOutput) ComputerName() pulumi.StringOutput { 167 return o.ApplyT(func(v LookupWorkspaceResult) string { return v.ComputerName }).(pulumi.StringOutput) 168 } 169 170 func (o LookupWorkspaceResultOutput) DirectoryId() pulumi.StringOutput { 171 return o.ApplyT(func(v LookupWorkspaceResult) string { return v.DirectoryId }).(pulumi.StringOutput) 172 } 173 174 // The provider-assigned unique ID for this managed resource. 175 func (o LookupWorkspaceResultOutput) Id() pulumi.StringOutput { 176 return o.ApplyT(func(v LookupWorkspaceResult) string { return v.Id }).(pulumi.StringOutput) 177 } 178 179 // IP address of the WorkSpace. 180 func (o LookupWorkspaceResultOutput) IpAddress() pulumi.StringOutput { 181 return o.ApplyT(func(v LookupWorkspaceResult) string { return v.IpAddress }).(pulumi.StringOutput) 182 } 183 184 func (o LookupWorkspaceResultOutput) RootVolumeEncryptionEnabled() pulumi.BoolOutput { 185 return o.ApplyT(func(v LookupWorkspaceResult) bool { return v.RootVolumeEncryptionEnabled }).(pulumi.BoolOutput) 186 } 187 188 // Operational state of the WorkSpace. 189 func (o LookupWorkspaceResultOutput) State() pulumi.StringOutput { 190 return o.ApplyT(func(v LookupWorkspaceResult) string { return v.State }).(pulumi.StringOutput) 191 } 192 193 func (o LookupWorkspaceResultOutput) Tags() pulumi.StringMapOutput { 194 return o.ApplyT(func(v LookupWorkspaceResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) 195 } 196 197 func (o LookupWorkspaceResultOutput) UserName() pulumi.StringOutput { 198 return o.ApplyT(func(v LookupWorkspaceResult) string { return v.UserName }).(pulumi.StringOutput) 199 } 200 201 func (o LookupWorkspaceResultOutput) UserVolumeEncryptionEnabled() pulumi.BoolOutput { 202 return o.ApplyT(func(v LookupWorkspaceResult) bool { return v.UserVolumeEncryptionEnabled }).(pulumi.BoolOutput) 203 } 204 205 func (o LookupWorkspaceResultOutput) VolumeEncryptionKey() pulumi.StringOutput { 206 return o.ApplyT(func(v LookupWorkspaceResult) string { return v.VolumeEncryptionKey }).(pulumi.StringOutput) 207 } 208 209 func (o LookupWorkspaceResultOutput) WorkspaceId() pulumi.StringOutput { 210 return o.ApplyT(func(v LookupWorkspaceResult) string { return v.WorkspaceId }).(pulumi.StringOutput) 211 } 212 213 func (o LookupWorkspaceResultOutput) WorkspaceProperties() GetWorkspaceWorkspacePropertyArrayOutput { 214 return o.ApplyT(func(v LookupWorkspaceResult) []GetWorkspaceWorkspaceProperty { return v.WorkspaceProperties }).(GetWorkspaceWorkspacePropertyArrayOutput) 215 } 216 217 func init() { 218 pulumi.RegisterOutputType(LookupWorkspaceResultOutput{}) 219 }