import * as core from "@terrascript/core"; export interface CognitoConfigArgs extends core.SchemaArgs { clientId: string | core.StringOut; userPool: string | core.StringOut; } export class CognitoConfig extends core.Schema { @core.attr(String) public clientId!: string | core.StringOut; @core.attr(String) public userPool!: string | core.StringOut; } export interface OidcConfigArgs extends core.SchemaArgs { authorizationEndpoint: string | core.StringOut; clientId: string | core.StringOut; clientSecret: string | core.StringOut; issuer: string | core.StringOut; jwksUri: string | core.StringOut; logoutEndpoint: string | core.StringOut; tokenEndpoint: string | core.StringOut; userInfoEndpoint: string | core.StringOut; } export class OidcConfig extends core.Schema { @core.attr(String) public authorizationEndpoint!: string | core.StringOut; @core.attr(String) public clientId!: string | core.StringOut; @core.attr(String) public clientSecret!: string | core.StringOut; @core.attr(String) public issuer!: string | core.StringOut; @core.attr(String) public jwksUri!: string | core.StringOut; @core.attr(String) public logoutEndpoint!: string | core.StringOut; @core.attr(String) public tokenEndpoint!: string | core.StringOut; @core.attr(String) public userInfoEndpoint!: string | core.StringOut; } export interface SourceIpConfigArgs extends core.SchemaArgs { cidrs: core.Array | core.ArrayOut; } export class SourceIpConfig extends core.Schema { @core.attr(String, { kind: "array" }) public cidrs!: core.Array | core.ArrayOut; } export interface WorkforceArgs extends core.ResourceArgs { /** * (Required) Use this parameter to configure an Amazon Cognito private workforce. A single Cognito wor * kforce is created using and corresponds to a single Amazon Cognito user pool. Conflicts with `oidc_c * onfig`. see [Cognito Config](#cognito-config) details below. */ cognitoConfig?: CognitoConfig; /** * (Required) Use this parameter to configure a private workforce using your own OIDC Identity Provider * . Conflicts with `cognito_config`. see [OIDC Config](#oidc-config) details below. */ oidcConfig?: OidcConfig; /** * (Required) A list of IP address ranges Used to create an allow list of IP addresses for a private wo * rkforce. By default, a workforce isn't restricted to specific IP addresses. see [Source Ip Config](# * source-ip-config) details below. */ sourceIpConfig?: SourceIpConfig; /** * (Required) The name of the Workforce (must be unique). */ workforceName: string | core.StringOut; } export class Workforce extends core.Resource { /** * The Amazon Resource Name (ARN) assigned by AWS to this Workforce. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Required) Use this parameter to configure an Amazon Cognito private workforce. A single Cognito wor * kforce is created using and corresponds to a single Amazon Cognito user pool. Conflicts with `oidc_c * onfig`. see [Cognito Config](#cognito-config) details below. */ @core.attr(CognitoConfig) public cognitoConfig?: CognitoConfig; /** * The name of the Workforce. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) Use this parameter to configure a private workforce using your own OIDC Identity Provider * . Conflicts with `cognito_config`. see [OIDC Config](#oidc-config) details below. */ @core.attr(OidcConfig) public oidcConfig?: OidcConfig; /** * (Required) A list of IP address ranges Used to create an allow list of IP addresses for a private wo * rkforce. By default, a workforce isn't restricted to specific IP addresses. see [Source Ip Config](# * source-ip-config) details below. */ @core.attr(SourceIpConfig, { computed: true }) public sourceIpConfig?: SourceIpConfig; /** * The subdomain for your OIDC Identity Provider. */ @core.attr(String, { computed: true }) public subdomain!: string | core.StringOut; /** * (Required) The name of the Workforce (must be unique). */ @core.attr(String) public workforceName!: string | core.StringOut; constructor(name: string, args?: WorkforceArgs) { super(name, "aws_sagemaker_workforce", args); } public override getNamespace(): string { return "aws_sagemaker"; } }