Class: AWSCDK::AppSync::CfnGraphQLAPI::AdditionalAuthenticationProviderProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
app_sync/cfn_graph_qlapi.rb

Overview

Describes an additional authentication provider.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(authentication_type:, lambda_authorizer_config: nil, open_id_connect_config: nil, user_pool_config: nil) ⇒ AdditionalAuthenticationProviderProperty

Returns a new instance of AdditionalAuthenticationProviderProperty.

Parameters:



798
799
800
801
802
803
804
805
806
807
# File 'app_sync/cfn_graph_qlapi.rb', line 798

def initialize(authentication_type:, lambda_authorizer_config: nil, open_id_connect_config: nil, user_pool_config: nil)
  @authentication_type = authentication_type
  Jsii::Type.check_type(@authentication_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "authenticationType")
  @lambda_authorizer_config = lambda_authorizer_config.is_a?(Hash) ? ::AWSCDK::AppSync::CfnGraphQLAPI::LambdaAuthorizerConfigProperty.new(**lambda_authorizer_config.transform_keys(&:to_sym)) : lambda_authorizer_config
  Jsii::Type.check_type(@lambda_authorizer_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBzeW5jLkNmbkdyYXBoUUxBcGkuTGFtYmRhQXV0aG9yaXplckNvbmZpZ1Byb3BlcnR5In1dfX0=")), "lambdaAuthorizerConfig") unless @lambda_authorizer_config.nil?
  @open_id_connect_config = open_id_connect_config.is_a?(Hash) ? ::AWSCDK::AppSync::CfnGraphQLAPI::OpenIDConnectConfigProperty.new(**open_id_connect_config.transform_keys(&:to_sym)) : open_id_connect_config
  Jsii::Type.check_type(@open_id_connect_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBzeW5jLkNmbkdyYXBoUUxBcGkuT3BlbklEQ29ubmVjdENvbmZpZ1Byb3BlcnR5In1dfX0=")), "openIdConnectConfig") unless @open_id_connect_config.nil?
  @user_pool_config = user_pool_config.is_a?(Hash) ? ::AWSCDK::AppSync::CfnGraphQLAPI::CognitoUserPoolConfigProperty.new(**user_pool_config.transform_keys(&:to_sym)) : user_pool_config
  Jsii::Type.check_type(@user_pool_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBzeW5jLkNmbkdyYXBoUUxBcGkuQ29nbml0b1VzZXJQb29sQ29uZmlnUHJvcGVydHkifV19fQ==")), "userPoolConfig") unless @user_pool_config.nil?
end

Instance Attribute Details

#authentication_typeString (readonly)

The authentication type for API key, AWS Identity and Access Management , OIDC, Amazon Cognito user pools , or AWS Lambda .

Valid Values: API_KEY | AWS_IAM | OPENID_CONNECT | AMAZON_COGNITO_USER_POOLS | AWS_LAMBDA



815
816
817
# File 'app_sync/cfn_graph_qlapi.rb', line 815

def authentication_type
  @authentication_type
end

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

Configuration for AWS Lambda function authorization.



820
821
822
# File 'app_sync/cfn_graph_qlapi.rb', line 820

def lambda_authorizer_config
  @lambda_authorizer_config
end

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

The OIDC configuration.



825
826
827
# File 'app_sync/cfn_graph_qlapi.rb', line 825

def open_id_connect_config
  @open_id_connect_config
end

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

The Amazon Cognito user pool configuration.



830
831
832
# File 'app_sync/cfn_graph_qlapi.rb', line 830

def user_pool_config
  @user_pool_config
end

Class Method Details

.jsii_propertiesObject



832
833
834
835
836
837
838
839
# File 'app_sync/cfn_graph_qlapi.rb', line 832

def self.jsii_properties
  {
    :authentication_type => "authenticationType",
    :lambda_authorizer_config => "lambdaAuthorizerConfig",
    :open_id_connect_config => "openIdConnectConfig",
    :user_pool_config => "userPoolConfig",
  }
end

Instance Method Details

#to_jsiiObject



841
842
843
844
845
846
847
848
849
850
# File 'app_sync/cfn_graph_qlapi.rb', line 841

def to_jsii
  result = {}
  result.merge!({
    "authenticationType" => @authentication_type,
    "lambdaAuthorizerConfig" => @lambda_authorizer_config,
    "openIdConnectConfig" => @open_id_connect_config,
    "userPoolConfig" => @user_pool_config,
  })
  result.compact
end