github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/sagemaker/domain.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 sagemaker 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides a SageMaker Domain resource. 16 // 17 // ## Example Usage 18 // 19 // ### Basic usage 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" 28 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker" 29 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 30 // 31 // ) 32 // 33 // func main() { 34 // pulumi.Run(func(ctx *pulumi.Context) error { 35 // example, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ 36 // Statements: []iam.GetPolicyDocumentStatement{ 37 // { 38 // Actions: []string{ 39 // "sts:AssumeRole", 40 // }, 41 // Principals: []iam.GetPolicyDocumentStatementPrincipal{ 42 // { 43 // Type: "Service", 44 // Identifiers: []string{ 45 // "sagemaker.amazonaws.com", 46 // }, 47 // }, 48 // }, 49 // }, 50 // }, 51 // }, nil) 52 // if err != nil { 53 // return err 54 // } 55 // exampleRole, err := iam.NewRole(ctx, "example", &iam.RoleArgs{ 56 // Name: pulumi.String("example"), 57 // Path: pulumi.String("/"), 58 // AssumeRolePolicy: pulumi.String(example.Json), 59 // }) 60 // if err != nil { 61 // return err 62 // } 63 // _, err = sagemaker.NewDomain(ctx, "example", &sagemaker.DomainArgs{ 64 // DomainName: pulumi.String("example"), 65 // AuthMode: pulumi.String("IAM"), 66 // VpcId: pulumi.Any(exampleAwsVpc.Id), 67 // SubnetIds: pulumi.StringArray{ 68 // exampleAwsSubnet.Id, 69 // }, 70 // DefaultUserSettings: &sagemaker.DomainDefaultUserSettingsArgs{ 71 // ExecutionRole: exampleRole.Arn, 72 // }, 73 // }) 74 // if err != nil { 75 // return err 76 // } 77 // return nil 78 // }) 79 // } 80 // 81 // ``` 82 // <!--End PulumiCodeChooser --> 83 // 84 // ### Using Custom Images 85 // 86 // <!--Start PulumiCodeChooser --> 87 // ```go 88 // package main 89 // 90 // import ( 91 // 92 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker" 93 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 94 // 95 // ) 96 // 97 // func main() { 98 // pulumi.Run(func(ctx *pulumi.Context) error { 99 // example, err := sagemaker.NewImage(ctx, "example", &sagemaker.ImageArgs{ 100 // ImageName: pulumi.String("example"), 101 // RoleArn: pulumi.Any(exampleAwsIamRole.Arn), 102 // }) 103 // if err != nil { 104 // return err 105 // } 106 // exampleAppImageConfig, err := sagemaker.NewAppImageConfig(ctx, "example", &sagemaker.AppImageConfigArgs{ 107 // AppImageConfigName: pulumi.String("example"), 108 // KernelGatewayImageConfig: &sagemaker.AppImageConfigKernelGatewayImageConfigArgs{ 109 // KernelSpec: &sagemaker.AppImageConfigKernelGatewayImageConfigKernelSpecArgs{ 110 // Name: pulumi.String("example"), 111 // }, 112 // }, 113 // }) 114 // if err != nil { 115 // return err 116 // } 117 // exampleImageVersion, err := sagemaker.NewImageVersion(ctx, "example", &sagemaker.ImageVersionArgs{ 118 // ImageName: example.ID(), 119 // BaseImage: pulumi.String("base-image"), 120 // }) 121 // if err != nil { 122 // return err 123 // } 124 // _, err = sagemaker.NewDomain(ctx, "example", &sagemaker.DomainArgs{ 125 // DomainName: pulumi.String("example"), 126 // AuthMode: pulumi.String("IAM"), 127 // VpcId: pulumi.Any(exampleAwsVpc.Id), 128 // SubnetIds: pulumi.StringArray{ 129 // exampleAwsSubnet.Id, 130 // }, 131 // DefaultUserSettings: &sagemaker.DomainDefaultUserSettingsArgs{ 132 // ExecutionRole: pulumi.Any(exampleAwsIamRole.Arn), 133 // KernelGatewayAppSettings: &sagemaker.DomainDefaultUserSettingsKernelGatewayAppSettingsArgs{ 134 // CustomImages: sagemaker.DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArray{ 135 // &sagemaker.DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArgs{ 136 // AppImageConfigName: exampleAppImageConfig.AppImageConfigName, 137 // ImageName: exampleImageVersion.ImageName, 138 // }, 139 // }, 140 // }, 141 // }, 142 // }) 143 // if err != nil { 144 // return err 145 // } 146 // return nil 147 // }) 148 // } 149 // 150 // ``` 151 // <!--End PulumiCodeChooser --> 152 // 153 // ## Import 154 // 155 // Using `pulumi import`, import SageMaker Domains using the `id`. For example: 156 // 157 // ```sh 158 // $ pulumi import aws:sagemaker/domain:Domain test_domain d-8jgsjtilstu8 159 // ``` 160 type Domain struct { 161 pulumi.CustomResourceState 162 163 // Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly`. Valid values are `PublicInternetOnly` and `VpcOnly`. 164 AppNetworkAccessType pulumi.StringPtrOutput `pulumi:"appNetworkAccessType"` 165 // The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. 166 AppSecurityGroupManagement pulumi.StringPtrOutput `pulumi:"appSecurityGroupManagement"` 167 // The Amazon Resource Name (ARN) assigned by AWS to this Domain. 168 Arn pulumi.StringOutput `pulumi:"arn"` 169 // The mode of authentication that members use to access the domain. Valid values are `IAM` and `SSO`. 170 AuthMode pulumi.StringOutput `pulumi:"authMode"` 171 // The default space settings. See `defaultSpaceSettings` Block below. 172 DefaultSpaceSettings DomainDefaultSpaceSettingsPtrOutput `pulumi:"defaultSpaceSettings"` 173 // The default user settings. See `defaultUserSettings` Block below. 174 DefaultUserSettings DomainDefaultUserSettingsOutput `pulumi:"defaultUserSettings"` 175 // The domain name. 176 DomainName pulumi.StringOutput `pulumi:"domainName"` 177 // The domain settings. See `domainSettings` Block below. 178 DomainSettings DomainDomainSettingsPtrOutput `pulumi:"domainSettings"` 179 // The ID of the Amazon Elastic File System (EFS) managed by this Domain. 180 HomeEfsFileSystemId pulumi.StringOutput `pulumi:"homeEfsFileSystemId"` 181 // The AWS KMS customer managed CMK used to encrypt the EFS volume attached to the domain. 182 KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"` 183 // The retention policy for this domain, which specifies whether resources will be retained after the Domain is deleted. By default, all resources are retained. See `retentionPolicy` Block below. 184 RetentionPolicy DomainRetentionPolicyPtrOutput `pulumi:"retentionPolicy"` 185 // The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app. 186 SecurityGroupIdForDomainBoundary pulumi.StringOutput `pulumi:"securityGroupIdForDomainBoundary"` 187 // The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after September 19, 2023. 188 SingleSignOnApplicationArn pulumi.StringOutput `pulumi:"singleSignOnApplicationArn"` 189 // The SSO managed application instance ID. 190 SingleSignOnManagedApplicationInstanceId pulumi.StringOutput `pulumi:"singleSignOnManagedApplicationInstanceId"` 191 // The VPC subnets that Studio uses for communication. 192 SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"` 193 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 194 Tags pulumi.StringMapOutput `pulumi:"tags"` 195 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 196 // 197 // Deprecated: Please use `tags` instead. 198 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 199 // The domain's URL. 200 Url pulumi.StringOutput `pulumi:"url"` 201 // The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. 202 // 203 // The following arguments are optional: 204 VpcId pulumi.StringOutput `pulumi:"vpcId"` 205 } 206 207 // NewDomain registers a new resource with the given unique name, arguments, and options. 208 func NewDomain(ctx *pulumi.Context, 209 name string, args *DomainArgs, opts ...pulumi.ResourceOption) (*Domain, error) { 210 if args == nil { 211 return nil, errors.New("missing one or more required arguments") 212 } 213 214 if args.AuthMode == nil { 215 return nil, errors.New("invalid value for required argument 'AuthMode'") 216 } 217 if args.DefaultUserSettings == nil { 218 return nil, errors.New("invalid value for required argument 'DefaultUserSettings'") 219 } 220 if args.DomainName == nil { 221 return nil, errors.New("invalid value for required argument 'DomainName'") 222 } 223 if args.SubnetIds == nil { 224 return nil, errors.New("invalid value for required argument 'SubnetIds'") 225 } 226 if args.VpcId == nil { 227 return nil, errors.New("invalid value for required argument 'VpcId'") 228 } 229 opts = internal.PkgResourceDefaultOpts(opts) 230 var resource Domain 231 err := ctx.RegisterResource("aws:sagemaker/domain:Domain", name, args, &resource, opts...) 232 if err != nil { 233 return nil, err 234 } 235 return &resource, nil 236 } 237 238 // GetDomain gets an existing Domain resource's state with the given name, ID, and optional 239 // state properties that are used to uniquely qualify the lookup (nil if not required). 240 func GetDomain(ctx *pulumi.Context, 241 name string, id pulumi.IDInput, state *DomainState, opts ...pulumi.ResourceOption) (*Domain, error) { 242 var resource Domain 243 err := ctx.ReadResource("aws:sagemaker/domain:Domain", name, id, state, &resource, opts...) 244 if err != nil { 245 return nil, err 246 } 247 return &resource, nil 248 } 249 250 // Input properties used for looking up and filtering Domain resources. 251 type domainState struct { 252 // Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly`. Valid values are `PublicInternetOnly` and `VpcOnly`. 253 AppNetworkAccessType *string `pulumi:"appNetworkAccessType"` 254 // The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. 255 AppSecurityGroupManagement *string `pulumi:"appSecurityGroupManagement"` 256 // The Amazon Resource Name (ARN) assigned by AWS to this Domain. 257 Arn *string `pulumi:"arn"` 258 // The mode of authentication that members use to access the domain. Valid values are `IAM` and `SSO`. 259 AuthMode *string `pulumi:"authMode"` 260 // The default space settings. See `defaultSpaceSettings` Block below. 261 DefaultSpaceSettings *DomainDefaultSpaceSettings `pulumi:"defaultSpaceSettings"` 262 // The default user settings. See `defaultUserSettings` Block below. 263 DefaultUserSettings *DomainDefaultUserSettings `pulumi:"defaultUserSettings"` 264 // The domain name. 265 DomainName *string `pulumi:"domainName"` 266 // The domain settings. See `domainSettings` Block below. 267 DomainSettings *DomainDomainSettings `pulumi:"domainSettings"` 268 // The ID of the Amazon Elastic File System (EFS) managed by this Domain. 269 HomeEfsFileSystemId *string `pulumi:"homeEfsFileSystemId"` 270 // The AWS KMS customer managed CMK used to encrypt the EFS volume attached to the domain. 271 KmsKeyId *string `pulumi:"kmsKeyId"` 272 // The retention policy for this domain, which specifies whether resources will be retained after the Domain is deleted. By default, all resources are retained. See `retentionPolicy` Block below. 273 RetentionPolicy *DomainRetentionPolicy `pulumi:"retentionPolicy"` 274 // The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app. 275 SecurityGroupIdForDomainBoundary *string `pulumi:"securityGroupIdForDomainBoundary"` 276 // The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after September 19, 2023. 277 SingleSignOnApplicationArn *string `pulumi:"singleSignOnApplicationArn"` 278 // The SSO managed application instance ID. 279 SingleSignOnManagedApplicationInstanceId *string `pulumi:"singleSignOnManagedApplicationInstanceId"` 280 // The VPC subnets that Studio uses for communication. 281 SubnetIds []string `pulumi:"subnetIds"` 282 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 283 Tags map[string]string `pulumi:"tags"` 284 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 285 // 286 // Deprecated: Please use `tags` instead. 287 TagsAll map[string]string `pulumi:"tagsAll"` 288 // The domain's URL. 289 Url *string `pulumi:"url"` 290 // The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. 291 // 292 // The following arguments are optional: 293 VpcId *string `pulumi:"vpcId"` 294 } 295 296 type DomainState struct { 297 // Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly`. Valid values are `PublicInternetOnly` and `VpcOnly`. 298 AppNetworkAccessType pulumi.StringPtrInput 299 // The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. 300 AppSecurityGroupManagement pulumi.StringPtrInput 301 // The Amazon Resource Name (ARN) assigned by AWS to this Domain. 302 Arn pulumi.StringPtrInput 303 // The mode of authentication that members use to access the domain. Valid values are `IAM` and `SSO`. 304 AuthMode pulumi.StringPtrInput 305 // The default space settings. See `defaultSpaceSettings` Block below. 306 DefaultSpaceSettings DomainDefaultSpaceSettingsPtrInput 307 // The default user settings. See `defaultUserSettings` Block below. 308 DefaultUserSettings DomainDefaultUserSettingsPtrInput 309 // The domain name. 310 DomainName pulumi.StringPtrInput 311 // The domain settings. See `domainSettings` Block below. 312 DomainSettings DomainDomainSettingsPtrInput 313 // The ID of the Amazon Elastic File System (EFS) managed by this Domain. 314 HomeEfsFileSystemId pulumi.StringPtrInput 315 // The AWS KMS customer managed CMK used to encrypt the EFS volume attached to the domain. 316 KmsKeyId pulumi.StringPtrInput 317 // The retention policy for this domain, which specifies whether resources will be retained after the Domain is deleted. By default, all resources are retained. See `retentionPolicy` Block below. 318 RetentionPolicy DomainRetentionPolicyPtrInput 319 // The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app. 320 SecurityGroupIdForDomainBoundary pulumi.StringPtrInput 321 // The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after September 19, 2023. 322 SingleSignOnApplicationArn pulumi.StringPtrInput 323 // The SSO managed application instance ID. 324 SingleSignOnManagedApplicationInstanceId pulumi.StringPtrInput 325 // The VPC subnets that Studio uses for communication. 326 SubnetIds pulumi.StringArrayInput 327 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 328 Tags pulumi.StringMapInput 329 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 330 // 331 // Deprecated: Please use `tags` instead. 332 TagsAll pulumi.StringMapInput 333 // The domain's URL. 334 Url pulumi.StringPtrInput 335 // The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. 336 // 337 // The following arguments are optional: 338 VpcId pulumi.StringPtrInput 339 } 340 341 func (DomainState) ElementType() reflect.Type { 342 return reflect.TypeOf((*domainState)(nil)).Elem() 343 } 344 345 type domainArgs struct { 346 // Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly`. Valid values are `PublicInternetOnly` and `VpcOnly`. 347 AppNetworkAccessType *string `pulumi:"appNetworkAccessType"` 348 // The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. 349 AppSecurityGroupManagement *string `pulumi:"appSecurityGroupManagement"` 350 // The mode of authentication that members use to access the domain. Valid values are `IAM` and `SSO`. 351 AuthMode string `pulumi:"authMode"` 352 // The default space settings. See `defaultSpaceSettings` Block below. 353 DefaultSpaceSettings *DomainDefaultSpaceSettings `pulumi:"defaultSpaceSettings"` 354 // The default user settings. See `defaultUserSettings` Block below. 355 DefaultUserSettings DomainDefaultUserSettings `pulumi:"defaultUserSettings"` 356 // The domain name. 357 DomainName string `pulumi:"domainName"` 358 // The domain settings. See `domainSettings` Block below. 359 DomainSettings *DomainDomainSettings `pulumi:"domainSettings"` 360 // The AWS KMS customer managed CMK used to encrypt the EFS volume attached to the domain. 361 KmsKeyId *string `pulumi:"kmsKeyId"` 362 // The retention policy for this domain, which specifies whether resources will be retained after the Domain is deleted. By default, all resources are retained. See `retentionPolicy` Block below. 363 RetentionPolicy *DomainRetentionPolicy `pulumi:"retentionPolicy"` 364 // The VPC subnets that Studio uses for communication. 365 SubnetIds []string `pulumi:"subnetIds"` 366 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 367 Tags map[string]string `pulumi:"tags"` 368 // The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. 369 // 370 // The following arguments are optional: 371 VpcId string `pulumi:"vpcId"` 372 } 373 374 // The set of arguments for constructing a Domain resource. 375 type DomainArgs struct { 376 // Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly`. Valid values are `PublicInternetOnly` and `VpcOnly`. 377 AppNetworkAccessType pulumi.StringPtrInput 378 // The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. 379 AppSecurityGroupManagement pulumi.StringPtrInput 380 // The mode of authentication that members use to access the domain. Valid values are `IAM` and `SSO`. 381 AuthMode pulumi.StringInput 382 // The default space settings. See `defaultSpaceSettings` Block below. 383 DefaultSpaceSettings DomainDefaultSpaceSettingsPtrInput 384 // The default user settings. See `defaultUserSettings` Block below. 385 DefaultUserSettings DomainDefaultUserSettingsInput 386 // The domain name. 387 DomainName pulumi.StringInput 388 // The domain settings. See `domainSettings` Block below. 389 DomainSettings DomainDomainSettingsPtrInput 390 // The AWS KMS customer managed CMK used to encrypt the EFS volume attached to the domain. 391 KmsKeyId pulumi.StringPtrInput 392 // The retention policy for this domain, which specifies whether resources will be retained after the Domain is deleted. By default, all resources are retained. See `retentionPolicy` Block below. 393 RetentionPolicy DomainRetentionPolicyPtrInput 394 // The VPC subnets that Studio uses for communication. 395 SubnetIds pulumi.StringArrayInput 396 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 397 Tags pulumi.StringMapInput 398 // The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. 399 // 400 // The following arguments are optional: 401 VpcId pulumi.StringInput 402 } 403 404 func (DomainArgs) ElementType() reflect.Type { 405 return reflect.TypeOf((*domainArgs)(nil)).Elem() 406 } 407 408 type DomainInput interface { 409 pulumi.Input 410 411 ToDomainOutput() DomainOutput 412 ToDomainOutputWithContext(ctx context.Context) DomainOutput 413 } 414 415 func (*Domain) ElementType() reflect.Type { 416 return reflect.TypeOf((**Domain)(nil)).Elem() 417 } 418 419 func (i *Domain) ToDomainOutput() DomainOutput { 420 return i.ToDomainOutputWithContext(context.Background()) 421 } 422 423 func (i *Domain) ToDomainOutputWithContext(ctx context.Context) DomainOutput { 424 return pulumi.ToOutputWithContext(ctx, i).(DomainOutput) 425 } 426 427 // DomainArrayInput is an input type that accepts DomainArray and DomainArrayOutput values. 428 // You can construct a concrete instance of `DomainArrayInput` via: 429 // 430 // DomainArray{ DomainArgs{...} } 431 type DomainArrayInput interface { 432 pulumi.Input 433 434 ToDomainArrayOutput() DomainArrayOutput 435 ToDomainArrayOutputWithContext(context.Context) DomainArrayOutput 436 } 437 438 type DomainArray []DomainInput 439 440 func (DomainArray) ElementType() reflect.Type { 441 return reflect.TypeOf((*[]*Domain)(nil)).Elem() 442 } 443 444 func (i DomainArray) ToDomainArrayOutput() DomainArrayOutput { 445 return i.ToDomainArrayOutputWithContext(context.Background()) 446 } 447 448 func (i DomainArray) ToDomainArrayOutputWithContext(ctx context.Context) DomainArrayOutput { 449 return pulumi.ToOutputWithContext(ctx, i).(DomainArrayOutput) 450 } 451 452 // DomainMapInput is an input type that accepts DomainMap and DomainMapOutput values. 453 // You can construct a concrete instance of `DomainMapInput` via: 454 // 455 // DomainMap{ "key": DomainArgs{...} } 456 type DomainMapInput interface { 457 pulumi.Input 458 459 ToDomainMapOutput() DomainMapOutput 460 ToDomainMapOutputWithContext(context.Context) DomainMapOutput 461 } 462 463 type DomainMap map[string]DomainInput 464 465 func (DomainMap) ElementType() reflect.Type { 466 return reflect.TypeOf((*map[string]*Domain)(nil)).Elem() 467 } 468 469 func (i DomainMap) ToDomainMapOutput() DomainMapOutput { 470 return i.ToDomainMapOutputWithContext(context.Background()) 471 } 472 473 func (i DomainMap) ToDomainMapOutputWithContext(ctx context.Context) DomainMapOutput { 474 return pulumi.ToOutputWithContext(ctx, i).(DomainMapOutput) 475 } 476 477 type DomainOutput struct{ *pulumi.OutputState } 478 479 func (DomainOutput) ElementType() reflect.Type { 480 return reflect.TypeOf((**Domain)(nil)).Elem() 481 } 482 483 func (o DomainOutput) ToDomainOutput() DomainOutput { 484 return o 485 } 486 487 func (o DomainOutput) ToDomainOutputWithContext(ctx context.Context) DomainOutput { 488 return o 489 } 490 491 // Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly`. Valid values are `PublicInternetOnly` and `VpcOnly`. 492 func (o DomainOutput) AppNetworkAccessType() pulumi.StringPtrOutput { 493 return o.ApplyT(func(v *Domain) pulumi.StringPtrOutput { return v.AppNetworkAccessType }).(pulumi.StringPtrOutput) 494 } 495 496 // The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`. 497 func (o DomainOutput) AppSecurityGroupManagement() pulumi.StringPtrOutput { 498 return o.ApplyT(func(v *Domain) pulumi.StringPtrOutput { return v.AppSecurityGroupManagement }).(pulumi.StringPtrOutput) 499 } 500 501 // The Amazon Resource Name (ARN) assigned by AWS to this Domain. 502 func (o DomainOutput) Arn() pulumi.StringOutput { 503 return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 504 } 505 506 // The mode of authentication that members use to access the domain. Valid values are `IAM` and `SSO`. 507 func (o DomainOutput) AuthMode() pulumi.StringOutput { 508 return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.AuthMode }).(pulumi.StringOutput) 509 } 510 511 // The default space settings. See `defaultSpaceSettings` Block below. 512 func (o DomainOutput) DefaultSpaceSettings() DomainDefaultSpaceSettingsPtrOutput { 513 return o.ApplyT(func(v *Domain) DomainDefaultSpaceSettingsPtrOutput { return v.DefaultSpaceSettings }).(DomainDefaultSpaceSettingsPtrOutput) 514 } 515 516 // The default user settings. See `defaultUserSettings` Block below. 517 func (o DomainOutput) DefaultUserSettings() DomainDefaultUserSettingsOutput { 518 return o.ApplyT(func(v *Domain) DomainDefaultUserSettingsOutput { return v.DefaultUserSettings }).(DomainDefaultUserSettingsOutput) 519 } 520 521 // The domain name. 522 func (o DomainOutput) DomainName() pulumi.StringOutput { 523 return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.DomainName }).(pulumi.StringOutput) 524 } 525 526 // The domain settings. See `domainSettings` Block below. 527 func (o DomainOutput) DomainSettings() DomainDomainSettingsPtrOutput { 528 return o.ApplyT(func(v *Domain) DomainDomainSettingsPtrOutput { return v.DomainSettings }).(DomainDomainSettingsPtrOutput) 529 } 530 531 // The ID of the Amazon Elastic File System (EFS) managed by this Domain. 532 func (o DomainOutput) HomeEfsFileSystemId() pulumi.StringOutput { 533 return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.HomeEfsFileSystemId }).(pulumi.StringOutput) 534 } 535 536 // The AWS KMS customer managed CMK used to encrypt the EFS volume attached to the domain. 537 func (o DomainOutput) KmsKeyId() pulumi.StringPtrOutput { 538 return o.ApplyT(func(v *Domain) pulumi.StringPtrOutput { return v.KmsKeyId }).(pulumi.StringPtrOutput) 539 } 540 541 // The retention policy for this domain, which specifies whether resources will be retained after the Domain is deleted. By default, all resources are retained. See `retentionPolicy` Block below. 542 func (o DomainOutput) RetentionPolicy() DomainRetentionPolicyPtrOutput { 543 return o.ApplyT(func(v *Domain) DomainRetentionPolicyPtrOutput { return v.RetentionPolicy }).(DomainRetentionPolicyPtrOutput) 544 } 545 546 // The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app. 547 func (o DomainOutput) SecurityGroupIdForDomainBoundary() pulumi.StringOutput { 548 return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.SecurityGroupIdForDomainBoundary }).(pulumi.StringOutput) 549 } 550 551 // The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after September 19, 2023. 552 func (o DomainOutput) SingleSignOnApplicationArn() pulumi.StringOutput { 553 return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.SingleSignOnApplicationArn }).(pulumi.StringOutput) 554 } 555 556 // The SSO managed application instance ID. 557 func (o DomainOutput) SingleSignOnManagedApplicationInstanceId() pulumi.StringOutput { 558 return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.SingleSignOnManagedApplicationInstanceId }).(pulumi.StringOutput) 559 } 560 561 // The VPC subnets that Studio uses for communication. 562 func (o DomainOutput) SubnetIds() pulumi.StringArrayOutput { 563 return o.ApplyT(func(v *Domain) pulumi.StringArrayOutput { return v.SubnetIds }).(pulumi.StringArrayOutput) 564 } 565 566 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 567 func (o DomainOutput) Tags() pulumi.StringMapOutput { 568 return o.ApplyT(func(v *Domain) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 569 } 570 571 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 572 // 573 // Deprecated: Please use `tags` instead. 574 func (o DomainOutput) TagsAll() pulumi.StringMapOutput { 575 return o.ApplyT(func(v *Domain) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 576 } 577 578 // The domain's URL. 579 func (o DomainOutput) Url() pulumi.StringOutput { 580 return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) 581 } 582 583 // The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. 584 // 585 // The following arguments are optional: 586 func (o DomainOutput) VpcId() pulumi.StringOutput { 587 return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) 588 } 589 590 type DomainArrayOutput struct{ *pulumi.OutputState } 591 592 func (DomainArrayOutput) ElementType() reflect.Type { 593 return reflect.TypeOf((*[]*Domain)(nil)).Elem() 594 } 595 596 func (o DomainArrayOutput) ToDomainArrayOutput() DomainArrayOutput { 597 return o 598 } 599 600 func (o DomainArrayOutput) ToDomainArrayOutputWithContext(ctx context.Context) DomainArrayOutput { 601 return o 602 } 603 604 func (o DomainArrayOutput) Index(i pulumi.IntInput) DomainOutput { 605 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Domain { 606 return vs[0].([]*Domain)[vs[1].(int)] 607 }).(DomainOutput) 608 } 609 610 type DomainMapOutput struct{ *pulumi.OutputState } 611 612 func (DomainMapOutput) ElementType() reflect.Type { 613 return reflect.TypeOf((*map[string]*Domain)(nil)).Elem() 614 } 615 616 func (o DomainMapOutput) ToDomainMapOutput() DomainMapOutput { 617 return o 618 } 619 620 func (o DomainMapOutput) ToDomainMapOutputWithContext(ctx context.Context) DomainMapOutput { 621 return o 622 } 623 624 func (o DomainMapOutput) MapIndex(k pulumi.StringInput) DomainOutput { 625 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Domain { 626 return vs[0].(map[string]*Domain)[vs[1].(string)] 627 }).(DomainOutput) 628 } 629 630 func init() { 631 pulumi.RegisterInputType(reflect.TypeOf((*DomainInput)(nil)).Elem(), &Domain{}) 632 pulumi.RegisterInputType(reflect.TypeOf((*DomainArrayInput)(nil)).Elem(), DomainArray{}) 633 pulumi.RegisterInputType(reflect.TypeOf((*DomainMapInput)(nil)).Elem(), DomainMap{}) 634 pulumi.RegisterOutputType(DomainOutput{}) 635 pulumi.RegisterOutputType(DomainArrayOutput{}) 636 pulumi.RegisterOutputType(DomainMapOutput{}) 637 }