Class: AWSCDK::Transfer::CfnConnectorProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Transfer::CfnConnectorProps
- Defined in:
- transfer/cfn_connector_props.rb
Overview
Properties for defining a CfnConnector.
Instance Attribute Summary collapse
-
#access_role ⇒ String
readonly
Connectors are used to send files using either the AS2 or SFTP protocol.
-
#as2_config ⇒ Object?
readonly
A structure that contains the parameters for an AS2 connector object.
-
#egress_config ⇒ AWSCDK::IResolvable, ...
readonly
Current egress configuration of the connector, showing how traffic is routed to the SFTP server.
-
#egress_type ⇒ String?
readonly
Type of egress configuration for the connector.
-
#ip_address_type ⇒ String?
readonly
IP address type for Connector.
-
#logging_role ⇒ String?
readonly
The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a connector to turn on CloudWatch logging for Amazon S3 events.
-
#security_policy_name ⇒ String?
readonly
The text name of the security policy for the specified connector.
-
#sftp_config ⇒ AWSCDK::IResolvable, ...
readonly
A structure that contains the parameters for an SFTP connector object.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
Key-value pairs that can be used to group and search for connectors.
-
#url ⇒ String?
readonly
The URL of the partner's AS2 or SFTP endpoint.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(access_role:, as2_config: nil, egress_config: nil, egress_type: nil, ip_address_type: nil, logging_role: nil, security_policy_name: nil, sftp_config: nil, tags: nil, url: nil) ⇒ CfnConnectorProps
constructor
A new instance of CfnConnectorProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(access_role:, as2_config: nil, egress_config: nil, egress_type: nil, ip_address_type: nil, logging_role: nil, security_policy_name: nil, sftp_config: nil, tags: nil, url: nil) ⇒ CfnConnectorProps
Returns a new instance of CfnConnectorProps.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'transfer/cfn_connector_props.rb', line 19 def initialize(access_role:, as2_config: nil, egress_config: nil, egress_type: nil, ip_address_type: nil, logging_role: nil, security_policy_name: nil, sftp_config: nil, tags: nil, url: nil) @access_role = access_role Jsii::Type.check_type(@access_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "accessRole") @as2_config = as2_config Jsii::Type.check_type(@as2_config, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "as2Config") unless @as2_config.nil? @egress_config = egress_config.is_a?(Hash) ? ::AWSCDK::Transfer::CfnConnector::ConnectorEgressConfigProperty.new(**egress_config.transform_keys(&:to_sym)) : egress_config Jsii::Type.check_type(@egress_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c190cmFuc2Zlci5DZm5Db25uZWN0b3IuQ29ubmVjdG9yRWdyZXNzQ29uZmlnUHJvcGVydHkifV19fQ==")), "egressConfig") unless @egress_config.nil? @egress_type = egress_type Jsii::Type.check_type(@egress_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "egressType") unless @egress_type.nil? @ip_address_type = ip_address_type Jsii::Type.check_type(@ip_address_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipAddressType") unless @ip_address_type.nil? @logging_role = logging_role Jsii::Type.check_type(@logging_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "loggingRole") unless @logging_role.nil? @security_policy_name = security_policy_name Jsii::Type.check_type(@security_policy_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "securityPolicyName") unless @security_policy_name.nil? @sftp_config = sftp_config.is_a?(Hash) ? ::AWSCDK::Transfer::CfnConnector::SftpConfigProperty.new(**sftp_config.transform_keys(&:to_sym)) : sftp_config Jsii::Type.check_type(@sftp_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c190cmFuc2Zlci5DZm5Db25uZWN0b3IuU2Z0cENvbmZpZ1Byb3BlcnR5In1dfX0=")), "sftpConfig") unless @sftp_config.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? @url = url Jsii::Type.check_type(@url, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "url") unless @url.nil? end |
Instance Attribute Details
#access_role ⇒ String (readonly)
Connectors are used to send files using either the AS2 or SFTP protocol.
For the access role, provide the Amazon Resource Name (ARN) of the AWS Identity and Access Management role to use.
For AS2 connectors
With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths . We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt , parent directory is /bucket/dir/ ) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer .
If you are using Basic authentication for your AS2 connector, the access role requires the secretsmanager:GetSecretValue permission for the secret. If the secret is encrypted using a customer-managed key instead of the AWS managed key in Secrets Manager, then the role also needs the kms:Decrypt permission for that key.
For SFTP connectors
Make sure that the access role provides read and write access to the parent directory of the file location that's used in the StartFileTransfer request. Additionally, make sure that the role provides secretsmanager:GetSecretValue permission to AWS Secrets Manager .
58 59 60 |
# File 'transfer/cfn_connector_props.rb', line 58 def access_role @access_role end |
#as2_config ⇒ Object? (readonly)
A structure that contains the parameters for an AS2 connector object.
63 64 65 |
# File 'transfer/cfn_connector_props.rb', line 63 def as2_config @as2_config end |
#egress_config ⇒ AWSCDK::IResolvable, ... (readonly)
Current egress configuration of the connector, showing how traffic is routed to the SFTP server.
Contains VPC Lattice settings when using VPC_LATTICE egress type.
When using the VPC_LATTICE egress type, AWS Transfer Family uses a managed Service Network to simplify the resource sharing process.
72 73 74 |
# File 'transfer/cfn_connector_props.rb', line 72 def egress_config @egress_config end |
#egress_type ⇒ String? (readonly)
Type of egress configuration for the connector.
SERVICE_MANAGED uses Transfer Family managed NAT gateways, while VPC_LATTICE routes traffic through customer VPCs using VPC Lattice.
79 80 81 |
# File 'transfer/cfn_connector_props.rb', line 79 def egress_type @egress_type end |
#ip_address_type ⇒ String? (readonly)
IP address type for Connector.
84 85 86 |
# File 'transfer/cfn_connector_props.rb', line 84 def ip_address_type @ip_address_type end |
#logging_role ⇒ String? (readonly)
The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a connector to turn on CloudWatch logging for Amazon S3 events.
When set, you can view connector activity in your CloudWatch logs.
91 92 93 |
# File 'transfer/cfn_connector_props.rb', line 91 def logging_role @logging_role end |
#security_policy_name ⇒ String? (readonly)
The text name of the security policy for the specified connector.
96 97 98 |
# File 'transfer/cfn_connector_props.rb', line 96 def security_policy_name @security_policy_name end |
#sftp_config ⇒ AWSCDK::IResolvable, ... (readonly)
A structure that contains the parameters for an SFTP connector object.
101 102 103 |
# File 'transfer/cfn_connector_props.rb', line 101 def sftp_config @sftp_config end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
Key-value pairs that can be used to group and search for connectors.
106 107 108 |
# File 'transfer/cfn_connector_props.rb', line 106 def @tags end |
#url ⇒ String? (readonly)
The URL of the partner's AS2 or SFTP endpoint.
When creating AS2 connectors or service-managed SFTP connectors (connectors without egress configuration), you must provide a URL to specify the remote server endpoint. For VPC Lattice type connectors, the URL must be null.
113 114 115 |
# File 'transfer/cfn_connector_props.rb', line 113 def url @url end |
Class Method Details
.jsii_properties ⇒ Object
115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'transfer/cfn_connector_props.rb', line 115 def self.jsii_properties { :access_role => "accessRole", :as2_config => "as2Config", :egress_config => "egressConfig", :egress_type => "egressType", :ip_address_type => "ipAddressType", :logging_role => "loggingRole", :security_policy_name => "securityPolicyName", :sftp_config => "sftpConfig", :tags => "tags", :url => "url", } end |
Instance Method Details
#to_jsii ⇒ Object
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 |
# File 'transfer/cfn_connector_props.rb', line 130 def to_jsii result = {} result.merge!({ "accessRole" => @access_role, "as2Config" => @as2_config, "egressConfig" => @egress_config, "egressType" => @egress_type, "ipAddressType" => @ip_address_type, "loggingRole" => @logging_role, "securityPolicyName" => @security_policy_name, "sftpConfig" => @sftp_config, "tags" => @tags, "url" => @url, }) result.compact end |