Class: Google::Apis::StoragetransferV1::AwsS3Data

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/storagetransfer_v1/classes.rb,
lib/google/apis/storagetransfer_v1/representations.rb,
lib/google/apis/storagetransfer_v1/representations.rb

Overview

An AwsS3Data resource can be a data source, but not a data sink. In an AwsS3Data resource, an object's name is the S3 object's key name.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ AwsS3Data

Returns a new instance of AwsS3Data.



201
202
203
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 201

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#aws_access_keyGoogle::Apis::StoragetransferV1::AwsAccessKey

AWS access key (see AWS Security Credentials). For information on our data retention policy for user credentials, see User credentials. Corresponds to the JSON property awsAccessKey



149
150
151
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 149

def aws_access_key
  @aws_access_key
end

#bucket_nameString

Required. S3 Bucket name (see Creating a bucket). Corresponds to the JSON property bucketName

Returns:

  • (String)


155
156
157
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 155

def bucket_name
  @bucket_name
end

#cloudfront_domainString

Optional. The CloudFront distribution domain name pointing to this bucket, to use when fetching. See Transfer from S3 via CloudFront for more information. Format: https:/ /id.cloudfront.net or any valid custom domain. Must begin with https://. Corresponds to the JSON property cloudfrontDomain

Returns:

  • (String)


163
164
165
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 163

def cloudfront_domain
  @cloudfront_domain
end

#credentials_secretString

Optional. The Resource name of a secret in Secret Manager. AWS credentials must be stored in Secret Manager in JSON format: "access_key_id": " ACCESS_KEY_ID", "secret_access_key": "SECRET_ACCESS_KEY" GoogleServiceAccount must be granted roles/secretmanager.secretAccessor for the resource. See Configure access to a source: Amazon S3 for more information. If credentials_secret is specified, do not specify role_arn or aws_access_key. Format: projects/project_number/secrets/secret_name` Corresponds to the JSON propertycredentialsSecret`

Returns:

  • (String)


175
176
177
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 175

def credentials_secret
  @credentials_secret
end

#managed_private_networkBoolean Also known as: managed_private_network?

Egress bytes over a Google-managed private network. This network is shared between other users of Storage Transfer Service. Corresponds to the JSON property managedPrivateNetwork

Returns:

  • (Boolean)


181
182
183
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 181

def managed_private_network
  @managed_private_network
end

#pathString

Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'. Corresponds to the JSON property path

Returns:

  • (String)


189
190
191
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 189

def path
  @path
end

#role_arnString

The Amazon Resource Name (ARN) of the role to support temporary credentials via AssumeRoleWithWebIdentity. For more information about ARNs, see IAM ARNs. When a role ARN is provided, Transfer Service fetches temporary credentials for the session using a AssumeRoleWithWebIdentity call for the provided role using the GoogleServiceAccount for this project. Corresponds to the JSON property roleArn

Returns:

  • (String)


199
200
201
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 199

def role_arn
  @role_arn
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



206
207
208
209
210
211
212
213
214
# File 'lib/google/apis/storagetransfer_v1/classes.rb', line 206

def update!(**args)
  @aws_access_key = args[:aws_access_key] if args.key?(:aws_access_key)
  @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
  @cloudfront_domain = args[:cloudfront_domain] if args.key?(:cloudfront_domain)
  @credentials_secret = args[:credentials_secret] if args.key?(:credentials_secret)
  @managed_private_network = args[:managed_private_network] if args.key?(:managed_private_network)
  @path = args[:path] if args.key?(:path)
  @role_arn = args[:role_arn] if args.key?(:role_arn)
end