Skip to content

Commit

Permalink
Release v0.9.0 (2019-05-28) (#312)
Browse files Browse the repository at this point in the history
Services
---
* Synced the V2 SDK with latest AWS service API definitions.
* Fixes #304
* Fixes #295

SDK Breaking changes
---
This update includes multiple breaking changes to the SDK. These updates improve the SDK's usability, consistency.

Client type name
---
The API client type is renamed to `Client` for consistency, and remove stutter between package and client type name. Using Amazon S3 API client as an example, the `s3.S3` type is renamed to `s3.Client`.

New API operation response type
---
API operations' `Request.Send` method now returns a Response type for the specific operation. The Response type wraps the operation's Output parameter, and includes a method for the response's metadata such as RequestID. The Output type is an anonymous embedded field within the Output type. If your application was passing the Output value around you'll need to extract it directly, or pass the Response type instead.

New API operation paginator utility
---
This change removes the `Paginate` method from API operation Request types, (e.g. ListObjectsRequest). A new Paginator constructor is added that can be used to page these operations. To update your application to use the new pattern, where `Paginate` was being called, replace this with the Paginator type's constructor. The usage of the returned Paginator type is unchanged.

```go
req := svc.ListObjectsRequest(params)
p := req.Paginate()
```

Is updated to to use the Paginator constructor instead of Paginate method.

```go
req := svc.ListObjectsRequest(params)
p := s3.NewListObjectsPaginator(req)
```

Other changes
---
  * Standardizes API client package name to be based on the API model's `ServiceID`.
  * Standardizes API client operation input and output type names.
  * Removes `endpoints` package's service identifier constants. These values were unstable. Each API client package contains an `EndpointsID` constant that can be used for service specific endpoint lookup.
  * Fix API endpoint lookups to use the API's modeled `EndpointsID` (aka `enpdointPrefix`). Searching for API endpoints in the `endpoints` package should use the API client package's, `EndpointsID`.

SDK Enhancements
---
*  Update CI tests to ensure all codegen changes are accounted for in PR (#183)
  * Updates the CI tests to ensure that any code generation changes are accounted for in the PR, and that there were no mistaken changes made without also running code generation. This change should also help ensure that code generation order is stable, and there are no ordering issues with the SDK's codegen.
  * Related aws/aws-sdk-go#1966

* `service/dynamodb/expression`: Fix Builder with KeyCondition example (#306)
  * Fixes the ExampleBuilder_WithKeyCondition example to include the ExpressionAttributeNames member being set.
  * Fixes #285
* `aws/defaults`: Fix UserAgent execution environment key (#307)
  * Fixes the SDK's UserAgent key for the execution environment.
  * Fixes #276
* `private/model/api`: Improve SDK API reference doc generation (#309)
  * Improves the SDK's generated documentation for API client, operation, and types. This fixes several bugs in the doc generation causing poor formatting, an difficult to read reference documentation.
  * Fix #308
  * Related aws/aws-sdk-go#2617
  • Loading branch information
jasdel committed May 28, 2019
1 parent b157143 commit 098e15d
Show file tree
Hide file tree
Showing 137 changed files with 12,487 additions and 845 deletions.
55 changes: 55 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,58 @@
Release v0.9.0 (2019-05-28)
===

### Services
* Synced the V2 SDK with latest AWS service API definitions.
* Fixes [#304](https://github.com/aws/aws-sdk-go-v2/issues/304)
* Fixes [#295](https://github.com/aws/aws-sdk-go-v2/issues/295)

### SDK Breaking changes
This update includes multiple breaking changes to the SDK. These updates improve the SDK's usability, consistency.

#### Client type name
The API client type is renamed to `Client` for consistency, and remove stutter between package and client type name. Using Amazon S3 API client as an example, the `s3.S3` type is renamed to `s3.Client`.

#### New API operation response type
API operations' `Request.Send` method now returns a Response type for the specific operation. The Response type wraps the operation's Output parameter, and includes a method for the response's metadata such as RequestID. The Output type is an anonymous embedded field within the Output type. If your application was passing the Output value around you'll need to extract it directly, or pass the Response type instead.

#### New API operation paginator utility
This change removes the `Paginate` method from API operation Request types, (e.g. ListObjectsRequest). A new Paginator constructor is added that can be used to page these operations. To update your application to use the new pattern, where `Paginate` was being called, replace this with the Paginator type's constructor. The usage of the returned Paginator type is unchanged.

```go
req := svc.ListObjectsRequest(params)
p := req.Paginate()
```

Is updated to to use the Paginator constructor instead of Paginate method.

```go
req := svc.ListObjectsRequest(params)
p := s3.NewListObjectsPaginator(req)
```

#### Other changes
* Standardizes API client package name to be based on the API model's `ServiceID`.
* Standardizes API client operation input and output type names.
* Removes `endpoints` package's service identifier constants. These values were unstable. Each API client package contains an `EndpointsID` constant that can be used for service specific endpoint lookup.
* Fix API endpoint lookups to use the API's modeled `EndpointsID` (aka `enpdointPrefix`). Searching for API endpoints in the `endpoints` package should use the API client package's, `EndpointsID`.

### SDK Enhancements
* Update CI tests to ensure all codegen changes are accounted for in PR ([#183](https://github.com/aws/aws-sdk-go-v2/issues/183))
* Updates the CI tests to ensure that any code generation changes are accounted for in the PR, and that there were no mistaken changes made without also running code generation. This change should also help ensure that code generation order is stable, and there are no ordering issues with the SDK's codegen.
* Related [aws/aws-sdk-go#1966](https://github.com/aws/aws-sdk-go/issues/1966)

### SDK Bugs
* `service/dynamodb/expression`: Fix Builder with KeyCondition example ([#306](https://github.com/aws/aws-sdk-go-v2/issues/306))
* Fixes the ExampleBuilder_WithKeyCondition example to include the ExpressionAttributeNames member being set.
* Fixes [#285](https://github.com/aws/aws-sdk-go-v2/issues/285)
* `aws/defaults`: Fix UserAgent execution environment key ([#307](https://github.com/aws/aws-sdk-go-v2/issues/307))
* Fixes the SDK's UserAgent key for the execution environment.
* Fixes [#276](https://github.com/aws/aws-sdk-go-v2/issues/276)
* `private/model/api`: Improve SDK API reference doc generation ([#309](https://github.com/aws/aws-sdk-go-v2/issues/309))
* Improves the SDK's generated documentation for API client, operation, and types. This fixes several bugs in the doc generation causing poor formatting, an difficult to read reference documentation.
* Fix [#308](https://github.com/aws/aws-sdk-go-v2/issues/308)
* Related [aws/aws-sdk-go#2617](https://github.com/aws/aws-sdk-go/issues/2617)

Release v0.8.0 (2019-04-25)
===

Expand Down
1 change: 1 addition & 0 deletions aws/endpoints/defaults.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion aws/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ package aws
const SDKName = "aws-sdk-go"

// SDKVersion is the version of this SDK
const SDKVersion = "0.8.0"
const SDKVersion = "0.9.0"
2 changes: 2 additions & 0 deletions internal/awstesting/cmd/op_crawler/create_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ import (
"github.com/aws/aws-sdk-go-v2/service/globalaccelerator"
"github.com/aws/aws-sdk-go-v2/service/glue"
"github.com/aws/aws-sdk-go-v2/service/greengrass"
"github.com/aws/aws-sdk-go-v2/service/groundstation"
"github.com/aws/aws-sdk-go-v2/service/guardduty"
"github.com/aws/aws-sdk-go-v2/service/health"
"github.com/aws/aws-sdk-go-v2/service/iam"
Expand Down Expand Up @@ -268,6 +269,7 @@ func createServices(cfg aws.Config) []service {
{name: "globalaccelerator", value: reflect.ValueOf(globalaccelerator.New(cfg))},
{name: "glue", value: reflect.ValueOf(glue.New(cfg))},
{name: "greengrass", value: reflect.ValueOf(greengrass.New(cfg))},
{name: "groundstation", value: reflect.ValueOf(groundstation.New(cfg))},
{name: "guardduty", value: reflect.ValueOf(guardduty.New(cfg))},
{name: "health", value: reflect.ValueOf(health.New(cfg))},
{name: "iam", value: reflect.ValueOf(iam.New(cfg))},
Expand Down
19 changes: 19 additions & 0 deletions models/apis/chime/2018-05-01/api-2.json
Original file line number Diff line number Diff line change
Expand Up @@ -2196,6 +2196,7 @@
"members":{
"PhoneNumberId":{"shape":"String"},
"E164PhoneNumber":{"shape":"E164PhoneNumber"},
"Type":{"shape":"PhoneNumberType"},
"ProductType":{"shape":"PhoneNumberProductType"},
"Status":{"shape":"PhoneNumberStatus"},
"Capabilities":{"shape":"PhoneNumberCapabilities"},
Expand Down Expand Up @@ -2301,6 +2302,13 @@
"DeleteFailed"
]
},
"PhoneNumberType":{
"type":"string",
"enum":[
"Local",
"TollFree"
]
},
"Port":{
"type":"integer",
"max":65535,
Expand Down Expand Up @@ -2504,6 +2512,11 @@
"location":"querystring",
"locationName":"state"
},
"TollFreePrefix":{
"shape":"TollFreePrefix",
"location":"querystring",
"locationName":"toll-free-prefix"
},
"MaxResults":{
"shape":"PhoneNumberMaxResults",
"location":"querystring",
Expand Down Expand Up @@ -2594,6 +2607,12 @@
"error":{"httpStatusCode":429},
"exception":true
},
"TollFreePrefix":{
"type":"string",
"max":3,
"min":3,
"pattern":"^8(00|33|44|55|66|77|88)$"
},
"UnauthorizedClientException":{
"type":"structure",
"members":{
Expand Down
18 changes: 15 additions & 3 deletions models/apis/chime/2018-05-01/docs-2.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
"BatchDeletePhoneNumber": "<p>Moves phone numbers into the <b>Deletion queue</b>. Phone numbers must be disassociated from any users or Amazon Chime Voice Connectors before they can be deleted.</p> <p>Phone numbers remain in the <b>Deletion queue</b> for 7 days before they are deleted permanently.</p>",
"BatchSuspendUser": "<p>Suspends up to 50 users from a <code>Team</code> or <code>EnterpriseLWA</code> Amazon Chime account. For more information about different account types, see <a href=\"https://docs.aws.amazon.com/chime/latest/ag/manage-chime-account.html\">Managing Your Amazon Chime Accounts</a> in the <i>Amazon Chime Administration Guide</i>.</p> <p>Users suspended from a <code>Team</code> account are dissasociated from the account, but they can continue to use Amazon Chime as free users. To remove the suspension from suspended <code>Team</code> account users, invite them to the <code>Team</code> account again. You can use the <a>InviteUsers</a> action to do so.</p> <p>Users suspended from an <code>EnterpriseLWA</code> account are immediately signed out of Amazon Chime and can no longer sign in. To remove the suspension from suspended <code>EnterpriseLWA</code> account users, use the <a>BatchUnsuspendUser</a> action. </p> <p>To sign out users without suspending them, use the <a>LogoutUser</a> action.</p>",
"BatchUnsuspendUser": "<p>Removes the suspension from up to 50 previously suspended users for the specified Amazon Chime <code>EnterpriseLWA</code> account. Only users on <code>EnterpriseLWA</code> accounts can be unsuspended using this action. For more information about different account types, see <a href=\"https://docs.aws.amazon.com/chime/latest/ag/manage-chime-account.html\">Managing Your Amazon Chime Accounts</a> in the <i>Amazon Chime Administration Guide</i>.</p> <p>Previously suspended users who are unsuspended using this action are returned to <code>Registered</code> status. Users who are not previously suspended are ignored.</p>",
"BatchUpdatePhoneNumber": "<p>Updates phone number product types. Choose from Amazon Chime Business Calling and Amazon Chime Voice Connector product types.</p>",
"BatchUpdatePhoneNumber": "<p>Updates phone number product types. Choose from Amazon Chime Business Calling and Amazon Chime Voice Connector product types. For toll-free numbers, you can use only the Amazon Chime Voice Connector product type.</p>",
"BatchUpdateUser": "<p>Updates user details within the <a>UpdateUserRequestItem</a> object for up to 20 users for the specified Amazon Chime account. Currently, only <code>LicenseType</code> updates are supported for this action.</p>",
"CreateAccount": "<p>Creates an Amazon Chime account under the administrator's AWS account. Only <code>Team</code> account types are currently supported for this action. For more information about different account types, see <a href=\"https://docs.aws.amazon.com/chime/latest/ag/manage-chime-account.html\">Managing Your Amazon Chime Accounts</a> in the <i>Amazon Chime Administration Guide</i>.</p>",
"CreateBot": "<p>Creates a bot for an Amazon Chime Enterprise account.</p>",
"CreatePhoneNumberOrder": "<p>Creates an order for phone numbers to be provisioned. Choose from Amazon Chime Business Calling and Amazon Chime Voice Connector product types.</p>",
"CreatePhoneNumberOrder": "<p>Creates an order for phone numbers to be provisioned. Choose from Amazon Chime Business Calling and Amazon Chime Voice Connector product types. For toll-free numbers, you can use only the Amazon Chime Voice Connector product type.</p>",
"CreateVoiceConnector": "<p>Creates an Amazon Chime Voice Connector under the administrator's AWS account. Enabling <a>CreateVoiceConnectorRequest$RequireEncryption</a> configures your Amazon Chime Voice Connector to use TLS transport for SIP signaling and Secure RTP (SRTP) for media. Inbound calls use TLS transport, and unencrypted outbound calls are blocked.</p>",
"DeleteAccount": "<p>Deletes the specified Amazon Chime account. You must suspend all users before deleting a <code>Team</code> account. You can use the <a>BatchSuspendUser</a> action to do so.</p> <p>For <code>EnterpriseLWA</code> and <code>EnterpriseAD</code> accounts, you must release the claimed domains for your Amazon Chime account before deletion. As soon as you release the domain, all users under that account are suspended.</p> <p>Deleted accounts appear in your <code>Disabled</code> accounts list for 90 days. To restore a deleted account from your <code>Disabled</code> accounts list, you must contact AWS Support.</p> <p>After 90 days, deleted accounts are permanently removed from your <code>Disabled</code> accounts list.</p>",
"DeleteEventsConfiguration": "<p>Deletes the events configuration that allows a bot to receive outgoing events.</p>",
Expand Down Expand Up @@ -56,7 +56,7 @@
"UpdateAccountSettings": "<p>Updates the settings for the specified Amazon Chime account. You can update settings for remote control of shared screens, or for the dial-out option. For more information about these settings, see <a href=\"https://docs.aws.amazon.com/chime/latest/ag/policies.html\">Use the Policies Page</a> in the <i>Amazon Chime Administration Guide</i>.</p>",
"UpdateBot": "<p>Updates the status of the specified bot, such as starting or stopping the bot from running in your Amazon Chime Enterprise account.</p>",
"UpdateGlobalSettings": "<p>Updates global settings for the administrator's AWS account, such as Amazon Chime Business Calling and Amazon Chime Voice Connector settings.</p>",
"UpdatePhoneNumber": "<p>Updates phone number details, such as product type, for the specified phone number ID.</p>",
"UpdatePhoneNumber": "<p>Updates phone number details, such as product type, for the specified phone number ID. For toll-free numbers, you can use only the Amazon Chime Voice Connector product type.</p>",
"UpdateUser": "<p>Updates user details for a specified user ID. Currently, only <code>LicenseType</code> updates are supported for this action.</p>",
"UpdateUserSettings": "<p>Updates the settings for the specified user, such as phone number settings.</p>",
"UpdateVoiceConnector": "<p>Updates details for the specified Amazon Chime Voice Connector.</p>"
Expand Down Expand Up @@ -931,6 +931,12 @@
"PhoneNumber$Status": "<p>The phone number status.</p>"
}
},
"PhoneNumberType": {
"base": null,
"refs": {
"PhoneNumber$Type": "<p>The phone number type.</p>"
}
},
"Port": {
"base": null,
"refs": {
Expand Down Expand Up @@ -1170,6 +1176,12 @@
"refs": {
}
},
"TollFreePrefix": {
"base": null,
"refs": {
"SearchAvailablePhoneNumbersRequest$TollFreePrefix": "<p>The toll-free prefix that you use to filter results.</p>"
}
},
"UnauthorizedClientException": {
"base": "<p>The client is not currently authorized to make the request.</p>",
"refs": {
Expand Down

0 comments on commit 098e15d

Please sign in to comment.