Skip to content

Commit

Permalink
Merge branch '4.x.x'
Browse files Browse the repository at this point in the history
  • Loading branch information
adam-fowler committed Feb 2, 2020
2 parents 72650d0 + 9e8c12e commit 8cac9a5
Show file tree
Hide file tree
Showing 501 changed files with 33,881 additions and 26,404 deletions.
21 changes: 19 additions & 2 deletions CodeGenerator/Templates/api.stencil
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,30 @@ import NIO
import {{ middlewareFramework }}

{% endif %}
{%if description %}
/**
Client object for interacting with AWS {{name}} service.

{%if description %}
{{description}}
*/
{% endif %}
*/
public struct {{ name }} {

//MARK: Member variables

public let client: AWSClient

//MARK: Initialization

/// Initialize the {{name}} client
/// - parameters:
/// - accessKeyId: Public access key provided by AWS
/// - secretAccessKey: Private access key provided by AWS
/// - sessionToken: Token provided by STS.AssumeRole() which allows access to another AWS account
/// - region: Region of server you want to communicate with
/// - endpoint: Custom endpoint URL to use instead of standard AWS servers
/// - middlewares: Array of middlewares to apply to requests and responses
/// - eventLoopGroupProvider: EventLoopGroup to use. Use `useAWSClientShared` if the client shall manage its own EventLoopGroup.
public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, sessionToken: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil, middlewares: [AWSServiceMiddleware] = [], eventLoopGroupProvider: AWSClient.EventLoopGroupProvider = .useAWSClientShared) {
{% if middlewareClass %}
let middlewares = [{{middlewareClass}}] + middlewares
Expand Down Expand Up @@ -49,6 +64,8 @@ public struct {{ name }} {
eventLoopGroupProvider: eventLoopGroupProvider
)
}

//MARK: API Calls
{%for op in operations %}

{%for comment in op.comment %}
Expand Down
11 changes: 9 additions & 2 deletions CodeGenerator/Templates/shapes.stencil
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,18 @@ import Foundation
import AWSSDKSwiftCore

extension {{name}} {
//MARK: Enums
{%for shape in shapes%}

{%if shape.enum %}

{%include "enum.stencil" shape %}
{%elif shape.struct %}
{%endif %}
{%endfor %}

//MARK: Shapes
{%for shape in shapes%}
{%if shape.struct %}

{%include "struct.stencil" shape %}
{%endif %}
{%endfor %}
Expand Down
17 changes: 17 additions & 0 deletions Sources/AWSSDKSwift/Services/ACM/ACM_API.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,27 @@ import Foundation
import NIO

/**
Client object for interacting with AWS ACM service.

AWS Certificate Manager Welcome to the AWS Certificate Manager (ACM) API documentation. You can use ACM to manage SSL/TLS certificates for your AWS-based websites and applications. For general information about using ACM, see the AWS Certificate Manager User Guide .
*/
public struct ACM {

//MARK: Member variables

public let client: AWSClient

//MARK: Initialization

/// Initialize the ACM client
/// - parameters:
/// - accessKeyId: Public access key provided by AWS
/// - secretAccessKey: Private access key provided by AWS
/// - sessionToken: Token provided by STS.AssumeRole() which allows access to another AWS account
/// - region: Region of server you want to communicate with
/// - endpoint: Custom endpoint URL to use instead of standard AWS servers
/// - middlewares: Array of middlewares to apply to requests and responses
/// - eventLoopGroupProvider: EventLoopGroup to use. Use `useAWSClientShared` if the client shall manage its own EventLoopGroup.
public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, sessionToken: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil, middlewares: [AWSServiceMiddleware] = [], eventLoopGroupProvider: AWSClient.EventLoopGroupProvider = .useAWSClientShared) {
self.client = AWSClient(
accessKeyId: accessKeyId,
Expand All @@ -28,6 +43,8 @@ public struct ACM {
eventLoopGroupProvider: eventLoopGroupProvider
)
}

//MARK: API Calls

/// Adds one or more tags to an ACM certificate. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. You specify the certificate on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair. You can apply a tag to just one certificate if you want to identify a specific characteristic of that certificate, or you can apply the same tag to multiple certificates if you want to filter for a common relationship among those certificates. Similarly, you can apply the same tag to multiple resources if you want to specify a relationship among those resources. For example, you can add the same tag to an ACM certificate and an Elastic Load Balancing load balancer to indicate that they are both used by the same website. For more information, see Tagging ACM certificates. To remove one or more tags, use the RemoveTagsFromCertificate action. To view all of the tags that have been applied to the certificate, use the ListTagsForCertificate action.
@discardableResult public func addTagsToCertificate(_ input: AddTagsToCertificateRequest) -> EventLoopFuture<Void> {
Expand Down
Loading

0 comments on commit 8cac9a5

Please sign in to comment.