Class: AWSCDK::Connect::CfnSecurityProfileProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
connect/cfn_security_profile_props.rb

Overview

Properties for defining a CfnSecurityProfile.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(instance_arn:, security_profile_name:, allowed_access_control_hierarchy_group_id: nil, allowed_access_control_tags: nil, allowed_flow_modules: nil, applications: nil, description: nil, granular_access_control_configuration: nil, hierarchy_restricted_resources: nil, permissions: nil, tag_restricted_resources: nil, tags: nil) ⇒ CfnSecurityProfileProps

Returns a new instance of CfnSecurityProfileProps.

Parameters:

  • instance_arn (String, AWSCDK::Interfaces::AWSConnect::IInstanceRef)

    The identifier of the Connect Customer instance.

  • security_profile_name (String)

    The name for the security profile.

  • allowed_access_control_hierarchy_group_id (String, nil) (defaults to: nil)

    The identifier of the hierarchy group that a security profile uses to restrict access to resources in Amazon Connect.

  • allowed_access_control_tags (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::CfnTag>, nil) (defaults to: nil)

    The list of tags that a security profile uses to restrict access to resources in Amazon Connect.

  • allowed_flow_modules (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Connect::CfnSecurityProfile::FlowModuleProperty>, nil) (defaults to: nil)

    The list of flow-module resources to be linked to a security profile in Amazon Connect.

  • applications (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Connect::CfnSecurityProfile::ApplicationProperty>, nil) (defaults to: nil)

    A list of third-party applications that the security profile will give access to.

  • description (String, nil) (defaults to: nil)

    The description of the security profile.

  • granular_access_control_configuration (AWSCDK::IResolvable, AWSCDK::Connect::CfnSecurityProfile::GranularAccessControlConfigurationProperty, nil) (defaults to: nil)

    The granular access control configuration for the security profile, including data table permissions.

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

    The list of resources that a security profile applies hierarchy restrictions to in Amazon Connect.

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

    Permissions assigned to the security profile.

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

    The list of resources that a security profile applies tag restrictions to in Amazon Connect.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    The tags used to organize, track, or control access for this resource.



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'connect/cfn_security_profile_props.rb', line 21

