Class: AWSCDK::Grafana::CfnWorkspace::SamlConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
grafana/cfn_workspace.rb

Overview

A structure containing information about how this workspace works with SAML.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(idp_metadata:, allowed_organizations: nil, assertion_attributes: nil, login_validity_duration: nil, role_values: nil) ⇒ SamlConfigurationProperty

Returns a new instance of SamlConfigurationProperty.

Parameters:

  • idp_metadata (AWSCDK::IResolvable, AWSCDK::Grafana::CfnWorkspace::IdpMetadataProperty)

    A structure containing the identity provider (IdP) metadata used to integrate the identity provider with this workspace.

  • allowed_organizations (Array<String>, nil) (defaults to: nil)

    Lists which organizations defined in the SAML assertion are allowed to use the Amazon Managed Grafana workspace.

  • assertion_attributes (AWSCDK::IResolvable, AWSCDK::Grafana::CfnWorkspace::AssertionAttributesProperty, nil) (defaults to: nil)

    A structure that defines which attributes in the SAML assertion are to be used to define information about the users authenticated by that IdP to use the workspace.

  • login_validity_duration (Numeric, nil) (defaults to: nil)

    How long a sign-on session by a SAML user is valid, before the user has to sign on again.

  • role_values (AWSCDK::IResolvable, AWSCDK::Grafana::CfnWorkspace::RoleValuesProperty, nil) (defaults to: nil)

    A structure containing arrays that map group names in the SAML assertion to the Grafana Admin and Editor roles in the workspace.



1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
# File 'grafana/cfn_workspace.rb', line 1033

def initialize(idp_metadata:, allowed_organizations: nil, assertion_attributes: nil, login_validity_duration: nil, role_values: nil)
  @idp_metadata = .is_a?(Hash) ? ::AWSCDK::Grafana::CfnWorkspace::IdpMetadataProperty.new(**.transform_keys(&:to_sym)) : 
  Jsii::Type.check_type(@idp_metadata, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ncmFmYW5hLkNmbldvcmtzcGFjZS5JZHBNZXRhZGF0YVByb3BlcnR5In1dfX0=")), "idpMetadata")
  @allowed_organizations = allowed_organizations
  Jsii::Type.check_type(@allowed_organizations, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "allowedOrganizations") unless @allowed_organizations.nil?
  @assertion_attributes = assertion_attributes.is_a?(Hash) ? ::AWSCDK::Grafana::CfnWorkspace::AssertionAttributesProperty.new(**assertion_attributes.transform_keys(&:to_sym)) : assertion_attributes
  Jsii::Type.check_type(@assertion_attributes, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ncmFmYW5hLkNmbldvcmtzcGFjZS5Bc3NlcnRpb25BdHRyaWJ1dGVzUHJvcGVydHkifV19fQ==")), "assertionAttributes") unless @assertion_attributes.nil?
  @login_validity_duration = 
  Jsii::Type.check_type(@login_validity_duration, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "loginValidityDuration") unless @login_validity_duration.nil?
  @role_values = role_values.is_a?(Hash) ? ::AWSCDK::Grafana::CfnWorkspace::RoleValuesProperty.new(**role_values.transform_keys(&:to_sym)) : role_values
  Jsii::Type.check_type(@role_values, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ncmFmYW5hLkNmbldvcmtzcGFjZS5Sb2xlVmFsdWVzUHJvcGVydHkifV19fQ==")), "roleValues") unless @role_values.nil?
end

Instance Attribute Details

#allowed_organizationsArray<String>? (readonly)

Lists which organizations defined in the SAML assertion are allowed to use the Amazon Managed Grafana workspace.

If this is empty, all organizations in the assertion attribute have access.



1057
1058
1059
# File 'grafana/cfn_workspace.rb', line 1057

def allowed_organizations
  @allowed_organizations
end

#assertion_attributesAWSCDK::IResolvable, ... (readonly)

A structure that defines which attributes in the SAML assertion are to be used to define information about the users authenticated by that IdP to use the workspace.



1062
1063
1064
# File 'grafana/cfn_workspace.rb', line 1062

def assertion_attributes
  @assertion_attributes
end

#idp_metadataAWSCDK::IResolvable, AWSCDK::Grafana::CfnWorkspace::IdpMetadataProperty (readonly)

A structure containing the identity provider (IdP) metadata used to integrate the identity provider with this workspace.



1050
1051
1052
# File 'grafana/cfn_workspace.rb', line 1050

def 
  @idp_metadata
end

#login_validity_durationNumeric? (readonly)

How long a sign-on session by a SAML user is valid, before the user has to sign on again.



1067
1068
1069
# File 'grafana/cfn_workspace.rb', line 1067

def 
  @login_validity_duration
end

#role_valuesAWSCDK::IResolvable, ... (readonly)

A structure containing arrays that map group names in the SAML assertion to the Grafana Admin and Editor roles in the workspace.



1072
1073
1074
# File 'grafana/cfn_workspace.rb', line 1072

def role_values
  @role_values
end

Class Method Details

.jsii_propertiesObject



1074
1075
1076
1077
1078
1079
1080
1081
1082
# File 'grafana/cfn_workspace.rb', line 1074

def self.jsii_properties
  {
    :idp_metadata => "idpMetadata",
    :allowed_organizations => "allowedOrganizations",
    :assertion_attributes => "assertionAttributes",
    :login_validity_duration => "loginValidityDuration",
    :role_values => "roleValues",
  }
end

Instance Method Details

#to_jsiiObject



1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
# File 'grafana/cfn_workspace.rb', line 1084

def to_jsii
  result = {}
  result.merge!({
    "idpMetadata" => @idp_metadata,
    "allowedOrganizations" => @allowed_organizations,
    "assertionAttributes" => @assertion_attributes,
    "loginValidityDuration" => @login_validity_duration,
    "roleValues" => @role_values,
  })
  result.compact
end