github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/grafana/workspaceSamlConfiguration.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 grafana
     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 an Amazon Managed Grafana workspace SAML configuration resource.
    16  //
    17  // ## Example Usage
    18  //
    19  // ### Basic configuration
    20  //
    21  // <!--Start PulumiCodeChooser -->
    22  // ```go
    23  // package main
    24  //
    25  // import (
    26  //
    27  //	"encoding/json"
    28  //
    29  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/grafana"
    30  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
    31  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    32  //
    33  // )
    34  //
    35  //	func main() {
    36  //		pulumi.Run(func(ctx *pulumi.Context) error {
    37  //			tmpJSON0, err := json.Marshal(map[string]interface{}{
    38  //				"Version": "2012-10-17",
    39  //				"Statement": []map[string]interface{}{
    40  //					map[string]interface{}{
    41  //						"Action": "sts:AssumeRole",
    42  //						"Effect": "Allow",
    43  //						"Sid":    "",
    44  //						"Principal": map[string]interface{}{
    45  //							"Service": "grafana.amazonaws.com",
    46  //						},
    47  //					},
    48  //				},
    49  //			})
    50  //			if err != nil {
    51  //				return err
    52  //			}
    53  //			json0 := string(tmpJSON0)
    54  //			assume, err := iam.NewRole(ctx, "assume", &iam.RoleArgs{
    55  //				Name:             pulumi.String("grafana-assume"),
    56  //				AssumeRolePolicy: pulumi.String(json0),
    57  //			})
    58  //			if err != nil {
    59  //				return err
    60  //			}
    61  //			exampleWorkspace, err := grafana.NewWorkspace(ctx, "example", &grafana.WorkspaceArgs{
    62  //				AccountAccessType: pulumi.String("CURRENT_ACCOUNT"),
    63  //				AuthenticationProviders: pulumi.StringArray{
    64  //					pulumi.String("SAML"),
    65  //				},
    66  //				PermissionType: pulumi.String("SERVICE_MANAGED"),
    67  //				RoleArn:        assume.Arn,
    68  //			})
    69  //			if err != nil {
    70  //				return err
    71  //			}
    72  //			_, err = grafana.NewWorkspaceSamlConfiguration(ctx, "example", &grafana.WorkspaceSamlConfigurationArgs{
    73  //				EditorRoleValues: pulumi.StringArray{
    74  //					pulumi.String("editor"),
    75  //				},
    76  //				IdpMetadataUrl: pulumi.String("https://my_idp_metadata.url"),
    77  //				WorkspaceId:    exampleWorkspace.ID(),
    78  //			})
    79  //			if err != nil {
    80  //				return err
    81  //			}
    82  //			return nil
    83  //		})
    84  //	}
    85  //
    86  // ```
    87  // <!--End PulumiCodeChooser -->
    88  //
    89  // ## Import
    90  //
    91  // Using `pulumi import`, import Grafana Workspace SAML configuration using the workspace's `id`. For example:
    92  //
    93  // ```sh
    94  // $ pulumi import aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration example g-2054c75a02
    95  // ```
    96  type WorkspaceSamlConfiguration struct {
    97  	pulumi.CustomResourceState
    98  
    99  	// The admin role values.
   100  	AdminRoleValues pulumi.StringArrayOutput `pulumi:"adminRoleValues"`
   101  	// The allowed organizations.
   102  	AllowedOrganizations pulumi.StringArrayOutput `pulumi:"allowedOrganizations"`
   103  	// The editor role values.
   104  	EditorRoleValues pulumi.StringArrayOutput `pulumi:"editorRoleValues"`
   105  	// The email assertion.
   106  	EmailAssertion pulumi.StringOutput `pulumi:"emailAssertion"`
   107  	// The groups assertion.
   108  	GroupsAssertion pulumi.StringPtrOutput `pulumi:"groupsAssertion"`
   109  	// The IDP Metadata URL. Note that either `idpMetadataUrl` or `idpMetadataXml` (but not both) must be specified.
   110  	IdpMetadataUrl pulumi.StringPtrOutput `pulumi:"idpMetadataUrl"`
   111  	// The IDP Metadata XML. Note that either `idpMetadataUrl` or `idpMetadataXml` (but not both) must be specified.
   112  	IdpMetadataXml pulumi.StringPtrOutput `pulumi:"idpMetadataXml"`
   113  	// The login assertion.
   114  	LoginAssertion pulumi.StringOutput `pulumi:"loginAssertion"`
   115  	// The login validity duration.
   116  	LoginValidityDuration pulumi.IntOutput `pulumi:"loginValidityDuration"`
   117  	// The name assertion.
   118  	NameAssertion pulumi.StringOutput `pulumi:"nameAssertion"`
   119  	// The org assertion.
   120  	OrgAssertion pulumi.StringPtrOutput `pulumi:"orgAssertion"`
   121  	// The role assertion.
   122  	RoleAssertion pulumi.StringPtrOutput `pulumi:"roleAssertion"`
   123  	// The status of the SAML configuration.
   124  	Status pulumi.StringOutput `pulumi:"status"`
   125  	// The workspace id.
   126  	//
   127  	// The following arguments are optional:
   128  	WorkspaceId pulumi.StringOutput `pulumi:"workspaceId"`
   129  }
   130  
   131  // NewWorkspaceSamlConfiguration registers a new resource with the given unique name, arguments, and options.
   132  func NewWorkspaceSamlConfiguration(ctx *pulumi.Context,
   133  	name string, args *WorkspaceSamlConfigurationArgs, opts ...pulumi.ResourceOption) (*WorkspaceSamlConfiguration, error) {
   134  	if args == nil {
   135  		return nil, errors.New("missing one or more required arguments")
   136  	}
   137  
   138  	if args.EditorRoleValues == nil {
   139  		return nil, errors.New("invalid value for required argument 'EditorRoleValues'")
   140  	}
   141  	if args.WorkspaceId == nil {
   142  		return nil, errors.New("invalid value for required argument 'WorkspaceId'")
   143  	}
   144  	opts = internal.PkgResourceDefaultOpts(opts)
   145  	var resource WorkspaceSamlConfiguration
   146  	err := ctx.RegisterResource("aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration", name, args, &resource, opts...)
   147  	if err != nil {
   148  		return nil, err
   149  	}
   150  	return &resource, nil
   151  }
   152  
   153  // GetWorkspaceSamlConfiguration gets an existing WorkspaceSamlConfiguration resource's state with the given name, ID, and optional
   154  // state properties that are used to uniquely qualify the lookup (nil if not required).
   155  func GetWorkspaceSamlConfiguration(ctx *pulumi.Context,
   156  	name string, id pulumi.IDInput, state *WorkspaceSamlConfigurationState, opts ...pulumi.ResourceOption) (*WorkspaceSamlConfiguration, error) {
   157  	var resource WorkspaceSamlConfiguration
   158  	err := ctx.ReadResource("aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration", name, id, state, &resource, opts...)
   159  	if err != nil {
   160  		return nil, err
   161  	}
   162  	return &resource, nil
   163  }
   164  
   165  // Input properties used for looking up and filtering WorkspaceSamlConfiguration resources.
   166  type workspaceSamlConfigurationState struct {
   167  	// The admin role values.
   168  	AdminRoleValues []string `pulumi:"adminRoleValues"`
   169  	// The allowed organizations.
   170  	AllowedOrganizations []string `pulumi:"allowedOrganizations"`
   171  	// The editor role values.
   172  	EditorRoleValues []string `pulumi:"editorRoleValues"`
   173  	// The email assertion.
   174  	EmailAssertion *string `pulumi:"emailAssertion"`
   175  	// The groups assertion.
   176  	GroupsAssertion *string `pulumi:"groupsAssertion"`
   177  	// The IDP Metadata URL. Note that either `idpMetadataUrl` or `idpMetadataXml` (but not both) must be specified.
   178  	IdpMetadataUrl *string `pulumi:"idpMetadataUrl"`
   179  	// The IDP Metadata XML. Note that either `idpMetadataUrl` or `idpMetadataXml` (but not both) must be specified.
   180  	IdpMetadataXml *string `pulumi:"idpMetadataXml"`
   181  	// The login assertion.
   182  	LoginAssertion *string `pulumi:"loginAssertion"`
   183  	// The login validity duration.
   184  	LoginValidityDuration *int `pulumi:"loginValidityDuration"`
   185  	// The name assertion.
   186  	NameAssertion *string `pulumi:"nameAssertion"`
   187  	// The org assertion.
   188  	OrgAssertion *string `pulumi:"orgAssertion"`
   189  	// The role assertion.
   190  	RoleAssertion *string `pulumi:"roleAssertion"`
   191  	// The status of the SAML configuration.
   192  	Status *string `pulumi:"status"`
   193  	// The workspace id.
   194  	//
   195  	// The following arguments are optional:
   196  	WorkspaceId *string `pulumi:"workspaceId"`
   197  }
   198  
   199  type WorkspaceSamlConfigurationState struct {
   200  	// The admin role values.
   201  	AdminRoleValues pulumi.StringArrayInput
   202  	// The allowed organizations.
   203  	AllowedOrganizations pulumi.StringArrayInput
   204  	// The editor role values.
   205  	EditorRoleValues pulumi.StringArrayInput
   206  	// The email assertion.
   207  	EmailAssertion pulumi.StringPtrInput
   208  	// The groups assertion.
   209  	GroupsAssertion pulumi.StringPtrInput
   210  	// The IDP Metadata URL. Note that either `idpMetadataUrl` or `idpMetadataXml` (but not both) must be specified.
   211  	IdpMetadataUrl pulumi.StringPtrInput
   212  	// The IDP Metadata XML. Note that either `idpMetadataUrl` or `idpMetadataXml` (but not both) must be specified.
   213  	IdpMetadataXml pulumi.StringPtrInput
   214  	// The login assertion.
   215  	LoginAssertion pulumi.StringPtrInput
   216  	// The login validity duration.
   217  	LoginValidityDuration pulumi.IntPtrInput
   218  	// The name assertion.
   219  	NameAssertion pulumi.StringPtrInput
   220  	// The org assertion.
   221  	OrgAssertion pulumi.StringPtrInput
   222  	// The role assertion.
   223  	RoleAssertion pulumi.StringPtrInput
   224  	// The status of the SAML configuration.
   225  	Status pulumi.StringPtrInput
   226  	// The workspace id.
   227  	//
   228  	// The following arguments are optional:
   229  	WorkspaceId pulumi.StringPtrInput
   230  }
   231  
   232  func (WorkspaceSamlConfigurationState) ElementType() reflect.Type {
   233  	return reflect.TypeOf((*workspaceSamlConfigurationState)(nil)).Elem()
   234  }
   235  
   236  type workspaceSamlConfigurationArgs struct {
   237  	// The admin role values.
   238  	AdminRoleValues []string `pulumi:"adminRoleValues"`
   239  	// The allowed organizations.
   240  	AllowedOrganizations []string `pulumi:"allowedOrganizations"`
   241  	// The editor role values.
   242  	EditorRoleValues []string `pulumi:"editorRoleValues"`
   243  	// The email assertion.
   244  	EmailAssertion *string `pulumi:"emailAssertion"`
   245  	// The groups assertion.
   246  	GroupsAssertion *string `pulumi:"groupsAssertion"`
   247  	// The IDP Metadata URL. Note that either `idpMetadataUrl` or `idpMetadataXml` (but not both) must be specified.
   248  	IdpMetadataUrl *string `pulumi:"idpMetadataUrl"`
   249  	// The IDP Metadata XML. Note that either `idpMetadataUrl` or `idpMetadataXml` (but not both) must be specified.
   250  	IdpMetadataXml *string `pulumi:"idpMetadataXml"`
   251  	// The login assertion.
   252  	LoginAssertion *string `pulumi:"loginAssertion"`
   253  	// The login validity duration.
   254  	LoginValidityDuration *int `pulumi:"loginValidityDuration"`
   255  	// The name assertion.
   256  	NameAssertion *string `pulumi:"nameAssertion"`
   257  	// The org assertion.
   258  	OrgAssertion *string `pulumi:"orgAssertion"`
   259  	// The role assertion.
   260  	RoleAssertion *string `pulumi:"roleAssertion"`
   261  	// The workspace id.
   262  	//
   263  	// The following arguments are optional:
   264  	WorkspaceId string `pulumi:"workspaceId"`
   265  }
   266  
   267  // The set of arguments for constructing a WorkspaceSamlConfiguration resource.
   268  type WorkspaceSamlConfigurationArgs struct {
   269  	// The admin role values.
   270  	AdminRoleValues pulumi.StringArrayInput
   271  	// The allowed organizations.
   272  	AllowedOrganizations pulumi.StringArrayInput
   273  	// The editor role values.
   274  	EditorRoleValues pulumi.StringArrayInput
   275  	// The email assertion.
   276  	EmailAssertion pulumi.StringPtrInput
   277  	// The groups assertion.
   278  	GroupsAssertion pulumi.StringPtrInput
   279  	// The IDP Metadata URL. Note that either `idpMetadataUrl` or `idpMetadataXml` (but not both) must be specified.
   280  	IdpMetadataUrl pulumi.StringPtrInput
   281  	// The IDP Metadata XML. Note that either `idpMetadataUrl` or `idpMetadataXml` (but not both) must be specified.
   282  	IdpMetadataXml pulumi.StringPtrInput
   283  	// The login assertion.
   284  	LoginAssertion pulumi.StringPtrInput
   285  	// The login validity duration.
   286  	LoginValidityDuration pulumi.IntPtrInput
   287  	// The name assertion.
   288  	NameAssertion pulumi.StringPtrInput
   289  	// The org assertion.
   290  	OrgAssertion pulumi.StringPtrInput
   291  	// The role assertion.
   292  	RoleAssertion pulumi.StringPtrInput
   293  	// The workspace id.
   294  	//
   295  	// The following arguments are optional:
   296  	WorkspaceId pulumi.StringInput
   297  }
   298  
   299  func (WorkspaceSamlConfigurationArgs) ElementType() reflect.Type {
   300  	return reflect.TypeOf((*workspaceSamlConfigurationArgs)(nil)).Elem()
   301  }
   302  
   303  type WorkspaceSamlConfigurationInput interface {
   304  	pulumi.Input
   305  
   306  	ToWorkspaceSamlConfigurationOutput() WorkspaceSamlConfigurationOutput
   307  	ToWorkspaceSamlConfigurationOutputWithContext(ctx context.Context) WorkspaceSamlConfigurationOutput
   308  }
   309  
   310  func (*WorkspaceSamlConfiguration) ElementType() reflect.Type {
   311  	return reflect.TypeOf((**WorkspaceSamlConfiguration)(nil)).Elem()
   312  }
   313  
   314  func (i *WorkspaceSamlConfiguration) ToWorkspaceSamlConfigurationOutput() WorkspaceSamlConfigurationOutput {
   315  	return i.ToWorkspaceSamlConfigurationOutputWithContext(context.Background())
   316  }
   317  
   318  func (i *WorkspaceSamlConfiguration) ToWorkspaceSamlConfigurationOutputWithContext(ctx context.Context) WorkspaceSamlConfigurationOutput {
   319  	return pulumi.ToOutputWithContext(ctx, i).(WorkspaceSamlConfigurationOutput)
   320  }
   321  
   322  // WorkspaceSamlConfigurationArrayInput is an input type that accepts WorkspaceSamlConfigurationArray and WorkspaceSamlConfigurationArrayOutput values.
   323  // You can construct a concrete instance of `WorkspaceSamlConfigurationArrayInput` via:
   324  //
   325  //	WorkspaceSamlConfigurationArray{ WorkspaceSamlConfigurationArgs{...} }
   326  type WorkspaceSamlConfigurationArrayInput interface {
   327  	pulumi.Input
   328  
   329  	ToWorkspaceSamlConfigurationArrayOutput() WorkspaceSamlConfigurationArrayOutput
   330  	ToWorkspaceSamlConfigurationArrayOutputWithContext(context.Context) WorkspaceSamlConfigurationArrayOutput
   331  }
   332  
   333  type WorkspaceSamlConfigurationArray []WorkspaceSamlConfigurationInput
   334  
   335  func (WorkspaceSamlConfigurationArray) ElementType() reflect.Type {
   336  	return reflect.TypeOf((*[]*WorkspaceSamlConfiguration)(nil)).Elem()
   337  }
   338  
   339  func (i WorkspaceSamlConfigurationArray) ToWorkspaceSamlConfigurationArrayOutput() WorkspaceSamlConfigurationArrayOutput {
   340  	return i.ToWorkspaceSamlConfigurationArrayOutputWithContext(context.Background())
   341  }
   342  
   343  func (i WorkspaceSamlConfigurationArray) ToWorkspaceSamlConfigurationArrayOutputWithContext(ctx context.Context) WorkspaceSamlConfigurationArrayOutput {
   344  	return pulumi.ToOutputWithContext(ctx, i).(WorkspaceSamlConfigurationArrayOutput)
   345  }
   346  
   347  // WorkspaceSamlConfigurationMapInput is an input type that accepts WorkspaceSamlConfigurationMap and WorkspaceSamlConfigurationMapOutput values.
   348  // You can construct a concrete instance of `WorkspaceSamlConfigurationMapInput` via:
   349  //
   350  //	WorkspaceSamlConfigurationMap{ "key": WorkspaceSamlConfigurationArgs{...} }
   351  type WorkspaceSamlConfigurationMapInput interface {
   352  	pulumi.Input
   353  
   354  	ToWorkspaceSamlConfigurationMapOutput() WorkspaceSamlConfigurationMapOutput
   355  	ToWorkspaceSamlConfigurationMapOutputWithContext(context.Context) WorkspaceSamlConfigurationMapOutput
   356  }
   357  
   358  type WorkspaceSamlConfigurationMap map[string]WorkspaceSamlConfigurationInput
   359  
   360  func (WorkspaceSamlConfigurationMap) ElementType() reflect.Type {
   361  	return reflect.TypeOf((*map[string]*WorkspaceSamlConfiguration)(nil)).Elem()
   362  }
   363  
   364  func (i WorkspaceSamlConfigurationMap) ToWorkspaceSamlConfigurationMapOutput() WorkspaceSamlConfigurationMapOutput {
   365  	return i.ToWorkspaceSamlConfigurationMapOutputWithContext(context.Background())
   366  }
   367  
   368  func (i WorkspaceSamlConfigurationMap) ToWorkspaceSamlConfigurationMapOutputWithContext(ctx context.Context) WorkspaceSamlConfigurationMapOutput {
   369  	return pulumi.ToOutputWithContext(ctx, i).(WorkspaceSamlConfigurationMapOutput)
   370  }
   371  
   372  type WorkspaceSamlConfigurationOutput struct{ *pulumi.OutputState }
   373  
   374  func (WorkspaceSamlConfigurationOutput) ElementType() reflect.Type {
   375  	return reflect.TypeOf((**WorkspaceSamlConfiguration)(nil)).Elem()
   376  }
   377  
   378  func (o WorkspaceSamlConfigurationOutput) ToWorkspaceSamlConfigurationOutput() WorkspaceSamlConfigurationOutput {
   379  	return o
   380  }
   381  
   382  func (o WorkspaceSamlConfigurationOutput) ToWorkspaceSamlConfigurationOutputWithContext(ctx context.Context) WorkspaceSamlConfigurationOutput {
   383  	return o
   384  }
   385  
   386  // The admin role values.
   387  func (o WorkspaceSamlConfigurationOutput) AdminRoleValues() pulumi.StringArrayOutput {
   388  	return o.ApplyT(func(v *WorkspaceSamlConfiguration) pulumi.StringArrayOutput { return v.AdminRoleValues }).(pulumi.StringArrayOutput)
   389  }
   390  
   391  // The allowed organizations.
   392  func (o WorkspaceSamlConfigurationOutput) AllowedOrganizations() pulumi.StringArrayOutput {
   393  	return o.ApplyT(func(v *WorkspaceSamlConfiguration) pulumi.StringArrayOutput { return v.AllowedOrganizations }).(pulumi.StringArrayOutput)
   394  }
   395  
   396  // The editor role values.
   397  func (o WorkspaceSamlConfigurationOutput) EditorRoleValues() pulumi.StringArrayOutput {
   398  	return o.ApplyT(func(v *WorkspaceSamlConfiguration) pulumi.StringArrayOutput { return v.EditorRoleValues }).(pulumi.StringArrayOutput)
   399  }
   400  
   401  // The email assertion.
   402  func (o WorkspaceSamlConfigurationOutput) EmailAssertion() pulumi.StringOutput {
   403  	return o.ApplyT(func(v *WorkspaceSamlConfiguration) pulumi.StringOutput { return v.EmailAssertion }).(pulumi.StringOutput)
   404  }
   405  
   406  // The groups assertion.
   407  func (o WorkspaceSamlConfigurationOutput) GroupsAssertion() pulumi.StringPtrOutput {
   408  	return o.ApplyT(func(v *WorkspaceSamlConfiguration) pulumi.StringPtrOutput { return v.GroupsAssertion }).(pulumi.StringPtrOutput)
   409  }
   410  
   411  // The IDP Metadata URL. Note that either `idpMetadataUrl` or `idpMetadataXml` (but not both) must be specified.
   412  func (o WorkspaceSamlConfigurationOutput) IdpMetadataUrl() pulumi.StringPtrOutput {
   413  	return o.ApplyT(func(v *WorkspaceSamlConfiguration) pulumi.StringPtrOutput { return v.IdpMetadataUrl }).(pulumi.StringPtrOutput)
   414  }
   415  
   416  // The IDP Metadata XML. Note that either `idpMetadataUrl` or `idpMetadataXml` (but not both) must be specified.
   417  func (o WorkspaceSamlConfigurationOutput) IdpMetadataXml() pulumi.StringPtrOutput {
   418  	return o.ApplyT(func(v *WorkspaceSamlConfiguration) pulumi.StringPtrOutput { return v.IdpMetadataXml }).(pulumi.StringPtrOutput)
   419  }
   420  
   421  // The login assertion.
   422  func (o WorkspaceSamlConfigurationOutput) LoginAssertion() pulumi.StringOutput {
   423  	return o.ApplyT(func(v *WorkspaceSamlConfiguration) pulumi.StringOutput { return v.LoginAssertion }).(pulumi.StringOutput)
   424  }
   425  
   426  // The login validity duration.
   427  func (o WorkspaceSamlConfigurationOutput) LoginValidityDuration() pulumi.IntOutput {
   428  	return o.ApplyT(func(v *WorkspaceSamlConfiguration) pulumi.IntOutput { return v.LoginValidityDuration }).(pulumi.IntOutput)
   429  }
   430  
   431  // The name assertion.
   432  func (o WorkspaceSamlConfigurationOutput) NameAssertion() pulumi.StringOutput {
   433  	return o.ApplyT(func(v *WorkspaceSamlConfiguration) pulumi.StringOutput { return v.NameAssertion }).(pulumi.StringOutput)
   434  }
   435  
   436  // The org assertion.
   437  func (o WorkspaceSamlConfigurationOutput) OrgAssertion() pulumi.StringPtrOutput {
   438  	return o.ApplyT(func(v *WorkspaceSamlConfiguration) pulumi.StringPtrOutput { return v.OrgAssertion }).(pulumi.StringPtrOutput)
   439  }
   440  
   441  // The role assertion.
   442  func (o WorkspaceSamlConfigurationOutput) RoleAssertion() pulumi.StringPtrOutput {
   443  	return o.ApplyT(func(v *WorkspaceSamlConfiguration) pulumi.StringPtrOutput { return v.RoleAssertion }).(pulumi.StringPtrOutput)
   444  }
   445  
   446  // The status of the SAML configuration.
   447  func (o WorkspaceSamlConfigurationOutput) Status() pulumi.StringOutput {
   448  	return o.ApplyT(func(v *WorkspaceSamlConfiguration) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput)
   449  }
   450  
   451  // The workspace id.
   452  //
   453  // The following arguments are optional:
   454  func (o WorkspaceSamlConfigurationOutput) WorkspaceId() pulumi.StringOutput {
   455  	return o.ApplyT(func(v *WorkspaceSamlConfiguration) pulumi.StringOutput { return v.WorkspaceId }).(pulumi.StringOutput)
   456  }
   457  
   458  type WorkspaceSamlConfigurationArrayOutput struct{ *pulumi.OutputState }
   459  
   460  func (WorkspaceSamlConfigurationArrayOutput) ElementType() reflect.Type {
   461  	return reflect.TypeOf((*[]*WorkspaceSamlConfiguration)(nil)).Elem()
   462  }
   463  
   464  func (o WorkspaceSamlConfigurationArrayOutput) ToWorkspaceSamlConfigurationArrayOutput() WorkspaceSamlConfigurationArrayOutput {
   465  	return o
   466  }
   467  
   468  func (o WorkspaceSamlConfigurationArrayOutput) ToWorkspaceSamlConfigurationArrayOutputWithContext(ctx context.Context) WorkspaceSamlConfigurationArrayOutput {
   469  	return o
   470  }
   471  
   472  func (o WorkspaceSamlConfigurationArrayOutput) Index(i pulumi.IntInput) WorkspaceSamlConfigurationOutput {
   473  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *WorkspaceSamlConfiguration {
   474  		return vs[0].([]*WorkspaceSamlConfiguration)[vs[1].(int)]
   475  	}).(WorkspaceSamlConfigurationOutput)
   476  }
   477  
   478  type WorkspaceSamlConfigurationMapOutput struct{ *pulumi.OutputState }
   479  
   480  func (WorkspaceSamlConfigurationMapOutput) ElementType() reflect.Type {
   481  	return reflect.TypeOf((*map[string]*WorkspaceSamlConfiguration)(nil)).Elem()
   482  }
   483  
   484  func (o WorkspaceSamlConfigurationMapOutput) ToWorkspaceSamlConfigurationMapOutput() WorkspaceSamlConfigurationMapOutput {
   485  	return o
   486  }
   487  
   488  func (o WorkspaceSamlConfigurationMapOutput) ToWorkspaceSamlConfigurationMapOutputWithContext(ctx context.Context) WorkspaceSamlConfigurationMapOutput {
   489  	return o
   490  }
   491  
   492  func (o WorkspaceSamlConfigurationMapOutput) MapIndex(k pulumi.StringInput) WorkspaceSamlConfigurationOutput {
   493  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *WorkspaceSamlConfiguration {
   494  		return vs[0].(map[string]*WorkspaceSamlConfiguration)[vs[1].(string)]
   495  	}).(WorkspaceSamlConfigurationOutput)
   496  }
   497  
   498  func init() {
   499  	pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceSamlConfigurationInput)(nil)).Elem(), &WorkspaceSamlConfiguration{})
   500  	pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceSamlConfigurationArrayInput)(nil)).Elem(), WorkspaceSamlConfigurationArray{})
   501  	pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceSamlConfigurationMapInput)(nil)).Elem(), WorkspaceSamlConfigurationMap{})
   502  	pulumi.RegisterOutputType(WorkspaceSamlConfigurationOutput{})
   503  	pulumi.RegisterOutputType(WorkspaceSamlConfigurationArrayOutput{})
   504  	pulumi.RegisterOutputType(WorkspaceSamlConfigurationMapOutput{})
   505  }