def initialize(instance_arn:, security_profile_name:, allowed_access_control_hierarchy_group_id: nil, allowed_access_control_tags: nil, allowed_flow_modules: nil, applications: nil, description: nil, granular_access_control_configuration: nil, hierarchy_restricted_resources: nil, permissions: nil, tag_restricted_resources: nil, tags: nil)
  @instance_arn = instance_arn
  Jsii::Type.check_type(@instance_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19jb25uZWN0LklJbnN0YW5jZVJlZiJ9XX19")), "instanceArn")
  @security_profile_name = security_profile_name
  Jsii::Type.check_type(@security_profile_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "securityProfileName")
  @allowed_access_control_hierarchy_group_id = allowed_access_control_hierarchy_group_id
  Jsii::Type.check_type(@allowed_access_control_hierarchy_group_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "allowedAccessControlHierarchyGroupId") unless @allowed_access_control_hierarchy_group_id.nil?
  @allowed_access_control_tags = allowed_access_control_tags
  Jsii::Type.check_type(@allowed_access_control_tags, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5UYWcifV19fSwia2luZCI6ImFycmF5In19XX19")), "allowedAccessControlTags") unless @allowed_access_control_tags.nil?
  @allowed_flow_modules = allowed_flow_modules
  Jsii::Type.check_type(@allowed_flow_modules, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29ubmVjdC5DZm5TZWN1cml0eVByb2ZpbGUuRmxvd01vZHVsZVByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "allowedFlowModules") unless @allowed_flow_modules.nil?
  @applications = applications
  Jsii::Type.check_type(@applications, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29ubmVjdC5DZm5TZWN1cml0eVByb2ZpbGUuQXBwbGljYXRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "applications") unless @applications.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @granular_access_control_configuration = granular_access_control_configuration.is_a?(Hash) ? ::AWSCDK::Connect::CfnSecurityProfile::GranularAccessControlConfigurationProperty.new(**granular_access_control_configuration.transform_keys(&:to_sym)) : granular_access_control_configuration
  Jsii::Type.check_type(@granular_access_control_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jb25uZWN0LkNmblNlY3VyaXR5UHJvZmlsZS5HcmFudWxhckFjY2Vzc0NvbnRyb2xDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "granularAccessControlConfiguration") unless @granular_access_control_configuration.nil?
  @hierarchy_restricted_resources = hierarchy_restricted_resources
  Jsii::Type.check_type(@hierarchy_restricted_resources, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "hierarchyRestrictedResources") unless @hierarchy_restricted_resources.nil?
  @permissions = permissions
  Jsii::Type.check_type(@permissions, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "permissions") unless @permissions.nil?
  @tag_restricted_resources = tag_restricted_resources
  Jsii::Type.check_type(@tag_restricted_resources, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tagRestrictedResources") unless @tag_restricted_resources.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#allowed_access_control_hierarchy_group_idString? (readonly)

The identifier of the hierarchy group that a security profile uses to restrict access to resources in Amazon Connect.



62
63
64
# File 'connect/cfn_security_profile_props.rb', line 62

def allowed_access_control_hierarchy_group_id
  @allowed_access_control_hierarchy_group_id
end

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

The list of tags that a security profile uses to restrict access to resources in Amazon Connect.



67
68
69
# File 'connect/cfn_security_profile_props.rb', line 67

def allowed_access_control_tags
  @allowed_access_control_tags
end

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

The list of flow-module resources to be linked to a security profile in Amazon Connect.



72
73
74
# File 'connect/cfn_security_profile_props.rb', line 72

def allowed_flow_modules
  @allowed_flow_modules
end

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

A list of third-party applications that the security profile will give access to.



77
78
79
# File 'connect/cfn_security_profile_props.rb', line 77

def applications
  @applications
end

#descriptionString? (readonly)

The description of the security profile.



82
83
84
# File 'connect/cfn_security_profile_props.rb', line 82

def description
  @description
end

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

The granular access control configuration for the security profile, including data table permissions.



87
88
89
# File 'connect/cfn_security_profile_props.rb', line 87

def granular_access_control_configuration
  @granular_access_control_configuration
end

#hierarchy_restricted_resourcesArray<String>? (readonly)

The list of resources that a security profile applies hierarchy restrictions to in Amazon Connect.

Following are acceptable ResourceNames: User .



94
95
96
# File 'connect/cfn_security_profile_props.rb', line 94

def hierarchy_restricted_resources
  @hierarchy_restricted_resources
end

#instance_arnString, AWSCDK::Interfaces::AWSConnect::IInstanceRef (readonly)

The identifier of the Connect Customer instance.



52
53
54
# File 'connect/cfn_security_profile_props.rb', line 52

def instance_arn
  @instance_arn
end

#permissionsArray<String>? (readonly)

Permissions assigned to the security profile.

For a list of valid permissions, see List of security profile permissions .



101
102
103
# File 'connect/cfn_security_profile_props.rb', line 101

def permissions
  @permissions
end

#security_profile_nameString (readonly)

The name for the security profile.



57
58
59
# File 'connect/cfn_security_profile_props.rb', line 57

def security_profile_name
  @security_profile_name
end

#tag_restricted_resourcesArray<String>? (readonly)

The list of resources that a security profile applies tag restrictions to in Amazon Connect.



106
107
108
# File 'connect/cfn_security_profile_props.rb', line 106

def tag_restricted_resources
  @tag_restricted_resources
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

The tags used to organize, track, or control access for this resource.

For example, { "Tags": "key2":"value2" }.



113
114
115
# File 'connect/cfn_security_profile_props.rb', line 113

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# File 'connect/cfn_security_profile_props.rb', line 115

def self.jsii_properties
  {
    :instance_arn => "instanceArn",
    :security_profile_name => "securityProfileName",
    :allowed_access_control_hierarchy_group_id => "allowedAccessControlHierarchyGroupId",
    :allowed_access_control_tags => "allowedAccessControlTags",
    :allowed_flow_modules => "allowedFlowModules",
    :applications => "applications",
    :description => "description",
    :granular_access_control_configuration => "granularAccessControlConfiguration",
    :hierarchy_restricted_resources => "hierarchyRestrictedResources",
    :permissions => "permissions",
    :tag_restricted_resources => "tagRestrictedResources",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'connect/cfn_security_profile_props.rb', line 132

def to_jsii
  result = {}
  result.merge!({
    "instanceArn" => @instance_arn,
    "securityProfileName" => @security_profile_name,
    "allowedAccessControlHierarchyGroupId" => @allowed_access_control_hierarchy_group_id,
    "allowedAccessControlTags" => @allowed_access_control_tags,
    "allowedFlowModules" => @allowed_flow_modules,
    "applications" => @applications,
    "description" => @description,
    "granularAccessControlConfiguration" => @granular_access_control_configuration,
    "hierarchyRestrictedResources" => @hierarchy_restricted_resources,
    "permissions" => @permissions,
    "tagRestrictedResources" => @tag_restricted_resources,
    "tags" => @tags,
  })
  result.compact
end