Class: AWSCDK::Datasync::CfnAgentProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
datasync/cfn_agent_props.rb

Overview

Properties for defining a CfnAgent.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(activation_key: nil, agent_name: nil, security_group_arns: nil, subnet_arns: nil, tags: nil, vpc_endpoint_id: nil) ⇒ CfnAgentProps

Returns a new instance of CfnAgentProps.

Parameters:

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

    Specifies your DataSync agent's activation key.

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

    Specifies a name for your agent.

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

    The Amazon Resource Names (ARNs) of the security groups used to protect your data transfer task subnets.

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

    Specifies the ARN of the subnet where your VPC service endpoint is located.

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

    Specifies labels that help you categorize, filter, and search for your AWS resources.

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

    The ID of the virtual private cloud (VPC) endpoint that the agent has access to.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'datasync/cfn_agent_props.rb', line 15

def initialize(activation_key: nil, agent_name: nil, security_group_arns: nil, subnet_arns: nil, tags: nil, vpc_endpoint_id: nil)
  @activation_key = activation_key
  Jsii::Type.check_type(@activation_key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "activationKey") unless @activation_key.nil?
  @agent_name = agent_name
  Jsii::Type.check_type(@agent_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "agentName") unless @agent_name.nil?
  @security_group_arns = security_group_arns
  Jsii::Type.check_type(@security_group_arns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "securityGroupArns") unless @security_group_arns.nil?
  @subnet_arns = subnet_arns
  Jsii::Type.check_type(@subnet_arns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "subnetArns") unless @subnet_arns.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?
  @vpc_endpoint_id = vpc_endpoint_id
  Jsii::Type.check_type(@vpc_endpoint_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "vpcEndpointId") unless @vpc_endpoint_id.nil?
end

Instance Attribute Details

#activation_keyString? (readonly)

Specifies your DataSync agent's activation key.

If you don't have an activation key, see Activating your agent .



36
37
38
# File 'datasync/cfn_agent_props.rb', line 36

def activation_key
  @activation_key
end

#agent_nameString? (readonly)

Specifies a name for your agent.

We recommend specifying a name that you can remember.



43
44
45
# File 'datasync/cfn_agent_props.rb', line 43

def agent_name
  @agent_name
end

#security_group_arnsArray<String>? (readonly)

The Amazon Resource Names (ARNs) of the security groups used to protect your data transfer task subnets.

See SecurityGroupArns .

Pattern : ^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\-0-9]*:[0-9]{12}:security-group/.*$



52
53
54
# File 'datasync/cfn_agent_props.rb', line 52

def security_group_arns
  @security_group_arns
end

#subnet_arnsArray<String>? (readonly)

Specifies the ARN of the subnet where your VPC service endpoint is located.

You can only specify one ARN.



59
60
61
# File 'datasync/cfn_agent_props.rb', line 59

def subnet_arns
  @subnet_arns
end

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

Specifies labels that help you categorize, filter, and search for your AWS resources.

We recommend creating at least one tag for your agent.



66
67
68
# File 'datasync/cfn_agent_props.rb', line 66

def tags
  @tags
end

#vpc_endpoint_idString? (readonly)

The ID of the virtual private cloud (VPC) endpoint that the agent has access to.

This is the client-side VPC endpoint, powered by AWS PrivateLink . If you don't have an AWS PrivateLink VPC endpoint, see AWS PrivateLink and VPC endpoints in the Amazon VPC User Guide .

For more information about activating your agent in a private network based on a VPC, see Using AWS DataSync in a Virtual Private Cloud in the AWS DataSync User Guide.

A VPC endpoint ID looks like this: vpce-01234d5aff67890e1 .



77
78
79
# File 'datasync/cfn_agent_props.rb', line 77

def vpc_endpoint_id
  @vpc_endpoint_id
end

Class Method Details

.jsii_propertiesObject



79
80
81
82
83
84
85
86
87
88
# File 'datasync/cfn_agent_props.rb', line 79

def self.jsii_properties
  {
    :activation_key => "activationKey",
    :agent_name => "agentName",
    :security_group_arns => "securityGroupArns",
    :subnet_arns => "subnetArns",
    :tags => "tags",
    :vpc_endpoint_id => "vpcEndpointId",
  }
end

Instance Method Details

#to_jsiiObject



90
91
92
93
94
95
96
97
98
99
100
101
# File 'datasync/cfn_agent_props.rb', line 90

def to_jsii
  result = {}
  result.merge!({
    "activationKey" => @activation_key,
    "agentName" => @agent_name,
    "securityGroupArns" => @security_group_arns,
    "subnetArns" => @subnet_arns,
    "tags" => @tags,
    "vpcEndpointId" => @vpc_endpoint_id,
  })
  result.compact
end