Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AWS Bindings S3] Adds Component Metadata Schema #2904

Merged
merged 30 commits into from
Aug 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
4d38f8f
Adds AWS Bindings S3 Component Metadata Schema
robertojrojas Jun 10, 2023
4cd9c90
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jun 13, 2023
4542e73
Merge branch 'master' into comp-bindings-aws-s3-2568
artursouza Jun 19, 2023
8c0cec4
Merge branch 'master' into comp-bindings-aws-s3-2568
artursouza Jun 21, 2023
6acb0a5
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jun 24, 2023
f3fc65f
update as per pr review
robertojrojas Jun 25, 2023
4459c18
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jun 25, 2023
86f47a5
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jun 26, 2023
91fc323
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jul 11, 2023
d3c5bc8
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jul 11, 2023
a90dc28
uses builtinAuthenticationProfiles
robertojrojas Jul 11, 2023
ad7fba6
Update bindings/aws/s3/metadata.yaml
robertojrojas Jul 11, 2023
fee2964
Update bindings/aws/s3/metadata.yaml
robertojrojas Jul 11, 2023
8c3f792
Update bindings/aws/s3/metadata.yaml
robertojrojas Jul 11, 2023
839d394
Update bindings/aws/s3/metadata.yaml
robertojrojas Jul 11, 2023
4ec6841
Update bindings/aws/s3/metadata.yaml
robertojrojas Jul 11, 2023
7b58ec3
Update bindings/aws/s3/metadata.yaml
robertojrojas Jul 11, 2023
39fa315
Update bindings/aws/s3/metadata.yaml
robertojrojas Jul 11, 2023
268c72d
Update bindings/aws/s3/metadata.yaml
robertojrojas Jul 11, 2023
9f19be9
Update bindings/aws/s3/metadata.yaml
ItalyPaleAle Jul 11, 2023
c516ad2
changes as per review
robertojrojas Jul 11, 2023
216ebe1
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jul 14, 2023
1c84571
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jul 17, 2023
d726117
updates as per pr review
robertojrojas Jul 18, 2023
922c802
Merge branch 'master' into comp-bindings-aws-s3-2568
robertojrojas Jul 21, 2023
e399e07
Update bindings/aws/s3/metadata.yaml
ItalyPaleAle Jul 21, 2023
3f42fd2
Merge branch 'master' into comp-bindings-aws-s3-2568
artursouza Jul 24, 2023
0955e8e
updates as pr review
robertojrojas Jul 24, 2023
324c0a5
Merge branch 'master' into comp-bindings-aws-s3-2568
artursouza Aug 1, 2023
a16415f
Merge branch 'master' into comp-bindings-aws-s3-2568
ItalyPaleAle Aug 1, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 78 additions & 0 deletions bindings/aws/s3/metadata.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# yaml-language-server: $schema=../../../component-metadata-schema.json
schemaVersion: v1
type: bindings
name: aws.s3
version: v1
status: stable
title: "AWS S3"
urls:
- title: Reference
url: https://docs.dapr.io/reference/components-reference/supported-bindings/s3/
binding:
output: true
operations:
- name: create
description: "Create blob"
- name: get
description: "Get blob"
- name: delete
description: "Delete blob"
- name: list
description: "List blob"
capabilities: []
builtinAuthenticationProfiles:
- name: "aws"
metadata:
- name: bucket
required: true
description: |
The name of the S3 bucket to write to.
example: '"bucket"'
type: string
- name: region
required: true
description: |
The specific AWS region where the S3 bucket is located.
example: '"us-east-1"'
type: string
- name: endpoint
required: false
description: |
AWS endpoint for the component to use, to connect to S3-compatible services or emulators.
Do not use this when running against production AWS.
example: '"http://localhost:4566"'
type: string
- name: forcePathStyle
description: |
Currently Amazon S3 SDK supports virtual-hosted-style and path-style access.
When false (the default), uses virtual-hosted-style format, i.e.: `https://<your bucket>.<endpoint>/<key>`.
When true, uses path-style format, i.e.: `https://<endpoint>/<your bucket>/<key>`.
type: bool
default: 'false'
example: '"true", "false"'
- name: decodeBase64
description: |
Configuration to decode base64 file content before saving to bucket storage.
(In case of saving a file with binary content).
type: bool
default: 'false'
example: '"true", "false"'
- name: encodeBase64
description: |
Configuration to encode base64 file content before returning the content.
(In case of opening a file with binary content).
type: bool
default: 'false'
example: '"true", "false"'
- name: disableSSL
robertojrojas marked this conversation as resolved.
Show resolved Hide resolved
description: |
Allows to connect to non-`https://` endpoints.
type: bool
default: 'false'
example: '"true", "false"'
- name: insecureSSL
description: |
When connecting to `https://` endpoints, accepts self-signed or invalid certificates.
type: bool
default: 'false'
example: '"true", "false"'
10 changes: 5 additions & 5 deletions bindings/aws/s3/s3.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,20 +63,20 @@ type AWSS3 struct {

type s3Metadata struct {
// Ignored by metadata parser because included in built-in authentication profile
AccessKey string `json:"accessKey" mapstructure:"accessKey" mdignore:"true"`
SecretKey string `json:"secretKey" mapstructure:"secretKey" mdignore:"true"`
AccessKey string `json:"accessKey" mapstructure:"accessKey" mdignore:"true"`
SecretKey string `json:"secretKey" mapstructure:"secretKey" mdignore:"true"`
SessionToken string `json:"sessionToken" mapstructure:"sessionToken" mdignore:"true"`

Region string `json:"region" mapstructure:"region"`
Endpoint string `json:"endpoint" mapstructure:"endpoint"`
SessionToken string `json:"sessionToken" mapstructure:"sessionToken"`
Bucket string `json:"bucket" mapstructure:"bucket"`
DecodeBase64 bool `json:"decodeBase64,string" mapstructure:"decodeBase64"`
EncodeBase64 bool `json:"encodeBase64,string" mapstructure:"encodeBase64"`
ForcePathStyle bool `json:"forcePathStyle,string" mapstructure:"forcePathStyle"`
DisableSSL bool `json:"disableSSL,string" mapstructure:"disableSSL"`
InsecureSSL bool `json:"insecureSSL,string" mapstructure:"insecureSSL"`
FilePath string `mapstructure:"filePath"`
PresignTTL string `mapstructure:"presignTTL"`
FilePath string `json:"filePath" mapstructure:"filePath" mdignore:"true"`
PresignTTL string `json:"presignTTL" mapstructure:"presignTTL" mdignore:"true"`
}

type createResponse struct {
Expand Down
Loading