diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go index b5ddd6dab7..289e654472 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/version.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.6.17" +const SDKVersion = "1.6.18" diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go index 13f9e8d40a..b43a399be1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go @@ -122,7 +122,7 @@ func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.R // API operation BatchGetItem for usage and error information. // // Returned Error Codes: -// * ProvisionedThroughputExceededException +// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException" // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry // requests that receive this exception. Your request is eventually successful, // unless your retry queue is too large to finish. Reduce the frequency of requests @@ -130,11 +130,11 @@ func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.R // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. // -// * ResourceNotFoundException +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The operation tried to access a nonexistent table or index. The resource // might not be specified correctly, or its status might not be ACTIVE. // -// * InternalServerError +// * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchGetItem @@ -292,7 +292,7 @@ func (c *DynamoDB) BatchWriteItemRequest(input *BatchWriteItemInput) (req *reque // API operation BatchWriteItem for usage and error information. // // Returned Error Codes: -// * ProvisionedThroughputExceededException +// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException" // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry // requests that receive this exception. Your request is eventually successful, // unless your retry queue is too large to finish. Reduce the frequency of requests @@ -300,15 +300,15 @@ func (c *DynamoDB) BatchWriteItemRequest(input *BatchWriteItemInput) (req *reque // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. // -// * ResourceNotFoundException +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The operation tried to access a nonexistent table or index. The resource // might not be specified correctly, or its status might not be ACTIVE. // -// * ItemCollectionSizeLimitExceededException +// * ErrCodeItemCollectionSizeLimitExceededException "ItemCollectionSizeLimitExceededException" // An item collection is too large. This exception is only returned for tables // that have one or more local secondary indexes. // -// * InternalServerError +// * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchWriteItem @@ -387,12 +387,12 @@ func (c *DynamoDB) CreateTableRequest(input *CreateTableInput) (req *request.Req // API operation CreateTable for usage and error information. // // Returned Error Codes: -// * ResourceInUseException +// * ErrCodeResourceInUseException "ResourceInUseException" // The operation conflicts with the resource's availability. For example, you // attempted to recreate an existing table, or tried to delete a table currently // in the CREATING state. // -// * LimitExceededException +// * ErrCodeLimitExceededException "LimitExceededException" // The number of concurrent table requests (cumulative number of tables in the // CREATING, DELETING or UPDATING state) exceeds the maximum allowed of 10. // @@ -402,7 +402,7 @@ func (c *DynamoDB) CreateTableRequest(input *CreateTableInput) (req *request.Req // // The total limit of tables in the ACTIVE state is 250. // -// * InternalServerError +// * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateTable @@ -480,10 +480,10 @@ func (c *DynamoDB) DeleteItemRequest(input *DeleteItemInput) (req *request.Reque // API operation DeleteItem for usage and error information. // // Returned Error Codes: -// * ConditionalCheckFailedException +// * ErrCodeConditionalCheckFailedException "ConditionalCheckFailedException" // A condition specified in the operation could not be evaluated. // -// * ProvisionedThroughputExceededException +// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException" // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry // requests that receive this exception. Your request is eventually successful, // unless your retry queue is too large to finish. Reduce the frequency of requests @@ -491,15 +491,15 @@ func (c *DynamoDB) DeleteItemRequest(input *DeleteItemInput) (req *request.Reque // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. // -// * ResourceNotFoundException +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The operation tried to access a nonexistent table or index. The resource // might not be specified correctly, or its status might not be ACTIVE. // -// * ItemCollectionSizeLimitExceededException +// * ErrCodeItemCollectionSizeLimitExceededException "ItemCollectionSizeLimitExceededException" // An item collection is too large. This exception is only returned for tables // that have one or more local secondary indexes. // -// * InternalServerError +// * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteItem @@ -581,16 +581,16 @@ func (c *DynamoDB) DeleteTableRequest(input *DeleteTableInput) (req *request.Req // API operation DeleteTable for usage and error information. // // Returned Error Codes: -// * ResourceInUseException +// * ErrCodeResourceInUseException "ResourceInUseException" // The operation conflicts with the resource's availability. For example, you // attempted to recreate an existing table, or tried to delete a table currently // in the CREATING state. // -// * ResourceNotFoundException +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The operation tried to access a nonexistent table or index. The resource // might not be specified correctly, or its status might not be ACTIVE. // -// * LimitExceededException +// * ErrCodeLimitExceededException "LimitExceededException" // The number of concurrent table requests (cumulative number of tables in the // CREATING, DELETING or UPDATING state) exceeds the maximum allowed of 10. // @@ -600,7 +600,7 @@ func (c *DynamoDB) DeleteTableRequest(input *DeleteTableInput) (req *request.Req // // The total limit of tables in the ACTIVE state is 250. // -// * InternalServerError +// * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteTable @@ -721,7 +721,7 @@ func (c *DynamoDB) DescribeLimitsRequest(input *DescribeLimitsInput) (req *reque // API operation DescribeLimits for usage and error information. // // Returned Error Codes: -// * InternalServerError +// * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeLimits @@ -794,11 +794,11 @@ func (c *DynamoDB) DescribeTableRequest(input *DescribeTableInput) (req *request // API operation DescribeTable for usage and error information. // // Returned Error Codes: -// * ResourceNotFoundException +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The operation tried to access a nonexistent table or index. The resource // might not be specified correctly, or its status might not be ACTIVE. // -// * InternalServerError +// * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTable @@ -870,7 +870,7 @@ func (c *DynamoDB) GetItemRequest(input *GetItemInput) (req *request.Request, ou // API operation GetItem for usage and error information. // // Returned Error Codes: -// * ProvisionedThroughputExceededException +// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException" // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry // requests that receive this exception. Your request is eventually successful, // unless your retry queue is too large to finish. Reduce the frequency of requests @@ -878,11 +878,11 @@ func (c *DynamoDB) GetItemRequest(input *GetItemInput) (req *request.Request, ou // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. // -// * ResourceNotFoundException +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The operation tried to access a nonexistent table or index. The resource // might not be specified correctly, or its status might not be ACTIVE. // -// * InternalServerError +// * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetItem @@ -955,7 +955,7 @@ func (c *DynamoDB) ListTablesRequest(input *ListTablesInput) (req *request.Reque // API operation ListTables for usage and error information. // // Returned Error Codes: -// * InternalServerError +// * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTables @@ -1049,11 +1049,11 @@ func (c *DynamoDB) ListTagsOfResourceRequest(input *ListTagsOfResourceInput) (re // API operation ListTagsOfResource for usage and error information. // // Returned Error Codes: -// * ResourceNotFoundException +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The operation tried to access a nonexistent table or index. The resource // might not be specified correctly, or its status might not be ACTIVE. // -// * InternalServerError +// * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTagsOfResource @@ -1140,10 +1140,10 @@ func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, ou // API operation PutItem for usage and error information. // // Returned Error Codes: -// * ConditionalCheckFailedException +// * ErrCodeConditionalCheckFailedException "ConditionalCheckFailedException" // A condition specified in the operation could not be evaluated. // -// * ProvisionedThroughputExceededException +// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException" // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry // requests that receive this exception. Your request is eventually successful, // unless your retry queue is too large to finish. Reduce the frequency of requests @@ -1151,15 +1151,15 @@ func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, ou // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. // -// * ResourceNotFoundException +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The operation tried to access a nonexistent table or index. The resource // might not be specified correctly, or its status might not be ACTIVE. // -// * ItemCollectionSizeLimitExceededException +// * ErrCodeItemCollectionSizeLimitExceededException "ItemCollectionSizeLimitExceededException" // An item collection is too large. This exception is only returned for tables // that have one or more local secondary indexes. // -// * InternalServerError +// * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutItem @@ -1255,7 +1255,7 @@ func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output // API operation Query for usage and error information. // // Returned Error Codes: -// * ProvisionedThroughputExceededException +// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException" // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry // requests that receive this exception. Your request is eventually successful, // unless your retry queue is too large to finish. Reduce the frequency of requests @@ -1263,11 +1263,11 @@ func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. // -// * ResourceNotFoundException +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The operation tried to access a nonexistent table or index. The resource // might not be specified correctly, or its status might not be ACTIVE. // -// * InternalServerError +// * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Query @@ -1383,7 +1383,7 @@ func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output * // API operation Scan for usage and error information. // // Returned Error Codes: -// * ProvisionedThroughputExceededException +// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException" // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry // requests that receive this exception. Your request is eventually successful, // unless your retry queue is too large to finish. Reduce the frequency of requests @@ -1391,11 +1391,11 @@ func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output * // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. // -// * ResourceNotFoundException +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The operation tried to access a nonexistent table or index. The resource // might not be specified correctly, or its status might not be ACTIVE. // -// * InternalServerError +// * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Scan @@ -1493,7 +1493,7 @@ func (c *DynamoDB) TagResourceRequest(input *TagResourceInput) (req *request.Req // API operation TagResource for usage and error information. // // Returned Error Codes: -// * LimitExceededException +// * ErrCodeLimitExceededException "LimitExceededException" // The number of concurrent table requests (cumulative number of tables in the // CREATING, DELETING or UPDATING state) exceeds the maximum allowed of 10. // @@ -1503,14 +1503,14 @@ func (c *DynamoDB) TagResourceRequest(input *TagResourceInput) (req *request.Req // // The total limit of tables in the ACTIVE state is 250. // -// * ResourceNotFoundException +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The operation tried to access a nonexistent table or index. The resource // might not be specified correctly, or its status might not be ACTIVE. // -// * InternalServerError +// * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // -// * ResourceInUseException +// * ErrCodeResourceInUseException "ResourceInUseException" // The operation conflicts with the resource's availability. For example, you // attempted to recreate an existing table, or tried to delete a table currently // in the CREATING state. @@ -1583,7 +1583,7 @@ func (c *DynamoDB) UntagResourceRequest(input *UntagResourceInput) (req *request // API operation UntagResource for usage and error information. // // Returned Error Codes: -// * LimitExceededException +// * ErrCodeLimitExceededException "LimitExceededException" // The number of concurrent table requests (cumulative number of tables in the // CREATING, DELETING or UPDATING state) exceeds the maximum allowed of 10. // @@ -1593,14 +1593,14 @@ func (c *DynamoDB) UntagResourceRequest(input *UntagResourceInput) (req *request // // The total limit of tables in the ACTIVE state is 250. // -// * ResourceNotFoundException +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The operation tried to access a nonexistent table or index. The resource // might not be specified correctly, or its status might not be ACTIVE. // -// * InternalServerError +// * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // -// * ResourceInUseException +// * ErrCodeResourceInUseException "ResourceInUseException" // The operation conflicts with the resource's availability. For example, you // attempted to recreate an existing table, or tried to delete a table currently // in the CREATING state. @@ -1674,10 +1674,10 @@ func (c *DynamoDB) UpdateItemRequest(input *UpdateItemInput) (req *request.Reque // API operation UpdateItem for usage and error information. // // Returned Error Codes: -// * ConditionalCheckFailedException +// * ErrCodeConditionalCheckFailedException "ConditionalCheckFailedException" // A condition specified in the operation could not be evaluated. // -// * ProvisionedThroughputExceededException +// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException" // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry // requests that receive this exception. Your request is eventually successful, // unless your retry queue is too large to finish. Reduce the frequency of requests @@ -1685,15 +1685,15 @@ func (c *DynamoDB) UpdateItemRequest(input *UpdateItemInput) (req *request.Reque // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. // -// * ResourceNotFoundException +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The operation tried to access a nonexistent table or index. The resource // might not be specified correctly, or its status might not be ACTIVE. // -// * ItemCollectionSizeLimitExceededException +// * ErrCodeItemCollectionSizeLimitExceededException "ItemCollectionSizeLimitExceededException" // An item collection is too large. This exception is only returned for tables // that have one or more local secondary indexes. // -// * InternalServerError +// * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateItem @@ -1775,16 +1775,16 @@ func (c *DynamoDB) UpdateTableRequest(input *UpdateTableInput) (req *request.Req // API operation UpdateTable for usage and error information. // // Returned Error Codes: -// * ResourceInUseException +// * ErrCodeResourceInUseException "ResourceInUseException" // The operation conflicts with the resource's availability. For example, you // attempted to recreate an existing table, or tried to delete a table currently // in the CREATING state. // -// * ResourceNotFoundException +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The operation tried to access a nonexistent table or index. The resource // might not be specified correctly, or its status might not be ACTIVE. // -// * LimitExceededException +// * ErrCodeLimitExceededException "LimitExceededException" // The number of concurrent table requests (cumulative number of tables in the // CREATING, DELETING or UPDATING state) exceeds the maximum allowed of 10. // @@ -1794,7 +1794,7 @@ func (c *DynamoDB) UpdateTableRequest(input *UpdateTableInput) (req *request.Req // // The total limit of tables in the ACTIVE state is 250. // -// * InternalServerError +// * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTable diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/errors.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/errors.go new file mode 100644 index 0000000000..05a9ee84cd --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/errors.go @@ -0,0 +1,64 @@ +// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. + +package dynamodb + +const ( + + // ErrCodeConditionalCheckFailedException for service response error code + // "ConditionalCheckFailedException". + // + // A condition specified in the operation could not be evaluated. + ErrCodeConditionalCheckFailedException = "ConditionalCheckFailedException" + + // ErrCodeInternalServerError for service response error code + // "InternalServerError". + // + // An error occurred on the server side. + ErrCodeInternalServerError = "InternalServerError" + + // ErrCodeItemCollectionSizeLimitExceededException for service response error code + // "ItemCollectionSizeLimitExceededException". + // + // An item collection is too large. This exception is only returned for tables + // that have one or more local secondary indexes. + ErrCodeItemCollectionSizeLimitExceededException = "ItemCollectionSizeLimitExceededException" + + // ErrCodeLimitExceededException for service response error code + // "LimitExceededException". + // + // The number of concurrent table requests (cumulative number of tables in the + // CREATING, DELETING or UPDATING state) exceeds the maximum allowed of 10. + // + // Also, for tables with secondary indexes, only one of those tables can be + // in the CREATING state at any point in time. Do not attempt to create more + // than one such table simultaneously. + // + // The total limit of tables in the ACTIVE state is 250. + ErrCodeLimitExceededException = "LimitExceededException" + + // ErrCodeProvisionedThroughputExceededException for service response error code + // "ProvisionedThroughputExceededException". + // + // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry + // requests that receive this exception. Your request is eventually successful, + // unless your retry queue is too large to finish. Reduce the frequency of requests + // and use exponential backoff. For more information, go to Error Retries and + // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) + // in the Amazon DynamoDB Developer Guide. + ErrCodeProvisionedThroughputExceededException = "ProvisionedThroughputExceededException" + + // ErrCodeResourceInUseException for service response error code + // "ResourceInUseException". + // + // The operation conflicts with the resource's availability. For example, you + // attempted to recreate an existing table, or tried to delete a table currently + // in the CREATING state. + ErrCodeResourceInUseException = "ResourceInUseException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The operation tried to access a nonexistent table or index. The resource + // might not be specified correctly, or its status might not be ACTIVE. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go index 822ad740f4..125247059d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go @@ -15504,6 +15504,11 @@ func (s *AccountAttributeValue) SetAttributeValue(v string) *AccountAttributeVal type ActiveInstance struct { _ struct{} `type:"structure"` + // The health status of the instance. If the status of both the instance status + // check and the system status check is impaired, the health status of the instance + // is unhealthy. Otherwise, the health status is healthy. + InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthStatus"` + // The ID of the instance. InstanceId *string `locationName:"instanceId" type:"string"` @@ -15524,6 +15529,12 @@ func (s ActiveInstance) GoString() string { return s.String() } +// SetInstanceHealth sets the InstanceHealth field's value. +func (s *ActiveInstance) SetInstanceHealth(v string) *ActiveInstance { + s.InstanceHealth = &v + return s +} + // SetInstanceId sets the InstanceId field's value. func (s *ActiveInstance) SetInstanceId(v string) *ActiveInstance { s.InstanceId = &v @@ -48233,6 +48244,9 @@ type SpotFleetRequestConfigData struct { // LaunchSpecifications is a required field LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" min:"1" type:"list" required:"true"` + // Indicates whether Spot fleet should replace unhealthy instances. + ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"` + // The bid price per unit hour. // // SpotPrice is a required field @@ -48350,6 +48364,12 @@ func (s *SpotFleetRequestConfigData) SetLaunchSpecifications(v []*SpotFleetLaunc return s } +// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value. +func (s *SpotFleetRequestConfigData) SetReplaceUnhealthyInstances(v bool) *SpotFleetRequestConfigData { + s.ReplaceUnhealthyInstances = &v + return s +} + // SetSpotPrice sets the SpotPrice field's value. func (s *SpotFleetRequestConfigData) SetSpotPrice(v string) *SpotFleetRequestConfigData { s.SpotPrice = &v @@ -51943,6 +51963,14 @@ const ( InstanceAttributeNameEnaSupport = "enaSupport" ) +const ( + // InstanceHealthStatusHealthy is a InstanceHealthStatus enum value + InstanceHealthStatusHealthy = "healthy" + + // InstanceHealthStatusUnhealthy is a InstanceHealthStatus enum value + InstanceHealthStatusUnhealthy = "unhealthy" +) + const ( // InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value InstanceLifecycleTypeSpot = "spot" diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/errors.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/errors.go new file mode 100644 index 0000000000..f90fa6ec54 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/errors.go @@ -0,0 +1,3 @@ +// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. + +package ec2 diff --git a/vendor/github.com/aws/aws-sdk-go/service/iam/api.go b/vendor/github.com/aws/aws-sdk-go/service/iam/api.go index 22ca57c986..1364f78c5b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iam/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iam/api.go @@ -74,19 +74,19 @@ func (c *IAM) AddClientIDToOpenIDConnectProviderRequest(input *AddClientIDToOpen // API operation AddClientIDToOpenIDConnectProvider for usage and error information. // // Returned Error Codes: -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -161,19 +161,19 @@ func (c *IAM) AddRoleToInstanceProfileRequest(input *AddRoleToInstanceProfileInp // API operation AddRoleToInstanceProfile for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * EntityAlreadyExists +// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already // exists. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -241,15 +241,15 @@ func (c *IAM) AddUserToGroupRequest(input *AddUserToGroupInput) (req *request.Re // API operation AddUserToGroup for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -324,19 +324,19 @@ func (c *IAM) AttachGroupPolicyRequest(input *AttachGroupPolicyInput) (req *requ // API operation AttachGroupPolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -415,19 +415,19 @@ func (c *IAM) AttachRolePolicyRequest(input *AttachRolePolicyInput) (req *reques // API operation AttachRolePolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -502,19 +502,19 @@ func (c *IAM) AttachUserPolicyRequest(input *AttachUserPolicyInput) (req *reques // API operation AttachUserPolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -587,29 +587,29 @@ func (c *IAM) ChangePasswordRequest(input *ChangePasswordInput) (req *request.Re // API operation ChangePassword for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * InvalidUserType +// * ErrCodeInvalidUserTypeException "InvalidUserType" // The request was rejected because the type of user for the transaction was // incorrect. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * EntityTemporarilyUnmodifiable +// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable" // The request was rejected because it referenced an entity that is temporarily // unmodifiable, such as a user name that was deleted and then recreated. The // error indicates that the request is likely to succeed if you try again after // waiting several minutes. The error message describes the entity. // -// * PasswordPolicyViolation +// * ErrCodePasswordPolicyViolationException "PasswordPolicyViolation" // The request was rejected because the provided password did not meet the requirements // imposed by the account password policy. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -691,15 +691,15 @@ func (c *IAM) CreateAccessKeyRequest(input *CreateAccessKeyInput) (req *request. // API operation CreateAccessKey for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -769,15 +769,15 @@ func (c *IAM) CreateAccountAliasRequest(input *CreateAccountAliasInput) (req *re // API operation CreateAccountAlias for usage and error information. // // Returned Error Codes: -// * EntityAlreadyExists +// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already // exists. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -847,19 +847,19 @@ func (c *IAM) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, // API operation CreateGroup for usage and error information. // // Returned Error Codes: -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * EntityAlreadyExists +// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already // exists. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -930,15 +930,15 @@ func (c *IAM) CreateInstanceProfileRequest(input *CreateInstanceProfileInput) (r // API operation CreateInstanceProfile for usage and error information. // // Returned Error Codes: -// * EntityAlreadyExists +// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already // exists. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -1007,23 +1007,23 @@ func (c *IAM) CreateLoginProfileRequest(input *CreateLoginProfileInput) (req *re // API operation CreateLoginProfile for usage and error information. // // Returned Error Codes: -// * EntityAlreadyExists +// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already // exists. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * PasswordPolicyViolation +// * ErrCodePasswordPolicyViolationException "PasswordPolicyViolation" // The request was rejected because the provided password did not meet the requirements // imposed by the account password policy. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -1105,19 +1105,19 @@ func (c *IAM) CreateOpenIDConnectProviderRequest(input *CreateOpenIDConnectProvi // API operation CreateOpenIDConnectProvider for usage and error information. // // Returned Error Codes: -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * EntityAlreadyExists +// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already // exists. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -1192,23 +1192,23 @@ func (c *IAM) CreatePolicyRequest(input *CreatePolicyInput) (req *request.Reques // API operation CreatePolicy for usage and error information. // // Returned Error Codes: -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * EntityAlreadyExists +// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already // exists. // -// * MalformedPolicyDocument +// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" // The request was rejected because the policy document was malformed. The error // message describes the specific error. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -1285,23 +1285,23 @@ func (c *IAM) CreatePolicyVersionRequest(input *CreatePolicyVersionInput) (req * // API operation CreatePolicyVersion for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * MalformedPolicyDocument +// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" // The request was rejected because the policy document was malformed. The error // message describes the specific error. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -1371,19 +1371,19 @@ func (c *IAM) CreateRoleRequest(input *CreateRoleInput) (req *request.Request, o // API operation CreateRole for usage and error information. // // Returned Error Codes: -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * EntityAlreadyExists +// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already // exists. // -// * MalformedPolicyDocument +// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" // The request was rejected because the policy document was malformed. The error // message describes the specific error. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -1470,19 +1470,19 @@ func (c *IAM) CreateSAMLProviderRequest(input *CreateSAMLProviderInput) (req *re // API operation CreateSAMLProvider for usage and error information. // // Returned Error Codes: -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * EntityAlreadyExists +// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already // exists. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -1561,15 +1561,15 @@ func (c *IAM) CreateServiceSpecificCredentialRequest(input *CreateServiceSpecifi // API operation CreateServiceSpecificCredential for usage and error information. // // Returned Error Codes: -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * NotSupportedService +// * ErrCodeServiceNotSupportedException "NotSupportedService" // The specified service does not support service-specific credentials. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateServiceSpecificCredential @@ -1638,19 +1638,19 @@ func (c *IAM) CreateUserRequest(input *CreateUserInput) (req *request.Request, o // API operation CreateUser for usage and error information. // // Returned Error Codes: -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * EntityAlreadyExists +// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already // exists. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -1729,15 +1729,15 @@ func (c *IAM) CreateVirtualMFADeviceRequest(input *CreateVirtualMFADeviceInput) // API operation CreateVirtualMFADevice for usage and error information. // // Returned Error Codes: -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * EntityAlreadyExists +// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already // exists. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -1810,21 +1810,21 @@ func (c *IAM) DeactivateMFADeviceRequest(input *DeactivateMFADeviceInput) (req * // API operation DeactivateMFADevice for usage and error information. // // Returned Error Codes: -// * EntityTemporarilyUnmodifiable +// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable" // The request was rejected because it referenced an entity that is temporarily // unmodifiable, such as a user name that was deleted and then recreated. The // error indicates that the request is likely to succeed if you try again after // waiting several minutes. The error message describes the entity. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -1897,15 +1897,15 @@ func (c *IAM) DeleteAccessKeyRequest(input *DeleteAccessKeyInput) (req *request. // API operation DeleteAccessKey for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -1975,15 +1975,15 @@ func (c *IAM) DeleteAccountAliasRequest(input *DeleteAccountAliasInput) (req *re // API operation DeleteAccountAlias for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -2051,15 +2051,15 @@ func (c *IAM) DeleteAccountPasswordPolicyRequest(input *DeleteAccountPasswordPol // API operation DeleteAccountPasswordPolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -2128,19 +2128,19 @@ func (c *IAM) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, // API operation DeleteGroup for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * DeleteConflict +// * ErrCodeDeleteConflictException "DeleteConflict" // The request was rejected because it attempted to delete a resource that has // attached subordinate entities. The error message describes these entities. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -2214,15 +2214,15 @@ func (c *IAM) DeleteGroupPolicyRequest(input *DeleteGroupPolicyInput) (req *requ // API operation DeleteGroupPolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -2299,19 +2299,19 @@ func (c *IAM) DeleteInstanceProfileRequest(input *DeleteInstanceProfileInput) (r // API operation DeleteInstanceProfile for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * DeleteConflict +// * ErrCodeDeleteConflictException "DeleteConflict" // The request was rejected because it attempted to delete a resource that has // attached subordinate entities. The error message describes these entities. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -2385,21 +2385,21 @@ func (c *IAM) DeleteLoginProfileRequest(input *DeleteLoginProfileInput) (req *re // API operation DeleteLoginProfile for usage and error information. // // Returned Error Codes: -// * EntityTemporarilyUnmodifiable +// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable" // The request was rejected because it referenced an entity that is temporarily // unmodifiable, such as a user name that was deleted and then recreated. The // error indicates that the request is likely to succeed if you try again after // waiting several minutes. The error message describes the entity. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -2474,15 +2474,15 @@ func (c *IAM) DeleteOpenIDConnectProviderRequest(input *DeleteOpenIDConnectProvi // API operation DeleteOpenIDConnectProvider for usage and error information. // // Returned Error Codes: -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -2572,23 +2572,23 @@ func (c *IAM) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Reques // API operation DeletePolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * DeleteConflict +// * ErrCodeDeleteConflictException "DeleteConflict" // The request was rejected because it attempted to delete a resource that has // attached subordinate entities. The error message describes these entities. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -2664,23 +2664,23 @@ func (c *IAM) DeletePolicyVersionRequest(input *DeletePolicyVersionInput) (req * // API operation DeletePolicyVersion for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * DeleteConflict +// * ErrCodeDeleteConflictException "DeleteConflict" // The request was rejected because it attempted to delete a resource that has // attached subordinate entities. The error message describes these entities. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -2753,19 +2753,19 @@ func (c *IAM) DeleteRoleRequest(input *DeleteRoleInput) (req *request.Request, o // API operation DeleteRole for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * DeleteConflict +// * ErrCodeDeleteConflictException "DeleteConflict" // The request was rejected because it attempted to delete a resource that has // attached subordinate entities. The error message describes these entities. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -2839,15 +2839,15 @@ func (c *IAM) DeleteRolePolicyRequest(input *DeleteRolePolicyInput) (req *reques // API operation DeleteRolePolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -2922,19 +2922,19 @@ func (c *IAM) DeleteSAMLProviderRequest(input *DeleteSAMLProviderInput) (req *re // API operation DeleteSAMLProvider for usage and error information. // // Returned Error Codes: -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -3008,7 +3008,7 @@ func (c *IAM) DeleteSSHPublicKeyRequest(input *DeleteSSHPublicKeyInput) (req *re // API operation DeleteSSHPublicKey for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // @@ -3091,19 +3091,19 @@ func (c *IAM) DeleteServerCertificateRequest(input *DeleteServerCertificateInput // API operation DeleteServerCertificate for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * DeleteConflict +// * ErrCodeDeleteConflictException "DeleteConflict" // The request was rejected because it attempted to delete a resource that has // attached subordinate entities. The error message describes these entities. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -3171,7 +3171,7 @@ func (c *IAM) DeleteServiceSpecificCredentialRequest(input *DeleteServiceSpecifi // API operation DeleteServiceSpecificCredential for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // @@ -3244,15 +3244,15 @@ func (c *IAM) DeleteSigningCertificateRequest(input *DeleteSigningCertificateInp // API operation DeleteSigningCertificate for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -3321,19 +3321,19 @@ func (c *IAM) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, o // API operation DeleteUser for usage and error information. // // Returned Error Codes: -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * DeleteConflict +// * ErrCodeDeleteConflictException "DeleteConflict" // The request was rejected because it attempted to delete a resource that has // attached subordinate entities. The error message describes these entities. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -3407,15 +3407,15 @@ func (c *IAM) DeleteUserPolicyRequest(input *DeleteUserPolicyInput) (req *reques // API operation DeleteUserPolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -3486,19 +3486,19 @@ func (c *IAM) DeleteVirtualMFADeviceRequest(input *DeleteVirtualMFADeviceInput) // API operation DeleteVirtualMFADevice for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * DeleteConflict +// * ErrCodeDeleteConflictException "DeleteConflict" // The request was rejected because it attempted to delete a resource that has // attached subordinate entities. The error message describes these entities. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -3571,19 +3571,19 @@ func (c *IAM) DetachGroupPolicyRequest(input *DetachGroupPolicyInput) (req *requ // API operation DetachGroupPolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -3656,19 +3656,19 @@ func (c *IAM) DetachRolePolicyRequest(input *DetachRolePolicyInput) (req *reques // API operation DetachRolePolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -3741,19 +3741,19 @@ func (c *IAM) DetachUserPolicyRequest(input *DetachUserPolicyInput) (req *reques // API operation DetachUserPolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -3823,29 +3823,29 @@ func (c *IAM) EnableMFADeviceRequest(input *EnableMFADeviceInput) (req *request. // API operation EnableMFADevice for usage and error information. // // Returned Error Codes: -// * EntityAlreadyExists +// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already // exists. // -// * EntityTemporarilyUnmodifiable +// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable" // The request was rejected because it referenced an entity that is temporarily // unmodifiable, such as a user name that was deleted and then recreated. The // error indicates that the request is likely to succeed if you try again after // waiting several minutes. The error message describes the entity. // -// * InvalidAuthenticationCode +// * ErrCodeInvalidAuthenticationCodeException "InvalidAuthenticationCode" // The request was rejected because the authentication code was not recognized. // The error message describes the specific error. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -3913,11 +3913,11 @@ func (c *IAM) GenerateCredentialReportRequest(input *GenerateCredentialReportInp // API operation GenerateCredentialReport for usage and error information. // // Returned Error Codes: -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -3986,7 +3986,7 @@ func (c *IAM) GetAccessKeyLastUsedRequest(input *GetAccessKeyLastUsedInput) (req // API operation GetAccessKeyLastUsed for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // @@ -4064,7 +4064,7 @@ func (c *IAM) GetAccountAuthorizationDetailsRequest(input *GetAccountAuthorizati // API operation GetAccountAuthorizationDetails for usage and error information. // // Returned Error Codes: -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -4156,11 +4156,11 @@ func (c *IAM) GetAccountPasswordPolicyRequest(input *GetAccountPasswordPolicyInp // API operation GetAccountPasswordPolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -4230,7 +4230,7 @@ func (c *IAM) GetAccountSummaryRequest(input *GetAccountSummaryInput) (req *requ // API operation GetAccountSummary for usage and error information. // // Returned Error Codes: -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -4305,7 +4305,7 @@ func (c *IAM) GetContextKeysForCustomPolicyRequest(input *GetContextKeysForCusto // API operation GetContextKeysForCustomPolicy for usage and error information. // // Returned Error Codes: -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // @@ -4387,11 +4387,11 @@ func (c *IAM) GetContextKeysForPrincipalPolicyRequest(input *GetContextKeysForPr // API operation GetContextKeysForPrincipalPolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // @@ -4459,21 +4459,21 @@ func (c *IAM) GetCredentialReportRequest(input *GetCredentialReportInput) (req * // API operation GetCredentialReport for usage and error information. // // Returned Error Codes: -// * ReportNotPresent +// * ErrCodeCredentialReportNotPresentException "ReportNotPresent" // The request was rejected because the credential report does not exist. To // generate a credential report, use GenerateCredentialReport. // -// * ReportExpired +// * ErrCodeCredentialReportExpiredException "ReportExpired" // The request was rejected because the most recent credential report has expired. // To generate a new credential report, use GenerateCredentialReport. For more // information about credential report expiration, see Getting Credential Reports // (http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html) // in the IAM User Guide. // -// * ReportInProgress +// * ErrCodeCredentialReportNotReadyException "ReportInProgress" // The request was rejected because the credential report is still being generated. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -4546,11 +4546,11 @@ func (c *IAM) GetGroupRequest(input *GetGroupInput) (req *request.Request, outpu // API operation GetGroup for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -4657,11 +4657,11 @@ func (c *IAM) GetGroupPolicyRequest(input *GetGroupPolicyInput) (req *request.Re // API operation GetGroupPolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -4730,11 +4730,11 @@ func (c *IAM) GetInstanceProfileRequest(input *GetInstanceProfileInput) (req *re // API operation GetInstanceProfile for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -4802,11 +4802,11 @@ func (c *IAM) GetLoginProfileRequest(input *GetLoginProfileInput) (req *request. // API operation GetLoginProfile for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -4873,15 +4873,15 @@ func (c *IAM) GetOpenIDConnectProviderRequest(input *GetOpenIDConnectProviderInp // API operation GetOpenIDConnectProvider for usage and error information. // // Returned Error Codes: -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -4960,15 +4960,15 @@ func (c *IAM) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, out // API operation GetPolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -5055,15 +5055,15 @@ func (c *IAM) GetPolicyVersionRequest(input *GetPolicyVersionInput) (req *reques // API operation GetPolicyVersion for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -5137,11 +5137,11 @@ func (c *IAM) GetRoleRequest(input *GetRoleInput) (req *request.Request, output // API operation GetRole for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -5226,11 +5226,11 @@ func (c *IAM) GetRolePolicyRequest(input *GetRolePolicyInput) (req *request.Requ // API operation GetRolePolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -5299,15 +5299,15 @@ func (c *IAM) GetSAMLProviderRequest(input *GetSAMLProviderInput) (req *request. // API operation GetSAMLProvider for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -5379,11 +5379,11 @@ func (c *IAM) GetSSHPublicKeyRequest(input *GetSSHPublicKeyInput) (req *request. // API operation GetSSHPublicKey for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * UnrecognizedPublicKeyEncoding +// * ErrCodeUnrecognizedPublicKeyEncodingException "UnrecognizedPublicKeyEncoding" // The request was rejected because the public key encoding format is unsupported // or unrecognized. // @@ -5454,11 +5454,11 @@ func (c *IAM) GetServerCertificateRequest(input *GetServerCertificateInput) (req // API operation GetServerCertificate for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -5528,11 +5528,11 @@ func (c *IAM) GetUserRequest(input *GetUserInput) (req *request.Request, output // API operation GetUser for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -5614,11 +5614,11 @@ func (c *IAM) GetUserPolicyRequest(input *GetUserPolicyInput) (req *request.Requ // API operation GetUserPolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -5702,11 +5702,11 @@ func (c *IAM) ListAccessKeysRequest(input *ListAccessKeysInput) (req *request.Re // API operation ListAccessKeys for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -5806,7 +5806,7 @@ func (c *IAM) ListAccountAliasesRequest(input *ListAccountAliasesInput) (req *re // API operation ListAccountAliases for usage and error information. // // Returned Error Codes: -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -5914,15 +5914,15 @@ func (c *IAM) ListAttachedGroupPoliciesRequest(input *ListAttachedGroupPoliciesI // API operation ListAttachedGroupPolicies for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -6030,15 +6030,15 @@ func (c *IAM) ListAttachedRolePoliciesRequest(input *ListAttachedRolePoliciesInp // API operation ListAttachedRolePolicies for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -6146,15 +6146,15 @@ func (c *IAM) ListAttachedUserPoliciesRequest(input *ListAttachedUserPoliciesInp // API operation ListAttachedUserPolicies for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -6259,15 +6259,15 @@ func (c *IAM) ListEntitiesForPolicyRequest(input *ListEntitiesForPolicyInput) (r // API operation ListEntitiesForPolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -6375,11 +6375,11 @@ func (c *IAM) ListGroupPoliciesRequest(input *ListGroupPoliciesInput) (req *requ // API operation ListGroupPolicies for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -6478,7 +6478,7 @@ func (c *IAM) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, o // API operation ListGroups for usage and error information. // // Returned Error Codes: -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -6577,11 +6577,11 @@ func (c *IAM) ListGroupsForUserRequest(input *ListGroupsForUserInput) (req *requ // API operation ListGroupsForUser for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -6682,7 +6682,7 @@ func (c *IAM) ListInstanceProfilesRequest(input *ListInstanceProfilesInput) (req // API operation ListInstanceProfiles for usage and error information. // // Returned Error Codes: -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -6783,11 +6783,11 @@ func (c *IAM) ListInstanceProfilesForRoleRequest(input *ListInstanceProfilesForR // API operation ListInstanceProfilesForRole for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -6889,11 +6889,11 @@ func (c *IAM) ListMFADevicesRequest(input *ListMFADevicesInput) (req *request.Re // API operation ListMFADevices for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -6985,7 +6985,7 @@ func (c *IAM) ListOpenIDConnectProvidersRequest(input *ListOpenIDConnectProvider // API operation ListOpenIDConnectProviders for usage and error information. // // Returned Error Codes: -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -7069,7 +7069,7 @@ func (c *IAM) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Reques // API operation ListPolicies for usage and error information. // // Returned Error Codes: -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -7171,15 +7171,15 @@ func (c *IAM) ListPolicyVersionsRequest(input *ListPolicyVersionsInput) (req *re // API operation ListPolicyVersions for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -7286,11 +7286,11 @@ func (c *IAM) ListRolePoliciesRequest(input *ListRolePoliciesInput) (req *reques // API operation ListRolePolicies for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -7391,7 +7391,7 @@ func (c *IAM) ListRolesRequest(input *ListRolesInput) (req *request.Request, out // API operation ListRoles for usage and error information. // // Returned Error Codes: -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -7484,7 +7484,7 @@ func (c *IAM) ListSAMLProvidersRequest(input *ListSAMLProvidersInput) (req *requ // API operation ListSAMLProviders for usage and error information. // // Returned Error Codes: -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -7566,7 +7566,7 @@ func (c *IAM) ListSSHPublicKeysRequest(input *ListSSHPublicKeysInput) (req *requ // API operation ListSSHPublicKeys for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // @@ -7671,7 +7671,7 @@ func (c *IAM) ListServerCertificatesRequest(input *ListServerCertificatesInput) // API operation ListServerCertificates for usage and error information. // // Returned Error Codes: -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -7768,11 +7768,11 @@ func (c *IAM) ListServiceSpecificCredentialsRequest(input *ListServiceSpecificCr // API operation ListServiceSpecificCredentials for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * NotSupportedService +// * ErrCodeServiceNotSupportedException "NotSupportedService" // The specified service does not support service-specific credentials. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListServiceSpecificCredentials @@ -7853,11 +7853,11 @@ func (c *IAM) ListSigningCertificatesRequest(input *ListSigningCertificatesInput // API operation ListSigningCertificates for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -7963,11 +7963,11 @@ func (c *IAM) ListUserPoliciesRequest(input *ListUserPoliciesInput) (req *reques // API operation ListUserPolicies for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -8068,7 +8068,7 @@ func (c *IAM) ListUsersRequest(input *ListUsersInput) (req *request.Request, out // API operation ListUsers for usage and error information. // // Returned Error Codes: -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -8273,19 +8273,19 @@ func (c *IAM) PutGroupPolicyRequest(input *PutGroupPolicyInput) (req *request.Re // API operation PutGroupPolicy for usage and error information. // // Returned Error Codes: -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * MalformedPolicyDocument +// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" // The request was rejected because the policy document was malformed. The error // message describes the specific error. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -8375,19 +8375,19 @@ func (c *IAM) PutRolePolicyRequest(input *PutRolePolicyInput) (req *request.Requ // API operation PutRolePolicy for usage and error information. // // Returned Error Codes: -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * MalformedPolicyDocument +// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" // The request was rejected because the policy document was malformed. The error // message describes the specific error. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -8471,19 +8471,19 @@ func (c *IAM) PutUserPolicyRequest(input *PutUserPolicyInput) (req *request.Requ // API operation PutUserPolicy for usage and error information. // // Returned Error Codes: -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * MalformedPolicyDocument +// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" // The request was rejected because the policy document was malformed. The error // message describes the specific error. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -8556,15 +8556,15 @@ func (c *IAM) RemoveClientIDFromOpenIDConnectProviderRequest(input *RemoveClient // API operation RemoveClientIDFromOpenIDConnectProvider for usage and error information. // // Returned Error Codes: -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -8641,15 +8641,15 @@ func (c *IAM) RemoveRoleFromInstanceProfileRequest(input *RemoveRoleFromInstance // API operation RemoveRoleFromInstanceProfile for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -8717,15 +8717,15 @@ func (c *IAM) RemoveUserFromGroupRequest(input *RemoveUserFromGroupInput) (req * // API operation RemoveUserFromGroup for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -8794,7 +8794,7 @@ func (c *IAM) ResetServiceSpecificCredentialRequest(input *ResetServiceSpecificC // API operation ResetServiceSpecificCredential for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // @@ -8867,19 +8867,19 @@ func (c *IAM) ResyncMFADeviceRequest(input *ResyncMFADeviceInput) (req *request. // API operation ResyncMFADevice for usage and error information. // // Returned Error Codes: -// * InvalidAuthenticationCode +// * ErrCodeInvalidAuthenticationCodeException "InvalidAuthenticationCode" // The request was rejected because the authentication code was not recognized. // The error message describes the specific error. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -8956,19 +8956,19 @@ func (c *IAM) SetDefaultPolicyVersionRequest(input *SetDefaultPolicyVersionInput // API operation SetDefaultPolicyVersion for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -9056,11 +9056,11 @@ func (c *IAM) SimulateCustomPolicyRequest(input *SimulateCustomPolicyInput) (req // API operation SimulateCustomPolicy for usage and error information. // // Returned Error Codes: -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * PolicyEvaluation +// * ErrCodePolicyEvaluationException "PolicyEvaluation" // The request failed because a provided policy could not be successfully evaluated. // An additional detail message indicates the source of the failure. // @@ -9183,15 +9183,15 @@ func (c *IAM) SimulatePrincipalPolicyRequest(input *SimulatePrincipalPolicyInput // API operation SimulatePrincipalPolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * PolicyEvaluation +// * ErrCodePolicyEvaluationException "PolicyEvaluation" // The request failed because a provided policy could not be successfully evaluated. // An additional detail message indicates the source of the failure. // @@ -9294,15 +9294,15 @@ func (c *IAM) UpdateAccessKeyRequest(input *UpdateAccessKeyInput) (req *request. // API operation UpdateAccessKey for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -9379,19 +9379,19 @@ func (c *IAM) UpdateAccountPasswordPolicyRequest(input *UpdateAccountPasswordPol // API operation UpdateAccountPasswordPolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * MalformedPolicyDocument +// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" // The request was rejected because the policy document was malformed. The error // message describes the specific error. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -9462,19 +9462,19 @@ func (c *IAM) UpdateAssumeRolePolicyRequest(input *UpdateAssumeRolePolicyInput) // API operation UpdateAssumeRolePolicy for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * MalformedPolicyDocument +// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" // The request was rejected because the policy document was malformed. The error // message describes the specific error. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -9552,19 +9552,19 @@ func (c *IAM) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, // API operation UpdateGroup for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * EntityAlreadyExists +// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already // exists. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -9636,25 +9636,25 @@ func (c *IAM) UpdateLoginProfileRequest(input *UpdateLoginProfileInput) (req *re // API operation UpdateLoginProfile for usage and error information. // // Returned Error Codes: -// * EntityTemporarilyUnmodifiable +// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable" // The request was rejected because it referenced an entity that is temporarily // unmodifiable, such as a user name that was deleted and then recreated. The // error indicates that the request is likely to succeed if you try again after // waiting several minutes. The error message describes the entity. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * PasswordPolicyViolation +// * ErrCodePasswordPolicyViolationException "PasswordPolicyViolation" // The request was rejected because the provided password did not meet the requirements // imposed by the account password policy. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -9736,15 +9736,15 @@ func (c *IAM) UpdateOpenIDConnectProviderThumbprintRequest(input *UpdateOpenIDCo // API operation UpdateOpenIDConnectProviderThumbprint for usage and error information. // // Returned Error Codes: -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -9812,19 +9812,19 @@ func (c *IAM) UpdateSAMLProviderRequest(input *UpdateSAMLProviderInput) (req *re // API operation UpdateSAMLProvider for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * InvalidInput +// * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -9901,7 +9901,7 @@ func (c *IAM) UpdateSSHPublicKeyRequest(input *UpdateSSHPublicKeyInput) (req *re // API operation UpdateSSHPublicKey for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // @@ -9987,19 +9987,19 @@ func (c *IAM) UpdateServerCertificateRequest(input *UpdateServerCertificateInput // API operation UpdateServerCertificate for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * EntityAlreadyExists +// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already // exists. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -10070,7 +10070,7 @@ func (c *IAM) UpdateServiceSpecificCredentialRequest(input *UpdateServiceSpecifi // API operation UpdateServiceSpecificCredential for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // @@ -10145,15 +10145,15 @@ func (c *IAM) UpdateSigningCertificateRequest(input *UpdateSigningCertificateInp // API operation UpdateSigningCertificate for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -10232,25 +10232,25 @@ func (c *IAM) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, o // API operation UpdateUser for usage and error information. // // Returned Error Codes: -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * EntityAlreadyExists +// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already // exists. // -// * EntityTemporarilyUnmodifiable +// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable" // The request was rejected because it referenced an entity that is temporarily // unmodifiable, such as a user name that was deleted and then recreated. The // error indicates that the request is likely to succeed if you try again after // waiting several minutes. The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -10322,23 +10322,23 @@ func (c *IAM) UploadSSHPublicKeyRequest(input *UploadSSHPublicKeyInput) (req *re // API operation UploadSSHPublicKey for usage and error information. // // Returned Error Codes: -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * InvalidPublicKey +// * ErrCodeInvalidPublicKeyException "InvalidPublicKey" // The request was rejected because the public key is malformed or otherwise // invalid. // -// * DuplicateSSHPublicKey +// * ErrCodeDuplicateSSHPublicKeyException "DuplicateSSHPublicKey" // The request was rejected because the SSH public key is already associated // with the specified IAM user. // -// * UnrecognizedPublicKeyEncoding +// * ErrCodeUnrecognizedPublicKeyEncodingException "UnrecognizedPublicKeyEncoding" // The request was rejected because the public key encoding format is unsupported // or unrecognized. // @@ -10423,23 +10423,23 @@ func (c *IAM) UploadServerCertificateRequest(input *UploadServerCertificateInput // API operation UploadServerCertificate for usage and error information. // // Returned Error Codes: -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * EntityAlreadyExists +// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already // exists. // -// * MalformedCertificate +// * ErrCodeMalformedCertificateException "MalformedCertificate" // The request was rejected because the certificate was malformed or expired. // The error message describes the specific error. // -// * KeyPairMismatch +// * ErrCodeKeyPairMismatchException "KeyPairMismatch" // The request was rejected because the public key certificate and the private // key do not match. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // @@ -10521,30 +10521,30 @@ func (c *IAM) UploadSigningCertificateRequest(input *UploadSigningCertificateInp // API operation UploadSigningCertificate for usage and error information. // // Returned Error Codes: -// * LimitExceeded +// * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond // the current AWS account limits. The error message describes the limit exceeded. // -// * EntityAlreadyExists +// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already // exists. // -// * MalformedCertificate +// * ErrCodeMalformedCertificateException "MalformedCertificate" // The request was rejected because the certificate was malformed or expired. // The error message describes the specific error. // -// * InvalidCertificate +// * ErrCodeInvalidCertificateException "InvalidCertificate" // The request was rejected because the certificate is invalid. // -// * DuplicateCertificate +// * ErrCodeDuplicateCertificateException "DuplicateCertificate" // The request was rejected because the same certificate is associated with // an IAM user in the account. // -// * NoSuchEntity +// * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced an entity that does not exist. // The error message describes the entity. // -// * ServiceFailure +// * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/iam/errors.go b/vendor/github.com/aws/aws-sdk-go/service/iam/errors.go new file mode 100644 index 0000000000..26c2534bf9 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/iam/errors.go @@ -0,0 +1,169 @@ +// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. + +package iam + +const ( + + // ErrCodeCredentialReportExpiredException for service response error code + // "ReportExpired". + // + // The request was rejected because the most recent credential report has expired. + // To generate a new credential report, use GenerateCredentialReport. For more + // information about credential report expiration, see Getting Credential Reports + // (http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html) + // in the IAM User Guide. + ErrCodeCredentialReportExpiredException = "ReportExpired" + + // ErrCodeCredentialReportNotPresentException for service response error code + // "ReportNotPresent". + // + // The request was rejected because the credential report does not exist. To + // generate a credential report, use GenerateCredentialReport. + ErrCodeCredentialReportNotPresentException = "ReportNotPresent" + + // ErrCodeCredentialReportNotReadyException for service response error code + // "ReportInProgress". + // + // The request was rejected because the credential report is still being generated. + ErrCodeCredentialReportNotReadyException = "ReportInProgress" + + // ErrCodeDeleteConflictException for service response error code + // "DeleteConflict". + // + // The request was rejected because it attempted to delete a resource that has + // attached subordinate entities. The error message describes these entities. + ErrCodeDeleteConflictException = "DeleteConflict" + + // ErrCodeDuplicateCertificateException for service response error code + // "DuplicateCertificate". + // + // The request was rejected because the same certificate is associated with + // an IAM user in the account. + ErrCodeDuplicateCertificateException = "DuplicateCertificate" + + // ErrCodeDuplicateSSHPublicKeyException for service response error code + // "DuplicateSSHPublicKey". + // + // The request was rejected because the SSH public key is already associated + // with the specified IAM user. + ErrCodeDuplicateSSHPublicKeyException = "DuplicateSSHPublicKey" + + // ErrCodeEntityAlreadyExistsException for service response error code + // "EntityAlreadyExists". + // + // The request was rejected because it attempted to create a resource that already + // exists. + ErrCodeEntityAlreadyExistsException = "EntityAlreadyExists" + + // ErrCodeEntityTemporarilyUnmodifiableException for service response error code + // "EntityTemporarilyUnmodifiable". + // + // The request was rejected because it referenced an entity that is temporarily + // unmodifiable, such as a user name that was deleted and then recreated. The + // error indicates that the request is likely to succeed if you try again after + // waiting several minutes. The error message describes the entity. + ErrCodeEntityTemporarilyUnmodifiableException = "EntityTemporarilyUnmodifiable" + + // ErrCodeInvalidAuthenticationCodeException for service response error code + // "InvalidAuthenticationCode". + // + // The request was rejected because the authentication code was not recognized. + // The error message describes the specific error. + ErrCodeInvalidAuthenticationCodeException = "InvalidAuthenticationCode" + + // ErrCodeInvalidCertificateException for service response error code + // "InvalidCertificate". + // + // The request was rejected because the certificate is invalid. + ErrCodeInvalidCertificateException = "InvalidCertificate" + + // ErrCodeInvalidInputException for service response error code + // "InvalidInput". + // + // The request was rejected because an invalid or out-of-range value was supplied + // for an input parameter. + ErrCodeInvalidInputException = "InvalidInput" + + // ErrCodeInvalidPublicKeyException for service response error code + // "InvalidPublicKey". + // + // The request was rejected because the public key is malformed or otherwise + // invalid. + ErrCodeInvalidPublicKeyException = "InvalidPublicKey" + + // ErrCodeInvalidUserTypeException for service response error code + // "InvalidUserType". + // + // The request was rejected because the type of user for the transaction was + // incorrect. + ErrCodeInvalidUserTypeException = "InvalidUserType" + + // ErrCodeKeyPairMismatchException for service response error code + // "KeyPairMismatch". + // + // The request was rejected because the public key certificate and the private + // key do not match. + ErrCodeKeyPairMismatchException = "KeyPairMismatch" + + // ErrCodeLimitExceededException for service response error code + // "LimitExceeded". + // + // The request was rejected because it attempted to create resources beyond + // the current AWS account limits. The error message describes the limit exceeded. + ErrCodeLimitExceededException = "LimitExceeded" + + // ErrCodeMalformedCertificateException for service response error code + // "MalformedCertificate". + // + // The request was rejected because the certificate was malformed or expired. + // The error message describes the specific error. + ErrCodeMalformedCertificateException = "MalformedCertificate" + + // ErrCodeMalformedPolicyDocumentException for service response error code + // "MalformedPolicyDocument". + // + // The request was rejected because the policy document was malformed. The error + // message describes the specific error. + ErrCodeMalformedPolicyDocumentException = "MalformedPolicyDocument" + + // ErrCodeNoSuchEntityException for service response error code + // "NoSuchEntity". + // + // The request was rejected because it referenced an entity that does not exist. + // The error message describes the entity. + ErrCodeNoSuchEntityException = "NoSuchEntity" + + // ErrCodePasswordPolicyViolationException for service response error code + // "PasswordPolicyViolation". + // + // The request was rejected because the provided password did not meet the requirements + // imposed by the account password policy. + ErrCodePasswordPolicyViolationException = "PasswordPolicyViolation" + + // ErrCodePolicyEvaluationException for service response error code + // "PolicyEvaluation". + // + // The request failed because a provided policy could not be successfully evaluated. + // An additional detail message indicates the source of the failure. + ErrCodePolicyEvaluationException = "PolicyEvaluation" + + // ErrCodeServiceFailureException for service response error code + // "ServiceFailure". + // + // The request processing has failed because of an unknown error, exception + // or failure. + ErrCodeServiceFailureException = "ServiceFailure" + + // ErrCodeServiceNotSupportedException for service response error code + // "NotSupportedService". + // + // The specified service does not support service-specific credentials. + ErrCodeServiceNotSupportedException = "NotSupportedService" + + // ErrCodeUnrecognizedPublicKeyEncodingException for service response error code + // "UnrecognizedPublicKeyEncoding". + // + // The request was rejected because the public key encoding format is unsupported + // or unrecognized. + ErrCodeUnrecognizedPublicKeyEncodingException = "UnrecognizedPublicKeyEncoding" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go index 5318731f4a..68d1ed4030 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go @@ -73,7 +73,7 @@ func (c *S3) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) (req // API operation AbortMultipartUpload for usage and error information. // // Returned Error Codes: -// * NoSuchUpload +// * ErrCodeNoSuchUpload "NoSuchUpload" // The specified multipart upload does not exist. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload @@ -198,7 +198,7 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou // API operation CopyObject for usage and error information. // // Returned Error Codes: -// * ObjectNotInActiveTierError +// * ErrCodeObjectNotInActiveTierError "ObjectNotInActiveTierError" // The source object of the COPY operation is not in the active tier and is // only stored in Amazon Glacier. // @@ -264,11 +264,11 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request // API operation CreateBucket for usage and error information. // // Returned Error Codes: -// * BucketAlreadyExists +// * ErrCodeBucketAlreadyExists "BucketAlreadyExists" // The requested bucket name is not available. The bucket namespace is shared // by all users of the system. Please select a different name and try again. // -// * BucketAlreadyOwnedByYou +// * ErrCodeBucketAlreadyOwnedByYou "BucketAlreadyOwnedByYou" // // Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket @@ -2296,7 +2296,7 @@ func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, outp // API operation GetObject for usage and error information. // // Returned Error Codes: -// * NoSuchKey +// * ErrCodeNoSuchKey "NoSuchKey" // The specified key does not exist. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject @@ -2361,7 +2361,7 @@ func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request // API operation GetObjectAcl for usage and error information. // // Returned Error Codes: -// * NoSuchKey +// * ErrCodeNoSuchKey "NoSuchKey" // The specified key does not exist. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl @@ -2549,7 +2549,7 @@ func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *request.Request, ou // API operation HeadBucket for usage and error information. // // Returned Error Codes: -// * NoSuchBucket +// * ErrCodeNoSuchBucket "NoSuchBucket" // The specified bucket does not exist. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket @@ -2616,7 +2616,7 @@ func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, ou // API operation HeadObject for usage and error information. // // Returned Error Codes: -// * NoSuchKey +// * ErrCodeNoSuchKey "NoSuchKey" // The specified key does not exist. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject @@ -3111,7 +3111,7 @@ func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request, // API operation ListObjects for usage and error information. // // Returned Error Codes: -// * NoSuchBucket +// * ErrCodeNoSuchBucket "NoSuchBucket" // The specified bucket does not exist. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects @@ -3210,7 +3210,7 @@ func (c *S3) ListObjectsV2Request(input *ListObjectsV2Input) (req *request.Reque // API operation ListObjectsV2 for usage and error information. // // Returned Error Codes: -// * NoSuchBucket +// * ErrCodeNoSuchBucket "NoSuchBucket" // The specified bucket does not exist. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2 @@ -4525,7 +4525,7 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request // API operation PutObjectAcl for usage and error information. // // Returned Error Codes: -// * NoSuchKey +// * ErrCodeNoSuchKey "NoSuchKey" // The specified key does not exist. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl @@ -4650,7 +4650,7 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque // API operation RestoreObject for usage and error information. // // Returned Error Codes: -// * ObjectAlreadyInActiveTierError +// * ErrCodeObjectAlreadyInActiveTierError "ObjectAlreadyInActiveTierError" // This operation is not allowed against this storage tier // // Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/errors.go b/vendor/github.com/aws/aws-sdk-go/service/s3/errors.go new file mode 100644 index 0000000000..13ebbdad90 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/errors.go @@ -0,0 +1,48 @@ +// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. + +package s3 + +const ( + + // ErrCodeBucketAlreadyExists for service response error code + // "BucketAlreadyExists". + // + // The requested bucket name is not available. The bucket namespace is shared + // by all users of the system. Please select a different name and try again. + ErrCodeBucketAlreadyExists = "BucketAlreadyExists" + + // ErrCodeBucketAlreadyOwnedByYou for service response error code + // "BucketAlreadyOwnedByYou". + ErrCodeBucketAlreadyOwnedByYou = "BucketAlreadyOwnedByYou" + + // ErrCodeNoSuchBucket for service response error code + // "NoSuchBucket". + // + // The specified bucket does not exist. + ErrCodeNoSuchBucket = "NoSuchBucket" + + // ErrCodeNoSuchKey for service response error code + // "NoSuchKey". + // + // The specified key does not exist. + ErrCodeNoSuchKey = "NoSuchKey" + + // ErrCodeNoSuchUpload for service response error code + // "NoSuchUpload". + // + // The specified multipart upload does not exist. + ErrCodeNoSuchUpload = "NoSuchUpload" + + // ErrCodeObjectAlreadyInActiveTierError for service response error code + // "ObjectAlreadyInActiveTierError". + // + // This operation is not allowed against this storage tier + ErrCodeObjectAlreadyInActiveTierError = "ObjectAlreadyInActiveTierError" + + // ErrCodeObjectNotInActiveTierError for service response error code + // "ObjectNotInActiveTierError". + // + // The source object of the COPY operation is not in the active tier and is + // only stored in Amazon Glacier. + ErrCodeObjectNotInActiveTierError = "ObjectNotInActiveTierError" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go index 19c57ed68c..ad42b4c973 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go @@ -153,16 +153,16 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // API operation AssumeRole for usage and error information. // // Returned Error Codes: -// * MalformedPolicyDocument +// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" // The request was rejected because the policy document was malformed. The error // message describes the specific error. // -// * PackedPolicyTooLarge +// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge" // The request was rejected because the policy document was too large. The error // message describes how big the policy document is, in packed form, as a percentage // of what the API allows. // -// * RegionDisabledException +// * ErrCodeRegionDisabledException "RegionDisabledException" // STS is not activated in the requested region for the account that is being // asked to generate credentials. The account administrator must use the IAM // console to activate STS in that region. For more information, see Activating @@ -297,31 +297,31 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // API operation AssumeRoleWithSAML for usage and error information. // // Returned Error Codes: -// * MalformedPolicyDocument +// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" // The request was rejected because the policy document was malformed. The error // message describes the specific error. // -// * PackedPolicyTooLarge +// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge" // The request was rejected because the policy document was too large. The error // message describes how big the policy document is, in packed form, as a percentage // of what the API allows. // -// * IDPRejectedClaim +// * ErrCodeIDPRejectedClaimException "IDPRejectedClaim" // The identity provider (IdP) reported that authentication failed. This might // be because the claim is invalid. // // If this error is returned for the AssumeRoleWithWebIdentity operation, it // can also mean that the claim has expired or has been explicitly revoked. // -// * InvalidIdentityToken +// * ErrCodeInvalidIdentityTokenException "InvalidIdentityToken" // The web identity token that was passed could not be validated by AWS. Get // a new identity token from the identity provider and then retry the request. // -// * ExpiredTokenException +// * ErrCodeExpiredTokenException "ExpiredTokenException" // The web identity token that was passed is expired or is not valid. Get a // new identity token from the identity provider and then retry the request. // -// * RegionDisabledException +// * ErrCodeRegionDisabledException "RegionDisabledException" // STS is not activated in the requested region for the account that is being // asked to generate credentials. The account administrator must use the IAM // console to activate STS in that region. For more information, see Activating @@ -478,38 +478,38 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // API operation AssumeRoleWithWebIdentity for usage and error information. // // Returned Error Codes: -// * MalformedPolicyDocument +// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" // The request was rejected because the policy document was malformed. The error // message describes the specific error. // -// * PackedPolicyTooLarge +// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge" // The request was rejected because the policy document was too large. The error // message describes how big the policy document is, in packed form, as a percentage // of what the API allows. // -// * IDPRejectedClaim +// * ErrCodeIDPRejectedClaimException "IDPRejectedClaim" // The identity provider (IdP) reported that authentication failed. This might // be because the claim is invalid. // // If this error is returned for the AssumeRoleWithWebIdentity operation, it // can also mean that the claim has expired or has been explicitly revoked. // -// * IDPCommunicationError +// * ErrCodeIDPCommunicationErrorException "IDPCommunicationError" // The request could not be fulfilled because the non-AWS identity provider // (IDP) that was asked to verify the incoming identity token could not be reached. // This is often a transient error caused by network conditions. Retry the request // a limited number of times so that you don't exceed the request rate. If the // error persists, the non-AWS identity provider might be down or not responding. // -// * InvalidIdentityToken +// * ErrCodeInvalidIdentityTokenException "InvalidIdentityToken" // The web identity token that was passed could not be validated by AWS. Get // a new identity token from the identity provider and then retry the request. // -// * ExpiredTokenException +// * ErrCodeExpiredTokenException "ExpiredTokenException" // The web identity token that was passed is expired or is not valid. Get a // new identity token from the identity provider and then retry the request. // -// * RegionDisabledException +// * ErrCodeRegionDisabledException "RegionDisabledException" // STS is not activated in the requested region for the account that is being // asked to generate credentials. The account administrator must use the IAM // console to activate STS in that region. For more information, see Activating @@ -609,7 +609,7 @@ func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessag // API operation DecodeAuthorizationMessage for usage and error information. // // Returned Error Codes: -// * InvalidAuthorizationMessageException +// * ErrCodeInvalidAuthorizationMessageException "InvalidAuthorizationMessageException" // The error returned if the message passed to DecodeAuthorizationMessage was // invalid. This can happen if the token contains invalid characters, such as // linebreaks. @@ -814,16 +814,16 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re // API operation GetFederationToken for usage and error information. // // Returned Error Codes: -// * MalformedPolicyDocument +// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" // The request was rejected because the policy document was malformed. The error // message describes the specific error. // -// * PackedPolicyTooLarge +// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge" // The request was rejected because the policy document was too large. The error // message describes how big the policy document is, in packed form, as a percentage // of what the API allows. // -// * RegionDisabledException +// * ErrCodeRegionDisabledException "RegionDisabledException" // STS is not activated in the requested region for the account that is being // asked to generate credentials. The account administrator must use the IAM // console to activate STS in that region. For more information, see Activating @@ -937,7 +937,7 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request. // API operation GetSessionToken for usage and error information. // // Returned Error Codes: -// * RegionDisabledException +// * ErrCodeRegionDisabledException "RegionDisabledException" // STS is not activated in the requested region for the account that is being // asked to generate credentials. The account administrator must use the IAM // console to activate STS in that region. For more information, see Activating diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go b/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go new file mode 100644 index 0000000000..dbcd66759c --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go @@ -0,0 +1,73 @@ +// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. + +package sts + +const ( + + // ErrCodeExpiredTokenException for service response error code + // "ExpiredTokenException". + // + // The web identity token that was passed is expired or is not valid. Get a + // new identity token from the identity provider and then retry the request. + ErrCodeExpiredTokenException = "ExpiredTokenException" + + // ErrCodeIDPCommunicationErrorException for service response error code + // "IDPCommunicationError". + // + // The request could not be fulfilled because the non-AWS identity provider + // (IDP) that was asked to verify the incoming identity token could not be reached. + // This is often a transient error caused by network conditions. Retry the request + // a limited number of times so that you don't exceed the request rate. If the + // error persists, the non-AWS identity provider might be down or not responding. + ErrCodeIDPCommunicationErrorException = "IDPCommunicationError" + + // ErrCodeIDPRejectedClaimException for service response error code + // "IDPRejectedClaim". + // + // The identity provider (IdP) reported that authentication failed. This might + // be because the claim is invalid. + // + // If this error is returned for the AssumeRoleWithWebIdentity operation, it + // can also mean that the claim has expired or has been explicitly revoked. + ErrCodeIDPRejectedClaimException = "IDPRejectedClaim" + + // ErrCodeInvalidAuthorizationMessageException for service response error code + // "InvalidAuthorizationMessageException". + // + // The error returned if the message passed to DecodeAuthorizationMessage was + // invalid. This can happen if the token contains invalid characters, such as + // linebreaks. + ErrCodeInvalidAuthorizationMessageException = "InvalidAuthorizationMessageException" + + // ErrCodeInvalidIdentityTokenException for service response error code + // "InvalidIdentityToken". + // + // The web identity token that was passed could not be validated by AWS. Get + // a new identity token from the identity provider and then retry the request. + ErrCodeInvalidIdentityTokenException = "InvalidIdentityToken" + + // ErrCodeMalformedPolicyDocumentException for service response error code + // "MalformedPolicyDocument". + // + // The request was rejected because the policy document was malformed. The error + // message describes the specific error. + ErrCodeMalformedPolicyDocumentException = "MalformedPolicyDocument" + + // ErrCodePackedPolicyTooLargeException for service response error code + // "PackedPolicyTooLarge". + // + // The request was rejected because the policy document was too large. The error + // message describes how big the policy document is, in packed form, as a percentage + // of what the API allows. + ErrCodePackedPolicyTooLargeException = "PackedPolicyTooLarge" + + // ErrCodeRegionDisabledException for service response error code + // "RegionDisabledException". + // + // STS is not activated in the requested region for the account that is being + // asked to generate credentials. The account administrator must use the IAM + // console to activate STS in that region. For more information, see Activating + // and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) + // in the IAM User Guide. + ErrCodeRegionDisabledException = "RegionDisabledException" +) diff --git a/vendor/github.com/circonus-labs/circonus-gometrics/README.md b/vendor/github.com/circonus-labs/circonus-gometrics/README.md index a6291ef1ed..185f2cc901 100644 --- a/vendor/github.com/circonus-labs/circonus-gometrics/README.md +++ b/vendor/github.com/circonus-labs/circonus-gometrics/README.md @@ -124,7 +124,7 @@ func main() { cmc.CheckManager.API.URL = os.Getenv("CIRCONUS_API_URL") // Check configuration options - cmc.CheckManager.Check.SubmissionURL = os.Getenv("CIRCONUS_SUBMISION_URL") + cmc.CheckManager.Check.SubmissionURL = os.Getenv("CIRCONUS_SUBMISSION_URL") cmc.CheckManager.Check.ID = os.Getenv("CIRCONUS_CHECK_ID") cmc.CheckManager.Check.InstanceID = "" cmc.CheckManager.Check.DisplayName = "" diff --git a/vendor/github.com/circonus-labs/circonus-gometrics/api/graph.go b/vendor/github.com/circonus-labs/circonus-gometrics/api/graph.go index 20c9c87169..0c3f168941 100644 --- a/vendor/github.com/circonus-labs/circonus-gometrics/api/graph.go +++ b/vendor/github.com/circonus-labs/circonus-gometrics/api/graph.go @@ -48,19 +48,19 @@ type GraphComposite struct { // GraphDatapoint defines a datapoint type GraphDatapoint struct { - Alpha string `json:"alpha,omitempty"` // string - Axis string `json:"axis,omitempty"` // string - CAQL *string `json:"caql,omitempty"` // string or null - CheckID uint `json:"check_id,omitempty"` // uint - Color string `json:"color,omitempty"` // string - DataFormula *string `json:"data_formula,omitempty"` // string or null - Derive interface{} `json:"derive,omitempty"` // BUG doc: string, api: string or boolean(for caql statements) - Hidden bool `json:"hidden,omitempty"` // boolean - LegendFormula *string `json:"legend_formula,omitempty"` // string or null - MetricName string `json:"metric_name,omitempty"` // string - MetricType string `json:"metric_type,omitempty"` // string - Name string `json:"name,omitempty"` // string - Stack *uint `json:"stack,omitempty"` // uint or null + Alpha *float64 `json:"alpha,string,omitempty"` // float64 + Axis string `json:"axis,omitempty"` // string + CAQL *string `json:"caql,omitempty"` // string or null + CheckID uint `json:"check_id,omitempty"` // uint + Color *string `json:"color,omitempty"` // string + DataFormula *string `json:"data_formula"` // string or null + Derive interface{} `json:"derive,omitempty"` // BUG doc: string, api: string or boolean(for caql statements) + Hidden bool `json:"hidden"` // boolean + LegendFormula *string `json:"legend_formula"` // string or null + MetricName string `json:"metric_name,omitempty"` // string + MetricType string `json:"metric_type,omitempty"` // string + Name string `json:"name"` // string + Stack *uint `json:"stack"` // uint or null } // GraphGuide defines a guide @@ -74,47 +74,47 @@ type GraphGuide struct { // GraphMetricCluster defines a metric cluster type GraphMetricCluster struct { - AggregateFunc string `json:"aggregation_function,omitempty"` // string - Axis string `json:"axis,omitempty"` // string - DataFormula *string `json:"data_formula,omitempty"` // string or null - Hidden bool `json:"hidden,omitempty"` // boolean - LegendFormula *string `json:"legend_formula,omitempty"` // string or null - MetricCluster string `json:"metric_cluster,omitempty"` // string - Name string `json:"name,omitempty"` // string - Stack *uint `json:"stack,omitempty"` // uint or null + AggregateFunc string `json:"aggregate_function,omitempty"` // string + Axis string `json:"axis,omitempty"` // string + DataFormula *string `json:"data_formula"` // string or null + Hidden bool `json:"hidden"` // boolean + LegendFormula *string `json:"legend_formula"` // string or null + MetricCluster string `json:"metric_cluster,omitempty"` // string + Name string `json:"name,omitempty"` // string + Stack *uint `json:"stack"` // uint or null } // OverlayDataOptions defines overlay options for data. Note, each overlay type requires // a _subset_ of the options. See Graph API documentation (URL above) for details. type OverlayDataOptions struct { - Alerts string `json:"alerts,omitempty"` // string BUG doc: numeric, api: string - ArrayOutput string `json:"array_output,omitempty"` // string BUG doc: numeric, api: string - BasePeriod string `json:"base_period,omitempty"` // string BUG doc: numeric, api: string - Delay string `json:"delay,omitempty"` // string BUG doc: numeric, api: string - Extension string `json:"extension,omitempty"` // string - GraphTitle string `json:"graph_title,omitempty"` // string - GraphUUID string `json:"graph_id,omitempty"` // string - InPercent string `json:"in_percent,omitempty"` // string BUG doc: boolean, api: string - Inverse string `json:"inverse,omitempty"` // string BUG doc: numeric, api: string - Method string `json:"method,omitempty"` // string - Model string `json:"model,omitempty"` // string - ModelEnd string `json:"model_end,omitempty"` // string - ModelPeriod string `json:"model_period,omitempty"` // string - ModelRelative string `json:"model_relative,omitempty"` // string BUG doc: numeric, api: string - Out string `json:"out,omitempty"` // string - Prequel string `json:"prequel,omitempty"` // string - Presets string `json:"presets,omitempty"` // string - Quantiles string `json:"quantiles,omitempty"` // string - SeasonLength string `json:"season_length,omitempty"` // string BUG doc: numeric, api: string - Sensitivity string `json:"sensitivity,omitempty"` // string BUG doc: numeric, api: string - SingleValue string `json:"single_value,omitempty"` // string BUG doc: numeric, api: string - TargetPeriod string `json:"target_period,omitempty"` // string - TimeOffset string `json:"time_offset,omitempty"` // string - TimeShift string `json:"time_shift,omitempty"` // string BUG doc: numeric, api: string - Transform string `json:"transform,omitempty"` // string - Version string `json:"version,omitempty"` // string BUG doc: numeric, api: string - Window string `json:"window,omitempty"` // string BUG doc: numeric, api: string - XShift string `json:"x_shift,omitempty"` // string + Alerts *int `json:"alerts,string,omitempty"` // int encoded as string BUG doc: numeric, api: string + ArrayOutput *int `json:"array_output,string,omitempty"` // int encoded as string BUG doc: numeric, api: string + BasePeriod *int `json:"base_period,string,omitempty"` // int encoded as string BUG doc: numeric, api: string + Delay *int `json:"delay,string,omitempty"` // int encoded as string BUG doc: numeric, api: string + Extension string `json:"extension,omitempty"` // string + GraphTitle string `json:"graph_title,omitempty"` // string + GraphUUID string `json:"graph_id,omitempty"` // string + InPercent *bool `json:"in_percent,string,omitempty"` // boolean encoded as string BUG doc: boolean, api: string + Inverse *int `json:"inverse,string,omitempty"` // int encoded as string BUG doc: numeric, api: string + Method string `json:"method,omitempty"` // string + Model string `json:"model,omitempty"` // string + ModelEnd string `json:"model_end,omitempty"` // string + ModelPeriod string `json:"model_period,omitempty"` // string + ModelRelative *int `json:"model_relative,string,omitempty"` // int encoded as string BUG doc: numeric, api: string + Out string `json:"out,omitempty"` // string + Prequel string `json:"prequel,omitempty"` // string + Presets string `json:"presets,omitempty"` // string + Quantiles string `json:"quantiles,omitempty"` // string + SeasonLength *int `json:"season_length,string,omitempty"` // int encoded as string BUG doc: numeric, api: string + Sensitivity *int `json:"sensitivity,string,omitempty"` // int encoded as string BUG doc: numeric, api: string + SingleValue *int `json:"single_value,string,omitempty"` // int encoded as string BUG doc: numeric, api: string + TargetPeriod string `json:"target_period,omitempty"` // string + TimeOffset string `json:"time_offset,omitempty"` // string + TimeShift *int `json:"time_shift,string,omitempty"` // int encoded as string BUG doc: numeric, api: string + Transform string `json:"transform,omitempty"` // string + Version *int `json:"version,string,omitempty"` // int encoded as string BUG doc: numeric, api: string + Window *int `json:"window,string,omitempty"` // int encoded as string BUG doc: numeric, api: string + XShift string `json:"x_shift,omitempty"` // string } // OverlayUISpecs defines UI specs for overlay @@ -123,7 +123,7 @@ type OverlayUISpecs struct { ID string `json:"id,omitempty"` // string Label string `json:"label,omitempty"` // string Type string `json:"type,omitempty"` // string - Z string `json:"z,omitempty"` // string BUG doc: numeric, api: string + Z *int `json:"z,string,omitempty"` // int encoded as string BUG doc: numeric, api: string } // GraphOverlaySet defines overlays for graph @@ -136,25 +136,25 @@ type GraphOverlaySet struct { // Graph defines a graph. See https://login.circonus.com/resources/api/calls/graph for more information. type Graph struct { - AccessKeys []GraphAccessKey `json:"access_keys,omitempty"` // [] len >= 0 - CID string `json:"_cid,omitempty"` // string - Composites []GraphComposite `json:"composites,omitempty"` // [] len >= 0 - Datapoints []GraphDatapoint `json:"datapoints,omitempt"` // [] len >= 0 - Description string `json:"description,omitempty"` // string - Guides []GraphGuide `json:"guides,omitempty"` // [] len >= 0 - LineStyle string `json:"line_style,omitempty"` // string - LogLeftY int `json:"logarithmitc_left_y,omitempty"` // string or null BUG doc: number (not string) - LogRightY int `json:"logarithmitc_right_y,omitempty"` // string or null BUG doc: number (not string) - MaxLeftY *string `json:"max_left_y,omitempty"` // string or null BUG doc: number (not string) - MaxRightY *string `json:"max_right_y,omitempty"` // string or null BUG doc: number (not string) - MetricClusters []GraphMetricCluster `json:"metric_clusters,omitempty"` // [] len >= 0 - MinLeftY *string `json:"min_left_y,omitempty"` // string or null BUG doc: number (not string) - MinRightY *string `json:"min_right_y,omitempty"` // string or null BUG doc: number (not string) - Notes *string `json:"notes,omitempty"` // string or null - OverlaySets *map[string]GraphOverlaySet `json:"overlay_sets,omitempty"` // GroupOverLaySets or null - Style string `json:"style,omitempty"` // string - Tags []string `json:"tags,omitempty"` // [] len >= 0 - Title string `json:"title,omitempty"` // string + AccessKeys []GraphAccessKey `json:"access_keys,omitempty"` // [] len >= 0 + CID string `json:"_cid,omitempty"` // string + Composites []GraphComposite `json:"composites,omitempty"` // [] len >= 0 + Datapoints []GraphDatapoint `json:"datapoints,omitempt"` // [] len >= 0 + Description string `json:"description,omitempty"` // string + Guides []GraphGuide `json:"guides,omitempty"` // [] len >= 0 + LineStyle *string `json:"line_style"` // string or null + LogLeftY *int `json:"logarithmic_left_y,string,omitempty"` // int encoded as string or null BUG doc: number (not string) + LogRightY *int `json:"logarithmic_right_y,string,omitempty"` // int encoded as string or null BUG doc: number (not string) + MaxLeftY *float64 `json:"max_left_y,string,omitempty"` // float64 encoded as string or null BUG doc: number (not string) + MaxRightY *float64 `json:"max_right_y,string,omitempty"` // float64 encoded as string or null BUG doc: number (not string) + MetricClusters []GraphMetricCluster `json:"metric_clusters,omitempty"` // [] len >= 0 + MinLeftY *float64 `json:"min_left_y,string,omitempty"` // float64 encoded as string or null BUG doc: number (not string) + MinRightY *float64 `json:"min_right_y,string,omitempty"` // float64 encoded as string or null BUG doc: number (not string) + Notes *string `json:"notes,omitempty"` // string or null + OverlaySets *map[string]GraphOverlaySet `json:"overlay_sets,omitempty"` // GroupOverLaySets or null + Style *string `json:"style"` // string or null + Tags []string `json:"tags,omitempty"` // [] len >= 0 + Title string `json:"title,omitempty"` // string } // NewGraph returns a Graph (with defaults, if applicable) diff --git a/vendor/github.com/circonus-labs/circonus-gometrics/checkmgr/broker.go b/vendor/github.com/circonus-labs/circonus-gometrics/checkmgr/broker.go index 287267fa1c..caeaaef33d 100644 --- a/vendor/github.com/circonus-labs/circonus-gometrics/checkmgr/broker.go +++ b/vendor/github.com/circonus-labs/circonus-gometrics/checkmgr/broker.go @@ -187,34 +187,30 @@ func (cm *CheckManager) isValidBroker(broker *api.Broker) bool { brokerHost = *detail.IP } - // broker must be reachable and respond within designated time - conn, err := net.DialTimeout("tcp", fmt.Sprintf("%s:%s", brokerHost, brokerPort), cm.brokerMaxResponseTime) - if err != nil { - if detail.CN != "trap.noit.circonus.net" { - if cm.Debug { - cm.Log.Printf("[DEBUG] Broker '%s' unable to connect, %v\n", broker.Name, err) - } - continue // not able to reach the broker (or respone slow enough for it to be considered not usable) - } - // if circonus trap broker, try port 443 + if brokerHost == "trap.noit.circonus.net" && brokerPort != "443" { brokerPort = "443" - conn, err = net.DialTimeout("tcp", fmt.Sprintf("%s:%s", detail.CN, brokerPort), cm.brokerMaxResponseTime) - if err != nil { - if cm.Debug { - cm.Log.Printf("[DEBUG] Broker '%s' unable to connect %v\n", broker.Name, err) - } - continue // not able to reach the broker on 443 either (or respone slow enough for it to be considered not usable) + } + + retries := 5 + for attempt := 1; attempt <= retries; attempt++ { + // broker must be reachable and respond within designated time + conn, err := net.DialTimeout("tcp", fmt.Sprintf("%s:%s", brokerHost, brokerPort), cm.brokerMaxResponseTime) + if err == nil { + conn.Close() + valid = true + break } - } - conn.Close() - if cm.Debug { - cm.Log.Printf("[DEBUG] Broker '%s' is valid\n", broker.Name) + cm.Log.Printf("[WARN] Broker '%s' unable to connect, %v. Retrying in 2 seconds, attempt %d of %d.", broker.Name, err, attempt, retries) + time.Sleep(2 * time.Second) } - valid = true - break - + if valid { + if cm.Debug { + cm.Log.Printf("[DEBUG] Broker '%s' is valid\n", broker.Name) + } + break + } } return valid } diff --git a/vendor/github.com/circonus-labs/circonus-gometrics/circonus-gometrics.go b/vendor/github.com/circonus-labs/circonus-gometrics/circonus-gometrics.go index 8edbc5863d..32cae5bb41 100644 --- a/vendor/github.com/circonus-labs/circonus-gometrics/circonus-gometrics.go +++ b/vendor/github.com/circonus-labs/circonus-gometrics/circonus-gometrics.go @@ -126,7 +126,7 @@ func New(cfg *Config) (*CirconusMetrics, error) { cm.Debug = cfg.Debug cm.Log = cfg.Log - if cm.Debug && cfg.Log == nil { + if cm.Debug && cm.Log == nil { cm.Log = log.New(os.Stderr, "", log.LstdFlags) } if cm.Log == nil { @@ -219,6 +219,11 @@ func (m *CirconusMetrics) Start() { return } +// Ready returns true or false indicating if the check is ready to accept metrics +func (m *CirconusMetrics) Ready() bool { + return m.check.IsReady() +} + // Flush metrics kicks off the process of sending metrics to Circonus func (m *CirconusMetrics) Flush() { if m.flushing { diff --git a/vendor/github.com/coreos/etcd/clientv3/concurrency/session.go b/vendor/github.com/coreos/etcd/clientv3/concurrency/session.go index 59267df500..0cb5ea7cf1 100644 --- a/vendor/github.com/coreos/etcd/clientv3/concurrency/session.go +++ b/vendor/github.com/coreos/etcd/clientv3/concurrency/session.go @@ -41,11 +41,14 @@ func NewSession(client *v3.Client, opts ...SessionOption) (*Session, error) { opt(ops) } - resp, err := client.Grant(ops.ctx, int64(ops.ttl)) - if err != nil { - return nil, err + id := ops.leaseID + if id == v3.NoLease { + resp, err := client.Grant(ops.ctx, int64(ops.ttl)) + if err != nil { + return nil, err + } + id = v3.LeaseID(resp.ID) } - id := v3.LeaseID(resp.ID) ctx, cancel := context.WithCancel(ops.ctx) keepAlive, err := client.KeepAlive(ctx, id) @@ -98,8 +101,9 @@ func (s *Session) Close() error { } type sessionOptions struct { - ttl int - ctx context.Context + ttl int + leaseID v3.LeaseID + ctx context.Context } // SessionOption configures Session. @@ -115,6 +119,15 @@ func WithTTL(ttl int) SessionOption { } } +// WithLease specifies the existing leaseID to be used for the session. +// This is useful in process restart scenario, for example, to reclaim +// leadership from an election prior to restart. +func WithLease(leaseID v3.LeaseID) SessionOption { + return func(so *sessionOptions) { + so.leaseID = leaseID + } +} + // WithContext assigns a context to the session instead of defaulting to // using the client context. This is useful for canceling NewSession and // Close operations immediately without having to close the client. If the diff --git a/vendor/github.com/go-ldap/ldap/Makefile b/vendor/github.com/go-ldap/ldap/Makefile index c1fc966573..f7899f59a7 100644 --- a/vendor/github.com/go-ldap/ldap/Makefile +++ b/vendor/github.com/go-ldap/ldap/Makefile @@ -1,5 +1,15 @@ .PHONY: default install build test quicktest fmt vet lint +GO_VERSION := $(shell go version | cut -d' ' -f3 | cut -d. -f2) + +# Only use the `-race` flag on newer versions of Go +IS_OLD_GO := $(shell test $(GO_VERSION) -le 2 && echo true) +ifeq ($(IS_OLD_GO),true) + RACE_FLAG := +else + RACE_FLAG := -race +endif + default: fmt vet lint build quicktest install: @@ -9,7 +19,7 @@ build: go build -v ./... test: - go test -v -cover ./... + go test -v $(RACE_FLAG) -cover ./... quicktest: go test ./... diff --git a/vendor/github.com/go-ldap/ldap/atomic_value.go b/vendor/github.com/go-ldap/ldap/atomic_value.go new file mode 100644 index 0000000000..bccf7573e0 --- /dev/null +++ b/vendor/github.com/go-ldap/ldap/atomic_value.go @@ -0,0 +1,13 @@ +// +build go1.4 + +package ldap + +import ( + "sync/atomic" +) + +// For compilers that support it, we just use the underlying sync/atomic.Value +// type. +type atomicValue struct { + atomic.Value +} diff --git a/vendor/github.com/go-ldap/ldap/atomic_value_go13.go b/vendor/github.com/go-ldap/ldap/atomic_value_go13.go new file mode 100644 index 0000000000..04920bb260 --- /dev/null +++ b/vendor/github.com/go-ldap/ldap/atomic_value_go13.go @@ -0,0 +1,28 @@ +// +build !go1.4 + +package ldap + +import ( + "sync" +) + +// This is a helper type that emulates the use of the "sync/atomic.Value" +// struct that's available in Go 1.4 and up. +type atomicValue struct { + value interface{} + lock sync.RWMutex +} + +func (av *atomicValue) Store(val interface{}) { + av.lock.Lock() + av.value = val + av.lock.Unlock() +} + +func (av *atomicValue) Load() interface{} { + av.lock.RLock() + ret := av.value + av.lock.RUnlock() + + return ret +} diff --git a/vendor/github.com/go-ldap/ldap/conn.go b/vendor/github.com/go-ldap/ldap/conn.go index b5bd99adb5..e701a9b662 100644 --- a/vendor/github.com/go-ldap/ldap/conn.go +++ b/vendor/github.com/go-ldap/ldap/conn.go @@ -11,6 +11,7 @@ import ( "log" "net" "sync" + "sync/atomic" "time" "gopkg.in/asn1-ber.v1" @@ -82,8 +83,8 @@ const ( type Conn struct { conn net.Conn isTLS bool - isClosing bool - closeErr error + closeCount uint32 + closeErr atomicValue isStartingTLS bool Debug debugging chanConfirm chan bool @@ -158,10 +159,20 @@ func (l *Conn) Start() { l.wgClose.Add(1) } +// isClosing returns whether or not we're currently closing. +func (l *Conn) isClosing() bool { + return atomic.LoadUint32(&l.closeCount) > 0 +} + +// setClosing sets the closing value to true +func (l *Conn) setClosing() { + atomic.AddUint32(&l.closeCount, 1) +} + // Close closes the connection. func (l *Conn) Close() { l.once.Do(func() { - l.isClosing = true + l.setClosing() l.wgSender.Wait() l.Debug.Printf("Sending quit message and waiting for confirmation") @@ -258,7 +269,7 @@ func (l *Conn) sendMessage(packet *ber.Packet) (*messageContext, error) { } func (l *Conn) sendMessageWithFlags(packet *ber.Packet, flags sendMessageFlags) (*messageContext, error) { - if l.isClosing { + if l.isClosing() { return nil, NewError(ErrorNetwork, errors.New("ldap: connection closed")) } l.messageMutex.Lock() @@ -297,7 +308,7 @@ func (l *Conn) sendMessageWithFlags(packet *ber.Packet, flags sendMessageFlags) func (l *Conn) finishMessage(msgCtx *messageContext) { close(msgCtx.done) - if l.isClosing { + if l.isClosing() { return } @@ -316,7 +327,7 @@ func (l *Conn) finishMessage(msgCtx *messageContext) { } func (l *Conn) sendProcessMessage(message *messagePacket) bool { - if l.isClosing { + if l.isClosing() { return false } l.wgSender.Add(1) @@ -333,8 +344,8 @@ func (l *Conn) processMessages() { for messageID, msgCtx := range l.messageContexts { // If we are closing due to an error, inform anyone who // is waiting about the error. - if l.isClosing && l.closeErr != nil { - msgCtx.sendResponse(&PacketResponse{Error: l.closeErr}) + if l.isClosing() && l.closeErr.Load() != nil { + msgCtx.sendResponse(&PacketResponse{Error: l.closeErr.Load().(error)}) } l.Debug.Printf("Closing channel for MessageID %d", messageID) close(msgCtx.responses) @@ -397,7 +408,7 @@ func (l *Conn) processMessages() { if msgCtx, ok := l.messageContexts[message.MessageID]; ok { msgCtx.sendResponse(&PacketResponse{message.Packet, nil}) } else { - log.Printf("Received unexpected message %d, %v", message.MessageID, l.isClosing) + log.Printf("Received unexpected message %d, %v", message.MessageID, l.isClosing()) ber.PrintPacket(message.Packet) } case MessageTimeout: @@ -439,8 +450,8 @@ func (l *Conn) reader() { packet, err := ber.ReadPacket(l.conn) if err != nil { // A read error is expected here if we are closing the connection... - if !l.isClosing { - l.closeErr = fmt.Errorf("unable to read LDAP response packet: %s", err) + if !l.isClosing() { + l.closeErr.Store(fmt.Errorf("unable to read LDAP response packet: %s", err)) l.Debug.Printf("reader error: %s", err.Error()) } return diff --git a/vendor/github.com/google/go-github/github/activity_events.go b/vendor/github.com/google/go-github/github/activity_events.go index 31c2ccf202..5cdcabe656 100644 --- a/vendor/github.com/google/go-github/github/activity_events.go +++ b/vendor/github.com/google/go-github/github/activity_events.go @@ -110,13 +110,13 @@ func (s *ActivityService) ListEvents(opt *ListOptions) ([]*Event, *Response, err return nil, nil, err } - events := new([]*Event) - resp, err := s.client.Do(req, events) + var events []*Event + resp, err := s.client.Do(req, &events) if err != nil { return nil, resp, err } - return *events, resp, err + return events, resp, nil } // ListRepositoryEvents lists events for a repository. @@ -134,13 +134,13 @@ func (s *ActivityService) ListRepositoryEvents(owner, repo string, opt *ListOpti return nil, nil, err } - events := new([]*Event) - resp, err := s.client.Do(req, events) + var events []*Event + resp, err := s.client.Do(req, &events) if err != nil { return nil, resp, err } - return *events, resp, err + return events, resp, nil } // ListIssueEventsForRepository lists issue events for a repository. @@ -158,13 +158,13 @@ func (s *ActivityService) ListIssueEventsForRepository(owner, repo string, opt * return nil, nil, err } - events := new([]*IssueEvent) - resp, err := s.client.Do(req, events) + var events []*IssueEvent + resp, err := s.client.Do(req, &events) if err != nil { return nil, resp, err } - return *events, resp, err + return events, resp, nil } // ListEventsForRepoNetwork lists public events for a network of repositories. @@ -182,13 +182,13 @@ func (s *ActivityService) ListEventsForRepoNetwork(owner, repo string, opt *List return nil, nil, err } - events := new([]*Event) - resp, err := s.client.Do(req, events) + var events []*Event + resp, err := s.client.Do(req, &events) if err != nil { return nil, resp, err } - return *events, resp, err + return events, resp, nil } // ListEventsForOrganization lists public events for an organization. @@ -206,13 +206,13 @@ func (s *ActivityService) ListEventsForOrganization(org string, opt *ListOptions return nil, nil, err } - events := new([]*Event) - resp, err := s.client.Do(req, events) + var events []*Event + resp, err := s.client.Do(req, &events) if err != nil { return nil, resp, err } - return *events, resp, err + return events, resp, nil } // ListEventsPerformedByUser lists the events performed by a user. If publicOnly is @@ -236,13 +236,13 @@ func (s *ActivityService) ListEventsPerformedByUser(user string, publicOnly bool return nil, nil, err } - events := new([]*Event) - resp, err := s.client.Do(req, events) + var events []*Event + resp, err := s.client.Do(req, &events) if err != nil { return nil, resp, err } - return *events, resp, err + return events, resp, nil } // ListEventsReceivedByUser lists the events received by a user. If publicOnly is @@ -266,13 +266,13 @@ func (s *ActivityService) ListEventsReceivedByUser(user string, publicOnly bool, return nil, nil, err } - events := new([]*Event) - resp, err := s.client.Do(req, events) + var events []*Event + resp, err := s.client.Do(req, &events) if err != nil { return nil, resp, err } - return *events, resp, err + return events, resp, nil } // ListUserEventsForOrganization provides the user’s organization dashboard. You @@ -291,11 +291,11 @@ func (s *ActivityService) ListUserEventsForOrganization(org, user string, opt *L return nil, nil, err } - events := new([]*Event) - resp, err := s.client.Do(req, events) + var events []*Event + resp, err := s.client.Do(req, &events) if err != nil { return nil, resp, err } - return *events, resp, err + return events, resp, nil } diff --git a/vendor/github.com/google/go-github/github/activity_star.go b/vendor/github.com/google/go-github/github/activity_star.go index 5df6814a40..edf20e8c85 100644 --- a/vendor/github.com/google/go-github/github/activity_star.go +++ b/vendor/github.com/google/go-github/github/activity_star.go @@ -37,13 +37,13 @@ func (s *ActivityService) ListStargazers(owner, repo string, opt *ListOptions) ( // TODO: remove custom Accept header when this API fully launches req.Header.Set("Accept", mediaTypeStarringPreview) - stargazers := new([]*Stargazer) - resp, err := s.client.Do(req, stargazers) + var stargazers []*Stargazer + resp, err := s.client.Do(req, &stargazers) if err != nil { return nil, resp, err } - return *stargazers, resp, err + return stargazers, resp, nil } // ActivityListStarredOptions specifies the optional parameters to the @@ -84,13 +84,13 @@ func (s *ActivityService) ListStarred(user string, opt *ActivityListStarredOptio // TODO: remove custom Accept header when this API fully launches req.Header.Set("Accept", mediaTypeStarringPreview) - repos := new([]*StarredRepository) - resp, err := s.client.Do(req, repos) + var repos []*StarredRepository + resp, err := s.client.Do(req, &repos) if err != nil { return nil, resp, err } - return *repos, resp, err + return repos, resp, nil } // IsStarred checks if a repository is starred by authenticated user. diff --git a/vendor/github.com/google/go-github/github/activity_watching.go b/vendor/github.com/google/go-github/github/activity_watching.go index 9a275419c5..ac77657da1 100644 --- a/vendor/github.com/google/go-github/github/activity_watching.go +++ b/vendor/github.com/google/go-github/github/activity_watching.go @@ -37,13 +37,13 @@ func (s *ActivityService) ListWatchers(owner, repo string, opt *ListOptions) ([] return nil, nil, err } - watchers := new([]*User) - resp, err := s.client.Do(req, watchers) + var watchers []*User + resp, err := s.client.Do(req, &watchers) if err != nil { return nil, resp, err } - return *watchers, resp, err + return watchers, resp, nil } // ListWatched lists the repositories the specified user is watching. Passing @@ -67,13 +67,13 @@ func (s *ActivityService) ListWatched(user string, opt *ListOptions) ([]*Reposit return nil, nil, err } - watched := new([]*Repository) - resp, err := s.client.Do(req, watched) + var watched []*Repository + resp, err := s.client.Do(req, &watched) if err != nil { return nil, resp, err } - return *watched, resp, err + return watched, resp, nil } // GetRepositorySubscription returns the subscription for the specified diff --git a/vendor/github.com/google/go-github/github/authorizations.go b/vendor/github.com/google/go-github/github/authorizations.go index d5a5e631d4..9f2a1ecd76 100644 --- a/vendor/github.com/google/go-github/github/authorizations.go +++ b/vendor/github.com/google/go-github/github/authorizations.go @@ -146,12 +146,12 @@ func (s *AuthorizationsService) List(opt *ListOptions) ([]*Authorization, *Respo return nil, nil, err } - auths := new([]*Authorization) - resp, err := s.client.Do(req, auths) + var auths []*Authorization + resp, err := s.client.Do(req, &auths) if err != nil { return nil, resp, err } - return *auths, resp, err + return auths, resp, nil } // Get a single authorization. diff --git a/vendor/github.com/google/go-github/github/event_types.go b/vendor/github.com/google/go-github/github/event_types.go index d4bb5e44a3..6dd7fe3796 100644 --- a/vendor/github.com/google/go-github/github/event_types.go +++ b/vendor/github.com/google/go-github/github/event_types.go @@ -423,26 +423,26 @@ type PullRequestReviewCommentEvent struct { // // GitHub API docs: http://developer.github.com/v3/activity/events/types/#pushevent type PushEvent struct { - PushID *int `json:"push_id,omitempty"` - Head *string `json:"head,omitempty"` - Ref *string `json:"ref,omitempty"` - Size *int `json:"size,omitempty"` - Commits []PushEventCommit `json:"commits,omitempty"` - Repo *PushEventRepository `json:"repository,omitempty"` - Before *string `json:"before,omitempty"` - DistinctSize *int `json:"distinct_size,omitempty"` + PushID *int `json:"push_id,omitempty"` + Head *string `json:"head,omitempty"` + Ref *string `json:"ref,omitempty"` + Size *int `json:"size,omitempty"` + Commits []PushEventCommit `json:"commits,omitempty"` + Before *string `json:"before,omitempty"` + DistinctSize *int `json:"distinct_size,omitempty"` // The following fields are only populated by Webhook events. - After *string `json:"after,omitempty"` - Created *bool `json:"created,omitempty"` - Deleted *bool `json:"deleted,omitempty"` - Forced *bool `json:"forced,omitempty"` - BaseRef *string `json:"base_ref,omitempty"` - Compare *string `json:"compare,omitempty"` - HeadCommit *PushEventCommit `json:"head_commit,omitempty"` - Pusher *User `json:"pusher,omitempty"` - Sender *User `json:"sender,omitempty"` - Installation *Installation `json:"installation,omitempty"` + After *string `json:"after,omitempty"` + Created *bool `json:"created,omitempty"` + Deleted *bool `json:"deleted,omitempty"` + Forced *bool `json:"forced,omitempty"` + BaseRef *string `json:"base_ref,omitempty"` + Compare *string `json:"compare,omitempty"` + Repo *PushEventRepository `json:"repository,omitempty"` + HeadCommit *PushEventCommit `json:"head_commit,omitempty"` + Pusher *User `json:"pusher,omitempty"` + Sender *User `json:"sender,omitempty"` + Installation *Installation `json:"installation,omitempty"` } func (p PushEvent) String() string { @@ -460,14 +460,13 @@ type PushEventCommit struct { SHA *string `json:"sha,omitempty"` // The following fields are only populated by Webhook events. - ID *string `json:"id,omitempty"` - TreeID *string `json:"tree_id,omitempty"` - Timestamp *Timestamp `json:"timestamp,omitempty"` - Committer *CommitAuthor `json:"committer,omitempty"` - Added []string `json:"added,omitempty"` - Removed []string `json:"removed,omitempty"` - Modified []string `json:"modified,omitempty"` - Installation *Installation `json:"installation,omitempty"` + ID *string `json:"id,omitempty"` + TreeID *string `json:"tree_id,omitempty"` + Timestamp *Timestamp `json:"timestamp,omitempty"` + Committer *CommitAuthor `json:"committer,omitempty"` + Added []string `json:"added,omitempty"` + Removed []string `json:"removed,omitempty"` + Modified []string `json:"modified,omitempty"` } func (p PushEventCommit) String() string { @@ -500,11 +499,13 @@ type PushEventRepository struct { DefaultBranch *string `json:"default_branch,omitempty"` MasterBranch *string `json:"master_branch,omitempty"` Organization *string `json:"organization,omitempty"` - - // The following fields are only populated by Webhook events. - URL *string `json:"url,omitempty"` - HTMLURL *string `json:"html_url,omitempty"` - Installation *Installation `json:"installation,omitempty"` + URL *string `json:"url,omitempty"` + HTMLURL *string `json:"html_url,omitempty"` + StatusesURL *string `json:"statuses_url,omitempty"` + GitURL *string `json:"git_url,omitempty"` + SSHURL *string `json:"ssh_url,omitempty"` + CloneURL *string `json:"clone_url,omitempty"` + SVNURL *string `json:"svn_url,omitempty"` } // PushEventRepoOwner is a basic representation of user/org in a PushEvent payload. diff --git a/vendor/github.com/google/go-github/github/gists.go b/vendor/github.com/google/go-github/github/gists.go index a3327f8406..81f55b16f5 100644 --- a/vendor/github.com/google/go-github/github/gists.go +++ b/vendor/github.com/google/go-github/github/gists.go @@ -42,6 +42,7 @@ type GistFilename string type GistFile struct { Size *int `json:"size,omitempty"` Filename *string `json:"filename,omitempty"` + Language *string `json:"language,omitempty"` Type *string `json:"type,omitempty"` RawURL *string `json:"raw_url,omitempty"` Content *string `json:"content,omitempty"` @@ -109,13 +110,13 @@ func (s *GistsService) List(user string, opt *GistListOptions) ([]*Gist, *Respon return nil, nil, err } - gists := new([]*Gist) - resp, err := s.client.Do(req, gists) + var gists []*Gist + resp, err := s.client.Do(req, &gists) if err != nil { return nil, resp, err } - return *gists, resp, err + return gists, resp, nil } // ListAll lists all public gists. @@ -132,13 +133,13 @@ func (s *GistsService) ListAll(opt *GistListOptions) ([]*Gist, *Response, error) return nil, nil, err } - gists := new([]*Gist) - resp, err := s.client.Do(req, gists) + var gists []*Gist + resp, err := s.client.Do(req, &gists) if err != nil { return nil, resp, err } - return *gists, resp, err + return gists, resp, nil } // ListStarred lists starred gists of authenticated user. @@ -155,13 +156,13 @@ func (s *GistsService) ListStarred(opt *GistListOptions) ([]*Gist, *Response, er return nil, nil, err } - gists := new([]*Gist) - resp, err := s.client.Do(req, gists) + var gists []*Gist + resp, err := s.client.Do(req, &gists) if err != nil { return nil, resp, err } - return *gists, resp, err + return gists, resp, nil } // Get a single gist. @@ -246,13 +247,13 @@ func (s *GistsService) ListCommits(id string) ([]*GistCommit, *Response, error) return nil, nil, err } - gistCommits := new([]*GistCommit) - resp, err := s.client.Do(req, gistCommits) + var gistCommits []*GistCommit + resp, err := s.client.Do(req, &gistCommits) if err != nil { return nil, resp, err } - return *gistCommits, resp, err + return gistCommits, resp, nil } // Delete a gist. @@ -334,11 +335,11 @@ func (s *GistsService) ListForks(id string) ([]*GistFork, *Response, error) { return nil, nil, err } - gistForks := new([]*GistFork) - resp, err := s.client.Do(req, gistForks) + var gistForks []*GistFork + resp, err := s.client.Do(req, &gistForks) if err != nil { return nil, resp, err } - return *gistForks, resp, err + return gistForks, resp, nil } diff --git a/vendor/github.com/google/go-github/github/gists_comments.go b/vendor/github.com/google/go-github/github/gists_comments.go index 95a7fc76c2..71c1c01535 100644 --- a/vendor/github.com/google/go-github/github/gists_comments.go +++ b/vendor/github.com/google/go-github/github/gists_comments.go @@ -38,13 +38,13 @@ func (s *GistsService) ListComments(gistID string, opt *ListOptions) ([]*GistCom return nil, nil, err } - comments := new([]*GistComment) - resp, err := s.client.Do(req, comments) + var comments []*GistComment + resp, err := s.client.Do(req, &comments) if err != nil { return nil, resp, err } - return *comments, resp, err + return comments, resp, nil } // GetComment retrieves a single comment from a gist. diff --git a/vendor/github.com/google/go-github/github/github.go b/vendor/github.com/google/go-github/github/github.go index 0c8a6777c3..6d4e777579 100644 --- a/vendor/github.com/google/go-github/github/github.go +++ b/vendor/github.com/google/go-github/github/github.go @@ -93,6 +93,9 @@ const ( // https://developer.github.com/changes/2016-11-28-preview-org-membership/ mediaTypeOrgMembershipPreview = "application/vnd.github.korra-preview+json" + + // https://developer.github.com/changes/2017-01-05-commit-search-api/ + mediaTypeCommitSearchPreview = "application/vnd.github.cloak-preview+json" ) // A Client manages communication with the GitHub API. diff --git a/vendor/github.com/google/go-github/github/gitignore.go b/vendor/github.com/google/go-github/github/gitignore.go index faaceb5a5c..3f1f565edb 100644 --- a/vendor/github.com/google/go-github/github/gitignore.go +++ b/vendor/github.com/google/go-github/github/gitignore.go @@ -32,13 +32,13 @@ func (s GitignoresService) List() ([]string, *Response, error) { return nil, nil, err } - availableTemplates := new([]string) - resp, err := s.client.Do(req, availableTemplates) + var availableTemplates []string + resp, err := s.client.Do(req, &availableTemplates) if err != nil { return nil, resp, err } - return *availableTemplates, resp, err + return availableTemplates, resp, nil } // Get a Gitignore by name. diff --git a/vendor/github.com/google/go-github/github/integration.go b/vendor/github.com/google/go-github/github/integration.go index b8d77ca4f8..033ee44aec 100644 --- a/vendor/github.com/google/go-github/github/integration.go +++ b/vendor/github.com/google/go-github/github/integration.go @@ -28,11 +28,11 @@ func (s *IntegrationsService) ListInstallations(opt *ListOptions) ([]*Installati // TODO: remove custom Accept header when this API fully launches. req.Header.Set("Accept", mediaTypeIntegrationPreview) - i := new([]*Installation) + var i []*Installation resp, err := s.client.Do(req, &i) if err != nil { return nil, resp, err } - return *i, resp, err + return i, resp, nil } diff --git a/vendor/github.com/google/go-github/github/issues.go b/vendor/github.com/google/go-github/github/issues.go index d8e7d41c45..28c8018cae 100644 --- a/vendor/github.com/google/go-github/github/issues.go +++ b/vendor/github.com/google/go-github/github/issues.go @@ -141,13 +141,13 @@ func (s *IssuesService) listIssues(u string, opt *IssueListOptions) ([]*Issue, * // TODO: remove custom Accept header when this API fully launches. req.Header.Set("Accept", mediaTypeReactionsPreview) - issues := new([]*Issue) - resp, err := s.client.Do(req, issues) + var issues []*Issue + resp, err := s.client.Do(req, &issues) if err != nil { return nil, resp, err } - return *issues, resp, err + return issues, resp, nil } // IssueListByRepoOptions specifies the optional parameters to the @@ -208,13 +208,13 @@ func (s *IssuesService) ListByRepo(owner string, repo string, opt *IssueListByRe // TODO: remove custom Accept header when this API fully launches. req.Header.Set("Accept", mediaTypeReactionsPreview) - issues := new([]*Issue) - resp, err := s.client.Do(req, issues) + var issues []*Issue + resp, err := s.client.Do(req, &issues) if err != nil { return nil, resp, err } - return *issues, resp, err + return issues, resp, nil } // Get a single issue. diff --git a/vendor/github.com/google/go-github/github/issues_assignees.go b/vendor/github.com/google/go-github/github/issues_assignees.go index 2503be1de2..1f061027e6 100644 --- a/vendor/github.com/google/go-github/github/issues_assignees.go +++ b/vendor/github.com/google/go-github/github/issues_assignees.go @@ -22,13 +22,13 @@ func (s *IssuesService) ListAssignees(owner, repo string, opt *ListOptions) ([]* if err != nil { return nil, nil, err } - assignees := new([]*User) - resp, err := s.client.Do(req, assignees) + var assignees []*User + resp, err := s.client.Do(req, &assignees) if err != nil { return nil, resp, err } - return *assignees, resp, err + return assignees, resp, nil } // IsAssignee checks if a user is an assignee for the specified repository. diff --git a/vendor/github.com/google/go-github/github/issues_comments.go b/vendor/github.com/google/go-github/github/issues_comments.go index b24c5aed82..5b71f8436e 100644 --- a/vendor/github.com/google/go-github/github/issues_comments.go +++ b/vendor/github.com/google/go-github/github/issues_comments.go @@ -66,13 +66,13 @@ func (s *IssuesService) ListComments(owner string, repo string, number int, opt // TODO: remove custom Accept header when this API fully launches. req.Header.Set("Accept", mediaTypeReactionsPreview) - comments := new([]*IssueComment) - resp, err := s.client.Do(req, comments) + var comments []*IssueComment + resp, err := s.client.Do(req, &comments) if err != nil { return nil, resp, err } - return *comments, resp, err + return comments, resp, nil } // GetComment fetches the specified issue comment. diff --git a/vendor/github.com/google/go-github/github/issues_labels.go b/vendor/github.com/google/go-github/github/issues_labels.go index c654547838..a001280e64 100644 --- a/vendor/github.com/google/go-github/github/issues_labels.go +++ b/vendor/github.com/google/go-github/github/issues_labels.go @@ -33,13 +33,13 @@ func (s *IssuesService) ListLabels(owner string, repo string, opt *ListOptions) return nil, nil, err } - labels := new([]*Label) - resp, err := s.client.Do(req, labels) + var labels []*Label + resp, err := s.client.Do(req, &labels) if err != nil { return nil, resp, err } - return *labels, resp, err + return labels, resp, nil } // GetLabel gets a single label. @@ -126,13 +126,13 @@ func (s *IssuesService) ListLabelsByIssue(owner string, repo string, number int, return nil, nil, err } - labels := new([]*Label) - resp, err := s.client.Do(req, labels) + var labels []*Label + resp, err := s.client.Do(req, &labels) if err != nil { return nil, resp, err } - return *labels, resp, err + return labels, resp, nil } // AddLabelsToIssue adds labels to an issue. @@ -145,13 +145,13 @@ func (s *IssuesService) AddLabelsToIssue(owner string, repo string, number int, return nil, nil, err } - l := new([]*Label) - resp, err := s.client.Do(req, l) + var l []*Label + resp, err := s.client.Do(req, &l) if err != nil { return nil, resp, err } - return *l, resp, err + return l, resp, nil } // RemoveLabelForIssue removes a label for an issue. @@ -176,13 +176,13 @@ func (s *IssuesService) ReplaceLabelsForIssue(owner string, repo string, number return nil, nil, err } - l := new([]*Label) - resp, err := s.client.Do(req, l) + var l []*Label + resp, err := s.client.Do(req, &l) if err != nil { return nil, resp, err } - return *l, resp, err + return l, resp, nil } // RemoveLabelsForIssue removes all labels for an issue. @@ -212,11 +212,11 @@ func (s *IssuesService) ListLabelsForMilestone(owner string, repo string, number return nil, nil, err } - labels := new([]*Label) - resp, err := s.client.Do(req, labels) + var labels []*Label + resp, err := s.client.Do(req, &labels) if err != nil { return nil, resp, err } - return *labels, resp, err + return labels, resp, nil } diff --git a/vendor/github.com/google/go-github/github/issues_milestones.go b/vendor/github.com/google/go-github/github/issues_milestones.go index b7621acf22..083b60e033 100644 --- a/vendor/github.com/google/go-github/github/issues_milestones.go +++ b/vendor/github.com/google/go-github/github/issues_milestones.go @@ -66,13 +66,13 @@ func (s *IssuesService) ListMilestones(owner string, repo string, opt *Milestone return nil, nil, err } - milestones := new([]*Milestone) - resp, err := s.client.Do(req, milestones) + var milestones []*Milestone + resp, err := s.client.Do(req, &milestones) if err != nil { return nil, resp, err } - return *milestones, resp, err + return milestones, resp, nil } // GetMilestone gets a single milestone. diff --git a/vendor/github.com/google/go-github/github/licenses.go b/vendor/github.com/google/go-github/github/licenses.go index 0b5e8b3829..a1fec94674 100644 --- a/vendor/github.com/google/go-github/github/licenses.go +++ b/vendor/github.com/google/go-github/github/licenses.go @@ -67,13 +67,13 @@ func (s *LicensesService) List() ([]*License, *Response, error) { // TODO: remove custom Accept header when this API fully launches req.Header.Set("Accept", mediaTypeLicensesPreview) - licenses := new([]*License) - resp, err := s.client.Do(req, licenses) + var licenses []*License + resp, err := s.client.Do(req, &licenses) if err != nil { return nil, resp, err } - return *licenses, resp, err + return licenses, resp, nil } // Get extended metadata for one license. diff --git a/vendor/github.com/google/go-github/github/migrations_source_import.go b/vendor/github.com/google/go-github/github/migrations_source_import.go index 44505fa91e..451b13e765 100644 --- a/vendor/github.com/google/go-github/github/migrations_source_import.go +++ b/vendor/github.com/google/go-github/github/migrations_source_import.go @@ -230,13 +230,13 @@ func (s *MigrationService) CommitAuthors(owner, repo string) ([]*SourceImportAut // TODO: remove custom Accept header when this API fully launches req.Header.Set("Accept", mediaTypeImportPreview) - authors := new([]*SourceImportAuthor) - resp, err := s.client.Do(req, authors) + var authors []*SourceImportAuthor + resp, err := s.client.Do(req, &authors) if err != nil { return nil, resp, err } - return *authors, resp, err + return authors, resp, nil } // MapCommitAuthor updates an author's identity for the import. Your @@ -300,13 +300,13 @@ func (s *MigrationService) LargeFiles(owner, repo string) ([]*LargeFile, *Respon // TODO: remove custom Accept header when this API fully launches req.Header.Set("Accept", mediaTypeImportPreview) - files := new([]*LargeFile) - resp, err := s.client.Do(req, files) + var files []*LargeFile + resp, err := s.client.Do(req, &files) if err != nil { return nil, resp, err } - return *files, resp, err + return files, resp, nil } // CancelImport stops an import for a repository. diff --git a/vendor/github.com/google/go-github/github/misc.go b/vendor/github.com/google/go-github/github/misc.go index 8576a4cda0..89e1501fe4 100644 --- a/vendor/github.com/google/go-github/github/misc.go +++ b/vendor/github.com/google/go-github/github/misc.go @@ -187,11 +187,11 @@ func (c *Client) ListServiceHooks() ([]*ServiceHook, *Response, error) { return nil, nil, err } - hooks := new([]*ServiceHook) - resp, err := c.Do(req, hooks) + var hooks []*ServiceHook + resp, err := c.Do(req, &hooks) if err != nil { return nil, resp, err } - return *hooks, resp, err + return hooks, resp, nil } diff --git a/vendor/github.com/google/go-github/github/orgs.go b/vendor/github.com/google/go-github/github/orgs.go index d137e3e82e..696c2b763a 100644 --- a/vendor/github.com/google/go-github/github/orgs.go +++ b/vendor/github.com/google/go-github/github/orgs.go @@ -125,13 +125,13 @@ func (s *OrganizationsService) List(user string, opt *ListOptions) ([]*Organizat return nil, nil, err } - orgs := new([]*Organization) - resp, err := s.client.Do(req, orgs) + var orgs []*Organization + resp, err := s.client.Do(req, &orgs) if err != nil { return nil, resp, err } - return *orgs, resp, err + return orgs, resp, nil } // Get fetches an organization by name. diff --git a/vendor/github.com/google/go-github/github/orgs_hooks.go b/vendor/github.com/google/go-github/github/orgs_hooks.go index 95b832290c..4926311e0a 100644 --- a/vendor/github.com/google/go-github/github/orgs_hooks.go +++ b/vendor/github.com/google/go-github/github/orgs_hooks.go @@ -22,13 +22,13 @@ func (s *OrganizationsService) ListHooks(org string, opt *ListOptions) ([]*Hook, return nil, nil, err } - hooks := new([]*Hook) - resp, err := s.client.Do(req, hooks) + var hooks []*Hook + resp, err := s.client.Do(req, &hooks) if err != nil { return nil, resp, err } - return *hooks, resp, err + return hooks, resp, nil } // GetHook returns a single specified Hook. diff --git a/vendor/github.com/google/go-github/github/orgs_members.go b/vendor/github.com/google/go-github/github/orgs_members.go index 80454ada0c..ea8a358059 100644 --- a/vendor/github.com/google/go-github/github/orgs_members.go +++ b/vendor/github.com/google/go-github/github/orgs_members.go @@ -86,13 +86,13 @@ func (s *OrganizationsService) ListMembers(org string, opt *ListMembersOptions) return nil, nil, err } - members := new([]*User) - resp, err := s.client.Do(req, members) + var members []*User + resp, err := s.client.Do(req, &members) if err != nil { return nil, resp, err } - return *members, resp, err + return members, resp, nil } // IsMember checks if a user is a member of an organization. @@ -270,3 +270,29 @@ func (s *OrganizationsService) RemoveOrgMembership(user, org string) (*Response, return s.client.Do(req, nil) } + +// ListPendingOrgInvitations returns a list of pending invitations. +// +// GitHub API docs: https://developer.github.com/v3/orgs/members/#list-pending-organization-invitations +func (s *OrganizationsService) ListPendingOrgInvitations(org int, opt *ListOptions) ([]*Invitation, *Response, error) { + u := fmt.Sprintf("orgs/%v/invitations", org) + u, err := addOptions(u, opt) + if err != nil { + return nil, nil, err + } + + req, err := s.client.NewRequest("GET", u, nil) + if err != nil { + return nil, nil, err + } + + // TODO: remove custom Accept header when this API fully launches. + req.Header.Set("Accept", mediaTypeOrgMembershipPreview) + + var pendingInvitations []*Invitation + resp, err := s.client.Do(req, &pendingInvitations) + if err != nil { + return nil, resp, err + } + return pendingInvitations, resp, nil +} diff --git a/vendor/github.com/google/go-github/github/orgs_teams.go b/vendor/github.com/google/go-github/github/orgs_teams.go index 6afcd1f2ee..ce8cbec80c 100644 --- a/vendor/github.com/google/go-github/github/orgs_teams.go +++ b/vendor/github.com/google/go-github/github/orgs_teams.go @@ -44,13 +44,15 @@ func (t Team) String() string { return Stringify(t) } -// Invitation represents a team member's inviation status +// Invitation represents a team member's invitation status. type Invitation struct { - ID *int `json:"id,omitempty"` - Login *string `json:"login,omitempty"` - Email *string `json:"email,omitempty"` + ID *int `json:"id,omitempty"` + Login *string `json:"login,omitempty"` + Email *string `json:"email,omitempty"` + // Role can be one of the values - 'direct_member', 'admin', 'billing_manager', 'hiring_manager', or 'reinstate'. Role *string `json:"role,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` + Inviter *User `json:"inviter,omitempty"` } func (i Invitation) String() string { @@ -72,13 +74,13 @@ func (s *OrganizationsService) ListTeams(org string, opt *ListOptions) ([]*Team, return nil, nil, err } - teams := new([]*Team) - resp, err := s.client.Do(req, teams) + var teams []*Team + resp, err := s.client.Do(req, &teams) if err != nil { return nil, resp, err } - return *teams, resp, err + return teams, resp, nil } // GetTeam fetches a team by ID. @@ -177,13 +179,13 @@ func (s *OrganizationsService) ListTeamMembers(team int, opt *OrganizationListTe return nil, nil, err } - members := new([]*User) - resp, err := s.client.Do(req, members) + var members []*User + resp, err := s.client.Do(req, &members) if err != nil { return nil, resp, err } - return *members, resp, err + return members, resp, nil } // IsTeamMember checks if a user is a member of the specified team. @@ -216,13 +218,13 @@ func (s *OrganizationsService) ListTeamRepos(team int, opt *ListOptions) ([]*Rep return nil, nil, err } - repos := new([]*Repository) - resp, err := s.client.Do(req, repos) + var repos []*Repository + resp, err := s.client.Do(req, &repos) if err != nil { return nil, resp, err } - return *repos, resp, err + return repos, resp, nil } // IsTeamRepo checks if a team manages the specified repository. If the @@ -305,13 +307,13 @@ func (s *OrganizationsService) ListUserTeams(opt *ListOptions) ([]*Team, *Respon return nil, nil, err } - teams := new([]*Team) - resp, err := s.client.Do(req, teams) + var teams []*Team + resp, err := s.client.Do(req, &teams) if err != nil { return nil, resp, err } - return *teams, resp, err + return teams, resp, nil } // GetTeamMembership returns the membership status for a user in a team. @@ -414,11 +416,11 @@ func (s *OrganizationsService) ListPendingTeamInvitations(team int, opt *ListOpt // TODO: remove custom Accept header when this API fully launches. req.Header.Set("Accept", mediaTypeOrgMembershipPreview) - pendingInvitations := new([]*Invitation) - resp, err := s.client.Do(req, pendingInvitations) + var pendingInvitations []*Invitation + resp, err := s.client.Do(req, &pendingInvitations) if err != nil { return nil, resp, err } - return *pendingInvitations, resp, err + return pendingInvitations, resp, nil } diff --git a/vendor/github.com/google/go-github/github/pulls.go b/vendor/github.com/google/go-github/github/pulls.go index 51c6ccb576..c7c9c6ab25 100644 --- a/vendor/github.com/google/go-github/github/pulls.go +++ b/vendor/github.com/google/go-github/github/pulls.go @@ -107,13 +107,13 @@ func (s *PullRequestsService) List(owner string, repo string, opt *PullRequestLi return nil, nil, err } - pulls := new([]*PullRequest) - resp, err := s.client.Do(req, pulls) + var pulls []*PullRequest + resp, err := s.client.Do(req, &pulls) if err != nil { return nil, resp, err } - return *pulls, resp, err + return pulls, resp, nil } // Get a single pull request. @@ -189,12 +189,33 @@ func (s *PullRequestsService) Create(owner string, repo string, pull *NewPullReq return p, resp, err } +type pullRequestUpdate struct { + Title *string `json:"title,omitempty"` + Body *string `json:"body,omitempty"` + State *string `json:"state,omitempty"` + Base *string `json:"base,omitempty"` +} + // Edit a pull request. // +// The following fields are editable: Title, Body, State, and Base.Ref. +// Base.Ref updates the base branch of the pull request. +// // GitHub API docs: https://developer.github.com/v3/pulls/#update-a-pull-request func (s *PullRequestsService) Edit(owner string, repo string, number int, pull *PullRequest) (*PullRequest, *Response, error) { u := fmt.Sprintf("repos/%v/%v/pulls/%d", owner, repo, number) - req, err := s.client.NewRequest("PATCH", u, pull) + + update := new(pullRequestUpdate) + if pull != nil { + update.Title = pull.Title + update.Body = pull.Body + update.State = pull.State + if pull.Base != nil { + update.Base = pull.Base.Ref + } + } + + req, err := s.client.NewRequest("PATCH", u, update) if err != nil { return nil, nil, err } @@ -223,13 +244,13 @@ func (s *PullRequestsService) ListCommits(owner string, repo string, number int, return nil, nil, err } - commits := new([]*RepositoryCommit) - resp, err := s.client.Do(req, commits) + var commits []*RepositoryCommit + resp, err := s.client.Do(req, &commits) if err != nil { return nil, resp, err } - return *commits, resp, err + return commits, resp, nil } // ListFiles lists the files in a pull request. @@ -247,13 +268,13 @@ func (s *PullRequestsService) ListFiles(owner string, repo string, number int, o return nil, nil, err } - commitFiles := new([]*CommitFile) - resp, err := s.client.Do(req, commitFiles) + var commitFiles []*CommitFile + resp, err := s.client.Do(req, &commitFiles) if err != nil { return nil, resp, err } - return *commitFiles, resp, err + return commitFiles, resp, nil } // IsMerged checks if a pull request has been merged. diff --git a/vendor/github.com/google/go-github/github/pulls_comments.go b/vendor/github.com/google/go-github/github/pulls_comments.go index c7af85a8e2..6b25c337a4 100644 --- a/vendor/github.com/google/go-github/github/pulls_comments.go +++ b/vendor/github.com/google/go-github/github/pulls_comments.go @@ -74,13 +74,13 @@ func (s *PullRequestsService) ListComments(owner string, repo string, number int // TODO: remove custom Accept header when this API fully launches. req.Header.Set("Accept", mediaTypeReactionsPreview) - comments := new([]*PullRequestComment) - resp, err := s.client.Do(req, comments) + var comments []*PullRequestComment + resp, err := s.client.Do(req, &comments) if err != nil { return nil, resp, err } - return *comments, resp, err + return comments, resp, nil } // GetComment fetches the specified pull request comment. diff --git a/vendor/github.com/google/go-github/github/repos.go b/vendor/github.com/google/go-github/github/repos.go index 551e9ea9f6..b63b81b823 100644 --- a/vendor/github.com/google/go-github/github/repos.go +++ b/vendor/github.com/google/go-github/github/repos.go @@ -175,13 +175,13 @@ func (s *RepositoriesService) List(user string, opt *RepositoryListOptions) ([]* // TODO: remove custom Accept header when license support fully launches req.Header.Set("Accept", mediaTypeLicensesPreview) - repos := new([]*Repository) - resp, err := s.client.Do(req, repos) + var repos []*Repository + resp, err := s.client.Do(req, &repos) if err != nil { return nil, resp, err } - return *repos, resp, err + return repos, resp, nil } // RepositoryListByOrgOptions specifies the optional parameters to the @@ -212,13 +212,13 @@ func (s *RepositoriesService) ListByOrg(org string, opt *RepositoryListByOrgOpti // TODO: remove custom Accept header when license support fully launches req.Header.Set("Accept", mediaTypeLicensesPreview) - repos := new([]*Repository) - resp, err := s.client.Do(req, repos) + var repos []*Repository + resp, err := s.client.Do(req, &repos) if err != nil { return nil, resp, err } - return *repos, resp, err + return repos, resp, nil } // RepositoryListAllOptions specifies the optional parameters to the @@ -244,13 +244,13 @@ func (s *RepositoriesService) ListAll(opt *RepositoryListAllOptions) ([]*Reposit return nil, nil, err } - repos := new([]*Repository) - resp, err := s.client.Do(req, repos) + var repos []*Repository + resp, err := s.client.Do(req, &repos) if err != nil { return nil, resp, err } - return *repos, resp, err + return repos, resp, nil } // Create a new repository. If an organization is specified, the new @@ -408,13 +408,13 @@ func (s *RepositoriesService) ListContributors(owner string, repository string, return nil, nil, err } - contributor := new([]*Contributor) - resp, err := s.client.Do(req, contributor) + var contributor []*Contributor + resp, err := s.client.Do(req, &contributor) if err != nil { return nil, nil, err } - return *contributor, resp, err + return contributor, resp, nil } // ListLanguages lists languages for the specified repository. The returned map @@ -458,13 +458,13 @@ func (s *RepositoriesService) ListTeams(owner string, repo string, opt *ListOpti return nil, nil, err } - teams := new([]*Team) - resp, err := s.client.Do(req, teams) + var teams []*Team + resp, err := s.client.Do(req, &teams) if err != nil { return nil, resp, err } - return *teams, resp, err + return teams, resp, nil } // RepositoryTag represents a repository tag. @@ -490,13 +490,13 @@ func (s *RepositoriesService) ListTags(owner string, repo string, opt *ListOptio return nil, nil, err } - tags := new([]*RepositoryTag) - resp, err := s.client.Do(req, tags) + var tags []*RepositoryTag + resp, err := s.client.Do(req, &tags) if err != nil { return nil, resp, err } - return *tags, resp, err + return tags, resp, nil } // Branch represents a repository branch @@ -575,13 +575,13 @@ func (s *RepositoriesService) ListBranches(owner string, repo string, opt *ListO // TODO: remove custom Accept header when this API fully launches req.Header.Set("Accept", mediaTypeProtectedBranchesPreview) - branches := new([]*Branch) - resp, err := s.client.Do(req, branches) + var branches []*Branch + resp, err := s.client.Do(req, &branches) if err != nil { return nil, resp, err } - return *branches, resp, err + return branches, resp, nil } // GetBranch gets the specified branch for a repository. diff --git a/vendor/github.com/google/go-github/github/repos_collaborators.go b/vendor/github.com/google/go-github/github/repos_collaborators.go index 68a9f466c8..a19a14abcb 100644 --- a/vendor/github.com/google/go-github/github/repos_collaborators.go +++ b/vendor/github.com/google/go-github/github/repos_collaborators.go @@ -22,13 +22,13 @@ func (s *RepositoriesService) ListCollaborators(owner, repo string, opt *ListOpt return nil, nil, err } - users := new([]*User) - resp, err := s.client.Do(req, users) + var users []*User + resp, err := s.client.Do(req, &users) if err != nil { return nil, resp, err } - return *users, resp, err + return users, resp, nil } // IsCollaborator checks whether the specified Github user has collaborator @@ -49,6 +49,35 @@ func (s *RepositoriesService) IsCollaborator(owner, repo, user string) (bool, *R return isCollab, resp, err } +// RepositoryPermissionLevel represents the permission level an organization +// member has for a given repository. +type RepositoryPermissionLevel struct { + // Possible values: "admin", "write", "read", "none" + Permission *string `json:"permission,omitempty"` + + User *User `json:"user,omitempty"` +} + +// GetPermissionLevel retrieves the specific permission level a collaborator has for a given repository. +// GitHub API docs: https://developer.github.com/v3/repos/collaborators/#review-a-users-permission-level +func (s *RepositoriesService) GetPermissionLevel(owner, repo, user string) (*RepositoryPermissionLevel, *Response, error) { + u := fmt.Sprintf("repos/%v/%v/collaborators/%v/permission", owner, repo, user) + req, err := s.client.NewRequest("GET", u, nil) + if err != nil { + return nil, nil, err + } + + // TODO: remove custom Accept header when this API fully launches. + req.Header.Set("Accept", mediaTypeOrgMembershipPreview) + + rpl := new(RepositoryPermissionLevel) + resp, err := s.client.Do(req, rpl) + if err != nil { + return nil, resp, err + } + return rpl, resp, nil +} + // RepositoryAddCollaboratorOptions specifies the optional parameters to the // RepositoriesService.AddCollaborator method. type RepositoryAddCollaboratorOptions struct { diff --git a/vendor/github.com/google/go-github/github/repos_comments.go b/vendor/github.com/google/go-github/github/repos_comments.go index 34a8d02082..7abedc8429 100644 --- a/vendor/github.com/google/go-github/github/repos_comments.go +++ b/vendor/github.com/google/go-github/github/repos_comments.go @@ -50,13 +50,13 @@ func (s *RepositoriesService) ListComments(owner, repo string, opt *ListOptions) // TODO: remove custom Accept header when this API fully launches. req.Header.Set("Accept", mediaTypeReactionsPreview) - comments := new([]*RepositoryComment) - resp, err := s.client.Do(req, comments) + var comments []*RepositoryComment + resp, err := s.client.Do(req, &comments) if err != nil { return nil, resp, err } - return *comments, resp, err + return comments, resp, nil } // ListCommitComments lists all the comments for a given commit SHA. @@ -77,13 +77,13 @@ func (s *RepositoriesService) ListCommitComments(owner, repo, sha string, opt *L // TODO: remove custom Accept header when this API fully launches. req.Header.Set("Accept", mediaTypeReactionsPreview) - comments := new([]*RepositoryComment) - resp, err := s.client.Do(req, comments) + var comments []*RepositoryComment + resp, err := s.client.Do(req, &comments) if err != nil { return nil, resp, err } - return *comments, resp, err + return comments, resp, nil } // CreateComment creates a comment for the given commit. diff --git a/vendor/github.com/google/go-github/github/repos_commits.go b/vendor/github.com/google/go-github/github/repos_commits.go index 22e8fca870..bc0fbf9bec 100644 --- a/vendor/github.com/google/go-github/github/repos_commits.go +++ b/vendor/github.com/google/go-github/github/repos_commits.go @@ -120,13 +120,13 @@ func (s *RepositoriesService) ListCommits(owner, repo string, opt *CommitsListOp return nil, nil, err } - commits := new([]*RepositoryCommit) - resp, err := s.client.Do(req, commits) + var commits []*RepositoryCommit + resp, err := s.client.Do(req, &commits) if err != nil { return nil, resp, err } - return *commits, resp, err + return commits, resp, nil } // GetCommit fetches the specified commit, including all details about it. diff --git a/vendor/github.com/google/go-github/github/repos_deployments.go b/vendor/github.com/google/go-github/github/repos_deployments.go index cf245207f7..32a9a2588b 100644 --- a/vendor/github.com/google/go-github/github/repos_deployments.go +++ b/vendor/github.com/google/go-github/github/repos_deployments.go @@ -73,13 +73,13 @@ func (s *RepositoriesService) ListDeployments(owner, repo string, opt *Deploymen return nil, nil, err } - deployments := new([]*Deployment) - resp, err := s.client.Do(req, deployments) + var deployments []*Deployment + resp, err := s.client.Do(req, &deployments) if err != nil { return nil, resp, err } - return *deployments, resp, err + return deployments, resp, nil } // GetDeployment returns a single deployment of a repository. @@ -166,13 +166,13 @@ func (s *RepositoriesService) ListDeploymentStatuses(owner, repo string, deploym return nil, nil, err } - statuses := new([]*DeploymentStatus) - resp, err := s.client.Do(req, statuses) + var statuses []*DeploymentStatus + resp, err := s.client.Do(req, &statuses) if err != nil { return nil, resp, err } - return *statuses, resp, err + return statuses, resp, nil } // GetDeploymentStatus returns a single deployment status of a repository. diff --git a/vendor/github.com/google/go-github/github/repos_forks.go b/vendor/github.com/google/go-github/github/repos_forks.go index c88f3d3f0f..986559d36e 100644 --- a/vendor/github.com/google/go-github/github/repos_forks.go +++ b/vendor/github.com/google/go-github/github/repos_forks.go @@ -32,13 +32,13 @@ func (s *RepositoriesService) ListForks(owner, repo string, opt *RepositoryListF return nil, nil, err } - repos := new([]*Repository) - resp, err := s.client.Do(req, repos) + var repos []*Repository + resp, err := s.client.Do(req, &repos) if err != nil { return nil, resp, err } - return *repos, resp, err + return repos, resp, nil } // RepositoryCreateForkOptions specifies the optional parameters to the diff --git a/vendor/github.com/google/go-github/github/repos_hooks.go b/vendor/github.com/google/go-github/github/repos_hooks.go index fe725b454f..25f50b2778 100644 --- a/vendor/github.com/google/go-github/github/repos_hooks.go +++ b/vendor/github.com/google/go-github/github/repos_hooks.go @@ -117,13 +117,13 @@ func (s *RepositoriesService) ListHooks(owner, repo string, opt *ListOptions) ([ return nil, nil, err } - hooks := new([]*Hook) - resp, err := s.client.Do(req, hooks) + var hooks []*Hook + resp, err := s.client.Do(req, &hooks) if err != nil { return nil, resp, err } - return *hooks, resp, err + return hooks, resp, nil } // GetHook returns a single specified Hook. diff --git a/vendor/github.com/google/go-github/github/repos_keys.go b/vendor/github.com/google/go-github/github/repos_keys.go index 0bb404a3ad..f8f4f48e5e 100644 --- a/vendor/github.com/google/go-github/github/repos_keys.go +++ b/vendor/github.com/google/go-github/github/repos_keys.go @@ -24,13 +24,13 @@ func (s *RepositoriesService) ListKeys(owner string, repo string, opt *ListOptio return nil, nil, err } - keys := new([]*Key) - resp, err := s.client.Do(req, keys) + var keys []*Key + resp, err := s.client.Do(req, &keys) if err != nil { return nil, resp, err } - return *keys, resp, err + return keys, resp, nil } // GetKey fetches a single deploy key. diff --git a/vendor/github.com/google/go-github/github/repos_releases.go b/vendor/github.com/google/go-github/github/repos_releases.go index 331a4b7c0f..72d95eb538 100644 --- a/vendor/github.com/google/go-github/github/repos_releases.go +++ b/vendor/github.com/google/go-github/github/repos_releases.go @@ -76,12 +76,12 @@ func (s *RepositoriesService) ListReleases(owner, repo string, opt *ListOptions) return nil, nil, err } - releases := new([]*RepositoryRelease) - resp, err := s.client.Do(req, releases) + var releases []*RepositoryRelease + resp, err := s.client.Do(req, &releases) if err != nil { return nil, resp, err } - return *releases, resp, err + return releases, resp, nil } // GetRelease fetches a single release. @@ -188,12 +188,12 @@ func (s *RepositoriesService) ListReleaseAssets(owner, repo string, id int, opt return nil, nil, err } - assets := new([]*ReleaseAsset) - resp, err := s.client.Do(req, assets) + var assets []*ReleaseAsset + resp, err := s.client.Do(req, &assets) if err != nil { - return nil, resp, nil + return nil, resp, err } - return *assets, resp, err + return assets, resp, nil } // GetReleaseAsset fetches a single release asset. @@ -210,7 +210,7 @@ func (s *RepositoriesService) GetReleaseAsset(owner, repo string, id int) (*Rele asset := new(ReleaseAsset) resp, err := s.client.Do(req, asset) if err != nil { - return nil, resp, nil + return nil, resp, err } return asset, resp, err } @@ -248,7 +248,7 @@ func (s *RepositoriesService) DownloadReleaseAsset(owner, repo string, id int) ( if !strings.Contains(err.Error(), "disable redirect") { return nil, "", err } - return nil, loc, nil + return nil, loc, nil // Intentionally return no error with valid redirect URL. } if err := CheckResponse(resp); err != nil { diff --git a/vendor/github.com/google/go-github/github/repos_statuses.go b/vendor/github.com/google/go-github/github/repos_statuses.go index 6478ee2a89..1056eeeb8b 100644 --- a/vendor/github.com/google/go-github/github/repos_statuses.go +++ b/vendor/github.com/google/go-github/github/repos_statuses.go @@ -54,13 +54,13 @@ func (s *RepositoriesService) ListStatuses(owner, repo, ref string, opt *ListOpt return nil, nil, err } - statuses := new([]*RepoStatus) - resp, err := s.client.Do(req, statuses) + var statuses []*RepoStatus + resp, err := s.client.Do(req, &statuses) if err != nil { return nil, resp, err } - return *statuses, resp, err + return statuses, resp, nil } // CreateStatus creates a new status for a repository at the specified diff --git a/vendor/github.com/google/go-github/github/repos_traffic.go b/vendor/github.com/google/go-github/github/repos_traffic.go index b328ffa021..0713c7303f 100644 --- a/vendor/github.com/google/go-github/github/repos_traffic.go +++ b/vendor/github.com/google/go-github/github/repos_traffic.go @@ -60,13 +60,13 @@ func (s *RepositoriesService) ListTrafficReferrers(owner, repo string) ([]*Traff return nil, nil, err } - trafficReferrers := new([]*TrafficReferrer) + var trafficReferrers []*TrafficReferrer resp, err := s.client.Do(req, &trafficReferrers) if err != nil { return nil, resp, err } - return *trafficReferrers, resp, err + return trafficReferrers, resp, nil } // ListTrafficPaths list the top 10 popular content over the last 14 days. @@ -80,13 +80,13 @@ func (s *RepositoriesService) ListTrafficPaths(owner, repo string) ([]*TrafficPa return nil, nil, err } - var paths = new([]*TrafficPath) + var paths []*TrafficPath resp, err := s.client.Do(req, &paths) if err != nil { return nil, resp, err } - return *paths, resp, err + return paths, resp, nil } // ListTrafficViews get total number of views for the last 14 days and breaks it down either per day or week. diff --git a/vendor/github.com/google/go-github/github/search.go b/vendor/github.com/google/go-github/github/search.go index 579a57d7f4..8fd9430110 100644 --- a/vendor/github.com/google/go-github/github/search.go +++ b/vendor/github.com/google/go-github/github/search.go @@ -21,6 +21,7 @@ type SearchService service type SearchOptions struct { // How to sort the search results. Possible values are: // - for repositories: stars, fork, updated + // - for commits: author-date, committer-date // - for code: indexed // - for issues: comments, created, updated // - for users: followers, repositories, joined @@ -54,6 +55,37 @@ func (s *SearchService) Repositories(query string, opt *SearchOptions) (*Reposit return result, resp, err } +// CommitsSearchResult represents the result of a commits search. +type CommitsSearchResult struct { + Total *int `json:"total_count,omitempty"` + IncompleteResults *bool `json:"incomplete_results,omitempty"` + Commits []*CommitResult `json:"items,omitempty"` +} + +// CommitResult represents a commit object as returned in commit search endpoint response. +type CommitResult struct { + Hash *string `json:"hash,omitempty"` + Message *string `json:"message,omitempty"` + AuthorID *int `json:"author_id,omitempty"` + AuthorName *string `json:"author_name,omitempty"` + AuthorEmail *string `json:"author_email,omitempty"` + AuthorDate *Timestamp `json:"author_date,omitempty"` + CommitterID *int `json:"committer_id,omitempty"` + CommitterName *string `json:"committer_name,omitempty"` + CommitterEmail *string `json:"committer_email,omitempty"` + CommitterDate *Timestamp `json:"committer_date,omitempty"` + Repository *Repository `json:"repository,omitempty"` +} + +// Commits searches commits via various criteria. +// +// GitHub API Docs: https://developer.github.com/v3/search/#search-commits +func (s *SearchService) Commits(query string, opt *SearchOptions) (*CommitsSearchResult, *Response, error) { + result := new(CommitsSearchResult) + resp, err := s.search("commits", query, opt, result) + return result, resp, err +} + // IssuesSearchResult represents the result of an issues search. type IssuesSearchResult struct { Total *int `json:"total_count,omitempty"` @@ -136,7 +168,7 @@ func (s *SearchService) Code(query string, opt *SearchOptions) (*CodeSearchResul } // Helper function that executes search queries against different -// GitHub search types (repositories, code, issues, users) +// GitHub search types (repositories, commits, code, issues, users) func (s *SearchService) search(searchType string, query string, opt *SearchOptions, result interface{}) (*Response, error) { params, err := qs.Values(opt) if err != nil { @@ -150,7 +182,12 @@ func (s *SearchService) search(searchType string, query string, opt *SearchOptio return nil, err } - if opt != nil && opt.TextMatch { + switch { + case searchType == "commits": + // Accept header for search commits preview endpoint + // TODO: remove custom Accept header when this API fully launches. + req.Header.Set("Accept", mediaTypeCommitSearchPreview) + case opt != nil && opt.TextMatch: // Accept header defaults to "application/vnd.github.v3+json" // We change it here to fetch back text-match metadata req.Header.Set("Accept", "application/vnd.github.v3.text-match+json") diff --git a/vendor/github.com/google/go-github/github/users.go b/vendor/github.com/google/go-github/github/users.go index 8f637466a3..cd305a973f 100644 --- a/vendor/github.com/google/go-github/github/users.go +++ b/vendor/github.com/google/go-github/github/users.go @@ -156,13 +156,13 @@ func (s *UsersService) ListAll(opt *UserListOptions) ([]*User, *Response, error) return nil, nil, err } - users := new([]*User) - resp, err := s.client.Do(req, users) + var users []*User + resp, err := s.client.Do(req, &users) if err != nil { return nil, resp, err } - return *users, resp, err + return users, resp, nil } // ListInvitations lists all currently-open repository invitations for the diff --git a/vendor/github.com/google/go-github/github/users_emails.go b/vendor/github.com/google/go-github/github/users_emails.go index e4a58983f4..4785946e16 100644 --- a/vendor/github.com/google/go-github/github/users_emails.go +++ b/vendor/github.com/google/go-github/github/users_emails.go @@ -27,13 +27,13 @@ func (s *UsersService) ListEmails(opt *ListOptions) ([]*UserEmail, *Response, er return nil, nil, err } - emails := new([]*UserEmail) - resp, err := s.client.Do(req, emails) + var emails []*UserEmail + resp, err := s.client.Do(req, &emails) if err != nil { return nil, resp, err } - return *emails, resp, err + return emails, resp, nil } // AddEmails adds email addresses of the authenticated user. @@ -46,13 +46,13 @@ func (s *UsersService) AddEmails(emails []string) ([]*UserEmail, *Response, erro return nil, nil, err } - e := new([]*UserEmail) - resp, err := s.client.Do(req, e) + var e []*UserEmail + resp, err := s.client.Do(req, &e) if err != nil { return nil, resp, err } - return *e, resp, err + return e, resp, nil } // DeleteEmails deletes email addresses from authenticated user. diff --git a/vendor/github.com/google/go-github/github/users_followers.go b/vendor/github.com/google/go-github/github/users_followers.go index 38a16621ed..123b1c1069 100644 --- a/vendor/github.com/google/go-github/github/users_followers.go +++ b/vendor/github.com/google/go-github/github/users_followers.go @@ -28,13 +28,13 @@ func (s *UsersService) ListFollowers(user string, opt *ListOptions) ([]*User, *R return nil, nil, err } - users := new([]*User) - resp, err := s.client.Do(req, users) + var users []*User + resp, err := s.client.Do(req, &users) if err != nil { return nil, resp, err } - return *users, resp, err + return users, resp, nil } // ListFollowing lists the people that a user is following. Passing the empty @@ -58,13 +58,13 @@ func (s *UsersService) ListFollowing(user string, opt *ListOptions) ([]*User, *R return nil, nil, err } - users := new([]*User) - resp, err := s.client.Do(req, users) + var users []*User + resp, err := s.client.Do(req, &users) if err != nil { return nil, resp, err } - return *users, resp, err + return users, resp, nil } // IsFollowing checks if "user" is following "target". Passing the empty diff --git a/vendor/github.com/google/go-github/github/users_keys.go b/vendor/github.com/google/go-github/github/users_keys.go index e4c255f9c8..59b1dc27d2 100644 --- a/vendor/github.com/google/go-github/github/users_keys.go +++ b/vendor/github.com/google/go-github/github/users_keys.go @@ -41,13 +41,13 @@ func (s *UsersService) ListKeys(user string, opt *ListOptions) ([]*Key, *Respons return nil, nil, err } - keys := new([]*Key) - resp, err := s.client.Do(req, keys) + var keys []*Key + resp, err := s.client.Do(req, &keys) if err != nil { return nil, resp, err } - return *keys, resp, err + return keys, resp, nil } // GetKey fetches a single public key. diff --git a/vendor/github.com/hashicorp/hcl/hcl/parser/parser.go b/vendor/github.com/hashicorp/hcl/hcl/parser/parser.go index 8dd73e0c3f..6e54bed974 100644 --- a/vendor/github.com/hashicorp/hcl/hcl/parser/parser.go +++ b/vendor/github.com/hashicorp/hcl/hcl/parser/parser.go @@ -389,9 +389,15 @@ func (p *Parser) listType() (*ast.ListType, error) { l.Add(node) needComma = true case token.LBRACK: - // TODO(arslan) should we support nested lists? Even though it's - // written in README of HCL, it's not a part of the grammar - // (not defined in parse.y) + node, err := p.listType() + if err != nil { + return nil, &PosError{ + Pos: tok.Pos, + Err: fmt.Errorf( + "error while trying to parse list within list: %s", err), + } + } + l.Add(node) case token.RBRACK: // finished l.Rbrack = p.tok.Pos diff --git a/vendor/github.com/lib/pq/conn.go b/vendor/github.com/lib/pq/conn.go index c808cb24d9..3c8f77cb6a 100644 --- a/vendor/github.com/lib/pq/conn.go +++ b/vendor/github.com/lib/pq/conn.go @@ -98,6 +98,15 @@ type conn struct { namei int scratch [512]byte txnStatus transactionStatus + txnClosed chan<- struct{} + + // Save connection arguments to use during CancelRequest. + dialer Dialer + opts values + + // Cancellation key data for use with CancelRequest messages. + processID int + secretKey int parameterStatus parameterStatus @@ -307,7 +316,10 @@ func DialOpen(d Dialer, name string) (_ driver.Conn, err error) { } } - cn := &conn{} + cn := &conn{ + opts: o, + dialer: d, + } err = cn.handleDriverSettings(o) if err != nil { return nil, err @@ -529,7 +541,15 @@ func (cn *conn) Begin() (_ driver.Tx, err error) { return cn, nil } +func (cn *conn) closeTxn() { + if cn.txnClosed != nil { + close(cn.txnClosed) + cn.txnClosed = nil + } +} + func (cn *conn) Commit() (err error) { + defer cn.closeTxn() if cn.bad { return driver.ErrBadConn } @@ -565,6 +585,7 @@ func (cn *conn) Commit() (err error) { } func (cn *conn) Rollback() (err error) { + defer cn.closeTxn() if cn.bad { return driver.ErrBadConn } @@ -796,7 +817,11 @@ func (cn *conn) Close() (err error) { } // Implement the "Queryer" interface -func (cn *conn) Query(query string, args []driver.Value) (_ driver.Rows, err error) { +func (cn *conn) Query(query string, args []driver.Value) (driver.Rows, error) { + return cn.query(query, args) +} + +func (cn *conn) query(query string, args []driver.Value) (_ *rows, err error) { if cn.bad { return nil, driver.ErrBadConn } @@ -1074,6 +1099,7 @@ func (cn *conn) startup(o values) { t, r := cn.recv() switch t { case 'K': + cn.processBackendKeyData(r) case 'S': cn.processParameterStatus(r) case 'R': @@ -1301,6 +1327,7 @@ func (cn *conn) parseComplete(commandTag string) (driver.Result, string) { type rows struct { cn *conn + closed chan<- struct{} colNames []string colTyps []oid.Oid colFmts []format @@ -1309,6 +1336,9 @@ type rows struct { } func (rs *rows) Close() error { + if rs.closed != nil { + defer close(rs.closed) + } // no need to look at cn.bad as Next() will for { err := rs.Next(nil) @@ -1513,6 +1543,11 @@ func (cn *conn) readReadyForQuery() { } } +func (c *conn) processBackendKeyData(r *readBuf) { + c.processID = r.int32() + c.secretKey = r.int32() +} + func (cn *conn) readParseResponse() { t, r := cn.recv1() switch t { diff --git a/vendor/github.com/lib/pq/conn_go18.go b/vendor/github.com/lib/pq/conn_go18.go new file mode 100644 index 0000000000..0aca1d0027 --- /dev/null +++ b/vendor/github.com/lib/pq/conn_go18.go @@ -0,0 +1,92 @@ +// +build go1.8 + +package pq + +import ( + "context" + "database/sql/driver" + "errors" +) + +// Implement the "QueryerContext" interface +func (cn *conn) QueryContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Rows, error) { + list := make([]driver.Value, len(args)) + for i, nv := range args { + list[i] = nv.Value + } + var closed chan<- struct{} + if ctx.Done() != nil { + closed = watchCancel(ctx, cn.cancel) + } + r, err := cn.query(query, list) + if err != nil { + return nil, err + } + r.closed = closed + return r, nil +} + +// Implement the "ExecerContext" interface +func (cn *conn) ExecContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Result, error) { + list := make([]driver.Value, len(args)) + for i, nv := range args { + list[i] = nv.Value + } + + if ctx.Done() != nil { + closed := watchCancel(ctx, cn.cancel) + defer close(closed) + } + + return cn.Exec(query, list) +} + +// Implement the "ConnBeginTx" interface +func (cn *conn) BeginTx(ctx context.Context, opts driver.TxOptions) (driver.Tx, error) { + if opts.Isolation != 0 { + return nil, errors.New("isolation levels not supported") + } + if opts.ReadOnly { + return nil, errors.New("read-only transactions not supported") + } + tx, err := cn.Begin() + if err != nil { + return nil, err + } + if ctx.Done() != nil { + cn.txnClosed = watchCancel(ctx, cn.cancel) + } + return tx, nil +} + +func watchCancel(ctx context.Context, cancel func()) chan<- struct{} { + closed := make(chan struct{}) + go func() { + select { + case <-ctx.Done(): + cancel() + case <-closed: + } + }() + return closed +} + +func (cn *conn) cancel() { + var err error + can := &conn{} + can.c, err = dial(cn.dialer, cn.opts) + if err != nil { + return + } + can.ssl(cn.opts) + + defer can.errRecover(&err) + + w := can.writeBuf(0) + w.int32(80877102) // cancel request code + w.int32(cn.processID) + w.int32(cn.secretKey) + + can.sendStartupPacket(w) + _ = can.c.Close() +} diff --git a/vendor/github.com/michaelklishin/rabbit-hole/README.md b/vendor/github.com/michaelklishin/rabbit-hole/README.md index a847492ecf..a1a1df5c6a 100644 --- a/vendor/github.com/michaelklishin/rabbit-hole/README.md +++ b/vendor/github.com/michaelklishin/rabbit-hole/README.md @@ -4,7 +4,7 @@ This library is a [RabbitMQ HTTP API](https://raw.githack.com/rabbitmq/rabbitmq- ## Supported Go Versions -Rabbit Hole requires Go 1.3+. +Rabbit Hole requires Go 1.6+. ## Supported RabbitMQ Versions @@ -293,4 +293,4 @@ See [CONTRIBUTING.md](https://github.com/michaelklishin/rabbit-hole/blob/master/ 2-clause BSD license. -(c) Michael S. Klishin, 2013-2016. +(c) Michael S. Klishin, 2013-2017. diff --git a/vendor/github.com/michaelklishin/rabbit-hole/bindings.go b/vendor/github.com/michaelklishin/rabbit-hole/bindings.go index aa76422881..fe7c32fd01 100644 --- a/vendor/github.com/michaelklishin/rabbit-hole/bindings.go +++ b/vendor/github.com/michaelklishin/rabbit-hole/bindings.go @@ -3,7 +3,6 @@ package rabbithole import ( "encoding/json" "net/http" - "net/url" ) // @@ -59,7 +58,7 @@ func (c *Client) ListBindings() (rec []BindingInfo, err error) { // Returns all bindings in a virtual host. func (c *Client) ListBindingsIn(vhost string) (rec []BindingInfo, err error) { - req, err := newGETRequest(c, "bindings/"+url.QueryEscape(vhost)) + req, err := newGETRequest(c, "bindings/" + PathEscape(vhost)) if err != nil { return []BindingInfo{}, err } @@ -95,7 +94,7 @@ func (c *Client) ListBindingsIn(vhost string) (rec []BindingInfo, err error) { // Returns all bindings of individual queue. func (c *Client) ListQueueBindings(vhost, queue string) (rec []BindingInfo, err error) { - req, err := newGETRequest(c, "queues/"+url.QueryEscape(vhost)+"/"+url.QueryEscape(queue)+"/bindings") + req, err := newGETRequest(c, "queues/" + PathEscape(vhost) + "/" + PathEscape(queue) + "/bindings") if err != nil { return []BindingInfo{}, err } @@ -123,7 +122,9 @@ func (c *Client) DeclareBinding(vhost string, info BindingInfo) (res *http.Respo return nil, err } - req, err := newRequestWithBody(c, "POST", "bindings/"+url.QueryEscape(vhost)+"/e/"+url.QueryEscape(info.Source)+"/"+url.QueryEscape(string(info.DestinationType[0]))+"/"+url.QueryEscape(info.Destination), body) + req, err := newRequestWithBody(c, "POST", "bindings/" + PathEscape(vhost) + + "/e/" + PathEscape(info.Source) + "/" + PathEscape(string(info.DestinationType[0])) + + "/" + PathEscape(info.Destination), body) if err != nil { return nil, err @@ -143,7 +144,9 @@ func (c *Client) DeclareBinding(vhost string, info BindingInfo) (res *http.Respo // DeleteBinding delets an individual binding func (c *Client) DeleteBinding(vhost string, info BindingInfo) (res *http.Response, err error) { - req, err := newRequestWithBody(c, "DELETE", "bindings/"+url.QueryEscape(vhost)+"/e/"+url.QueryEscape(info.Source)+"/"+url.QueryEscape(string(info.DestinationType[0]))+"/"+url.QueryEscape(info.Destination)+"/"+url.QueryEscape(info.PropertiesKey), nil) + req, err := newRequestWithBody(c, "DELETE", "bindings/" + PathEscape(vhost) + + "/e/" + PathEscape(info.Source) + "/" + PathEscape(string(info.DestinationType[0])) + + "/" + PathEscape(info.Destination) + "/" + PathEscape(info.PropertiesKey), nil) if err != nil { return nil, err } diff --git a/vendor/github.com/michaelklishin/rabbit-hole/channels.go b/vendor/github.com/michaelklishin/rabbit-hole/channels.go index adb1c19461..7fe9ea5b40 100644 --- a/vendor/github.com/michaelklishin/rabbit-hole/channels.go +++ b/vendor/github.com/michaelklishin/rabbit-hole/channels.go @@ -1,7 +1,5 @@ package rabbithole -import "net/url" - // Brief (very incomplete) connection information. type BriefConnectionDetails struct { // Connection name @@ -73,7 +71,7 @@ func (c *Client) ListChannels() (rec []ChannelInfo, err error) { // Returns channel information. func (c *Client) GetChannel(name string) (rec *ChannelInfo, err error) { - req, err := newGETRequest(c, "channels/"+url.QueryEscape(name)) + req, err := newGETRequest(c, "channels/" + PathEscape(name)) if err != nil { return nil, err } diff --git a/vendor/github.com/michaelklishin/rabbit-hole/client.go b/vendor/github.com/michaelklishin/rabbit-hole/client.go index e6e89a311b..3504d47de0 100644 --- a/vendor/github.com/michaelklishin/rabbit-hole/client.go +++ b/vendor/github.com/michaelklishin/rabbit-hole/client.go @@ -35,7 +35,7 @@ func NewClient(uri string, username string, password string) (me *Client, err er return me, nil } -//NewTLSClient Creates a Client with a Transport Layer; it is up to the developer to make that layer Secure. +// Creates a client with a transport; it is up to the developer to make that layer secure. func NewTLSClient(uri string, username string, password string, transport *http.Transport) (me *Client, err error) { u, err := url.Parse(uri) if err != nil { @@ -60,12 +60,12 @@ func (c *Client) SetTransport(transport *http.Transport) { func newGETRequest(client *Client, path string) (*http.Request, error) { s := client.Endpoint + "/api/" + path - req, err := http.NewRequest("GET", s, nil) req.Close = true req.SetBasicAuth(client.Username, client.Password) - // set Opaque to preserve percent-encoded path. MK. + + // set Opaque to preserve the percent-encoded path. MK. req.URL.Opaque = "//" + client.host + "/api/" + path return req, err @@ -88,8 +88,8 @@ func newRequestWithBody(client *Client, method string, path string, body []byte) req.Close = true req.SetBasicAuth(client.Username, client.Password) - // set Opaque to preserve percent-encoded path. MK. - req.URL.Opaque = "//" + client.host + "/api/" + path + // set Opaque to preserve the percent-encoded path. + req.URL.Opaque = "//" + client.host + "/api/" + path req.Header.Add("Content-Type", "application/json") @@ -140,3 +140,136 @@ func executeAndParseRequest(client *Client, req *http.Request, rec interface{}) func isNotFound(res *http.Response) bool { return res.StatusCode == http.StatusNotFound } + +// This is an ugly hack: we copy relevant bits from +// https://github.com/golang/go/blob/7e2bf952a905f16a17099970392ea17545cdd193/src/net/url/url.go +// because up to Go 1.8 there is no built-in method +// (and url.QueryEscape isn't suitable since it encodes +// spaces as + and not %20). +// +// See https://github.com/golang/go/issues/13737, +// https://github.com/golang/go/commit/7e2bf952a905f16a17099970392ea17545cdd193 + +// PathEscape escapes the string so it can be safely placed +// inside a URL path segment. +func PathEscape(s string) string { + return escape(s, encodePathSegment) +} + +type encoding int + +const ( + encodePath encoding = 1 + iota + encodePathSegment + encodeHost + encodeZone + encodeUserPassword + encodeQueryComponent + encodeFragment +) + +func escape(s string, mode encoding) string { + spaceCount, hexCount := 0, 0 + for i := 0; i < len(s); i++ { + c := s[i] + if shouldEscape(c, mode) { + if c == ' ' && mode == encodeQueryComponent { + spaceCount++ + } else { + hexCount++ + } + } + } + + if spaceCount == 0 && hexCount == 0 { + return s + } + + t := make([]byte, len(s)+2*hexCount) + j := 0 + for i := 0; i < len(s); i++ { + switch c := s[i]; { + case c == ' ' && mode == encodeQueryComponent: + t[j] = '+' + j++ + case shouldEscape(c, mode): + t[j] = '%' + t[j+1] = "0123456789ABCDEF"[c>>4] + t[j+2] = "0123456789ABCDEF"[c&15] + j += 3 + default: + t[j] = s[i] + j++ + } + } + return string(t) +} + +// Return true if the specified character should be escaped when +// appearing in a URL string, according to RFC 3986. +// +// Please be informed that for now shouldEscape does not check all +// reserved characters correctly. See golang.org/issue/5684. +func shouldEscape(c byte, mode encoding) bool { + // §2.3 Unreserved characters (alphanum) + if 'A' <= c && c <= 'Z' || 'a' <= c && c <= 'z' || '0' <= c && c <= '9' { + return false + } + + if mode == encodeHost || mode == encodeZone { + // §3.2.2 Host allows + // sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" + // as part of reg-name. + // We add : because we include :port as part of host. + // We add [ ] because we include [ipv6]:port as part of host. + // We add < > because they're the only characters left that + // we could possibly allow, and Parse will reject them if we + // escape them (because hosts can't use %-encoding for + // ASCII bytes). + switch c { + case '!', '$', '&', '\'', '(', ')', '*', '+', ',', ';', '=', ':', '[', ']', '<', '>', '"': + return false + } + } + + switch c { + case '-', '_', '.', '~': // §2.3 Unreserved characters (mark) + return false + + case '$', '&', '+', ',', '/', ':', ';', '=', '?', '@': // §2.2 Reserved characters (reserved) + // Different sections of the URL allow a few of + // the reserved characters to appear unescaped. + switch mode { + case encodePath: // §3.3 + // The RFC allows : @ & = + $ but saves / ; , for assigning + // meaning to individual path segments. This package + // only manipulates the path as a whole, so we allow those + // last three as well. That leaves only ? to escape. + return c == '?' + + case encodePathSegment: // §3.3 + // The RFC allows : @ & = + $ but saves / ; , for assigning + // meaning to individual path segments. + return c == '/' || c == ';' || c == ',' || c == '?' + + case encodeUserPassword: // §3.2.1 + // The RFC allows ';', ':', '&', '=', '+', '$', and ',' in + // userinfo, so we must escape only '@', '/', and '?'. + // The parsing of userinfo treats ':' as special so we must escape + // that too. + return c == '@' || c == '/' || c == '?' || c == ':' + + case encodeQueryComponent: // §3.4 + // The RFC reserves (so we must escape) everything. + return true + + case encodeFragment: // §4.1 + // The RFC text is silent but the grammar allows + // everything, so escape nothing. + return false + } + } + + // Everything else must be escaped. + return true +} \ No newline at end of file diff --git a/vendor/github.com/michaelklishin/rabbit-hole/connections.go b/vendor/github.com/michaelklishin/rabbit-hole/connections.go index bee8595448..ba3af5a232 100644 --- a/vendor/github.com/michaelklishin/rabbit-hole/connections.go +++ b/vendor/github.com/michaelklishin/rabbit-hole/connections.go @@ -2,7 +2,6 @@ package rabbithole import ( "net/http" - "net/url" ) // Provides information about connection to a RabbitMQ node. @@ -100,7 +99,7 @@ func (c *Client) ListConnections() (rec []ConnectionInfo, err error) { // func (c *Client) GetConnection(name string) (rec *ConnectionInfo, err error) { - req, err := newGETRequest(c, "connections/"+url.QueryEscape(name)) + req, err := newGETRequest(c, "connections/" + PathEscape(name)) if err != nil { return nil, err } @@ -117,7 +116,7 @@ func (c *Client) GetConnection(name string) (rec *ConnectionInfo, err error) { // func (c *Client) CloseConnection(name string) (res *http.Response, err error) { - req, err := newRequestWithBody(c, "DELETE", "connections/"+url.QueryEscape(name), nil) + req, err := newRequestWithBody(c, "DELETE", "connections/" + PathEscape(name), nil) if err != nil { return nil, err } diff --git a/vendor/github.com/michaelklishin/rabbit-hole/exchanges.go b/vendor/github.com/michaelklishin/rabbit-hole/exchanges.go index 5bd0d24423..c97fb61ccc 100644 --- a/vendor/github.com/michaelklishin/rabbit-hole/exchanges.go +++ b/vendor/github.com/michaelklishin/rabbit-hole/exchanges.go @@ -3,7 +3,6 @@ package rabbithole import ( "encoding/json" "net/http" - "net/url" ) // @@ -55,7 +54,7 @@ func (c *Client) ListExchanges() (rec []ExchangeInfo, err error) { // func (c *Client) ListExchangesIn(vhost string) (rec []ExchangeInfo, err error) { - req, err := newGETRequest(c, "exchanges/"+url.QueryEscape(vhost)) + req, err := newGETRequest(c, "exchanges/" + PathEscape(vhost)) if err != nil { return []ExchangeInfo{}, err } @@ -162,7 +161,7 @@ type DetailedExchangeInfo struct { } func (c *Client) GetExchange(vhost, exchange string) (rec *DetailedExchangeInfo, err error) { - req, err := newGETRequest(c, "exchanges/"+url.QueryEscape(vhost)+"/"+url.QueryEscape(exchange)) + req, err := newGETRequest(c, "exchanges/" + PathEscape(vhost) + "/" + PathEscape(exchange)) if err != nil { return nil, err } @@ -187,7 +186,7 @@ func (c *Client) DeclareExchange(vhost, exchange string, info ExchangeSettings) return nil, err } - req, err := newRequestWithBody(c, "PUT", "exchanges/"+url.QueryEscape(vhost)+"/"+url.QueryEscape(exchange), body) + req, err := newRequestWithBody(c, "PUT", "exchanges/" + PathEscape(vhost) + "/" + PathEscape(exchange), body) if err != nil { return nil, err } @@ -205,7 +204,7 @@ func (c *Client) DeclareExchange(vhost, exchange string, info ExchangeSettings) // func (c *Client) DeleteExchange(vhost, exchange string) (res *http.Response, err error) { - req, err := newRequestWithBody(c, "DELETE", "exchanges/"+url.QueryEscape(vhost)+"/"+url.QueryEscape(exchange), nil) + req, err := newRequestWithBody(c, "DELETE", "exchanges/" + PathEscape(vhost) + "/" + PathEscape(exchange), nil) if err != nil { return nil, err } diff --git a/vendor/github.com/michaelklishin/rabbit-hole/federation.go b/vendor/github.com/michaelklishin/rabbit-hole/federation.go index 23f37b79df..f3ad697610 100644 --- a/vendor/github.com/michaelklishin/rabbit-hole/federation.go +++ b/vendor/github.com/michaelklishin/rabbit-hole/federation.go @@ -3,7 +3,6 @@ package rabbithole import ( "encoding/json" "net/http" - "net/url" ) // Federation definition: additional arguments @@ -39,7 +38,7 @@ func (c *Client) PutFederationUpstream(vhost string, upstreamName string, fDef F return nil, err } - req, err := newRequestWithBody(c, "PUT", "parameters/federation-upstream/"+url.QueryEscape(vhost)+"/"+url.QueryEscape(upstreamName), body) + req, err := newRequestWithBody(c, "PUT", "parameters/federation-upstream/" + PathEscape(vhost) + "/" + PathEscape(upstreamName), body) if err != nil { return nil, err } @@ -58,7 +57,7 @@ func (c *Client) PutFederationUpstream(vhost string, upstreamName string, fDef F // Deletes a federation upstream. func (c *Client) DeleteFederationUpstream(vhost, upstreamName string) (res *http.Response, err error) { - req, err := newRequestWithBody(c, "DELETE", "parameters/federation-upstream/"+url.QueryEscape(vhost)+"/"+url.QueryEscape(upstreamName), nil) + req, err := newRequestWithBody(c, "DELETE", "parameters/federation-upstream/" + PathEscape(vhost) + "/" + PathEscape(upstreamName), nil) if err != nil { return nil, err } diff --git a/vendor/github.com/michaelklishin/rabbit-hole/nodes.go b/vendor/github.com/michaelklishin/rabbit-hole/nodes.go index 38922cb3f1..3e809ad377 100644 --- a/vendor/github.com/michaelklishin/rabbit-hole/nodes.go +++ b/vendor/github.com/michaelklishin/rabbit-hole/nodes.go @@ -1,10 +1,5 @@ package rabbithole -import ( - "net/url" -) - -// TODO: this probably should be fixed in RabbitMQ management plugin type OsPid string type NameDescriptionEnabled struct { @@ -288,7 +283,7 @@ func (c *Client) ListNodes() (rec []NodeInfo, err error) { // } func (c *Client) GetNode(name string) (rec *NodeInfo, err error) { - req, err := newGETRequest(c, "nodes/"+url.QueryEscape(name)) + req, err := newGETRequest(c, "nodes/" + PathEscape(name)) if err != nil { return nil, err } diff --git a/vendor/github.com/michaelklishin/rabbit-hole/permissions.go b/vendor/github.com/michaelklishin/rabbit-hole/permissions.go index 6778350002..1b8ecffe40 100644 --- a/vendor/github.com/michaelklishin/rabbit-hole/permissions.go +++ b/vendor/github.com/michaelklishin/rabbit-hole/permissions.go @@ -3,7 +3,6 @@ package rabbithole import ( "encoding/json" "net/http" - "net/url" ) // @@ -46,7 +45,7 @@ func (c *Client) ListPermissions() (rec []PermissionInfo, err error) { // Returns permissions of a specific user. func (c *Client) ListPermissionsOf(username string) (rec []PermissionInfo, err error) { - req, err := newGETRequest(c, "users/"+url.QueryEscape(username)+"/permissions") + req, err := newGETRequest(c, "users/" + PathEscape(username) + "/permissions") if err != nil { return []PermissionInfo{}, err } @@ -64,7 +63,7 @@ func (c *Client) ListPermissionsOf(username string) (rec []PermissionInfo, err e // Returns permissions of user in virtual host. func (c *Client) GetPermissionsIn(vhost, username string) (rec PermissionInfo, err error) { - req, err := newGETRequest(c, "permissions/"+url.QueryEscape(vhost)+"/"+url.QueryEscape(username)) + req, err := newGETRequest(c, "permissions/" + PathEscape(vhost) + "/" + PathEscape(username)) if err != nil { return PermissionInfo{}, err } @@ -93,7 +92,7 @@ func (c *Client) UpdatePermissionsIn(vhost, username string, permissions Permiss return nil, err } - req, err := newRequestWithBody(c, "PUT", "permissions/"+url.QueryEscape(vhost)+"/"+url.QueryEscape(username), body) + req, err := newRequestWithBody(c, "PUT", "permissions/" + PathEscape(vhost) + "/" + PathEscape(username), body) if err != nil { return nil, err } @@ -112,7 +111,7 @@ func (c *Client) UpdatePermissionsIn(vhost, username string, permissions Permiss // Clears (deletes) permissions of user in virtual host. func (c *Client) ClearPermissionsIn(vhost, username string) (res *http.Response, err error) { - req, err := newRequestWithBody(c, "DELETE", "permissions/"+url.QueryEscape(vhost)+"/"+url.QueryEscape(username), nil) + req, err := newRequestWithBody(c, "DELETE", "permissions/" + PathEscape(vhost) + "/" + PathEscape(username), nil) if err != nil { return nil, err } diff --git a/vendor/github.com/michaelklishin/rabbit-hole/policies.go b/vendor/github.com/michaelklishin/rabbit-hole/policies.go index d323c564b7..30d039e964 100644 --- a/vendor/github.com/michaelklishin/rabbit-hole/policies.go +++ b/vendor/github.com/michaelklishin/rabbit-hole/policies.go @@ -3,7 +3,6 @@ package rabbithole import ( "encoding/json" "net/http" - "net/url" ) // Policy definition: additional arguments @@ -53,7 +52,7 @@ func (c *Client) ListPolicies() (rec []Policy, err error) { // Returns policies in a specific virtual host. func (c *Client) ListPoliciesIn(vhost string) (rec []Policy, err error) { - req, err := newGETRequest(c, "policies/"+url.QueryEscape(vhost)) + req, err := newGETRequest(c, "policies/" + PathEscape(vhost)) if err != nil { return nil, err } @@ -71,7 +70,7 @@ func (c *Client) ListPoliciesIn(vhost string) (rec []Policy, err error) { // Returns individual policy in virtual host. func (c *Client) GetPolicy(vhost, name string) (rec *Policy, err error) { - req, err := newGETRequest(c, "policies/"+url.QueryEscape(vhost)+"/"+url.QueryEscape(name)) + req, err := newGETRequest(c, "policies/" + PathEscape(vhost) + "/" + PathEscape(name)) if err != nil { return nil, err } @@ -94,7 +93,7 @@ func (c *Client) PutPolicy(vhost string, name string, policy Policy) (res *http. return nil, err } - req, err := newRequestWithBody(c, "PUT", "policies/"+url.QueryEscape(vhost)+"/"+url.QueryEscape(name), body) + req, err := newRequestWithBody(c, "PUT", "policies/" + PathEscape(vhost) + "/" + PathEscape(name), body) if err != nil { return nil, err } @@ -113,7 +112,7 @@ func (c *Client) PutPolicy(vhost string, name string, policy Policy) (res *http. // Deletes a policy. func (c *Client) DeletePolicy(vhost, name string) (res *http.Response, err error) { - req, err := newRequestWithBody(c, "DELETE", "policies/"+url.QueryEscape(vhost)+"/"+url.QueryEscape(name), nil) + req, err := newRequestWithBody(c, "DELETE", "policies/" + PathEscape(vhost) + "/" + PathEscape(name), nil) if err != nil { return nil, err } diff --git a/vendor/github.com/michaelklishin/rabbit-hole/queues.go b/vendor/github.com/michaelklishin/rabbit-hole/queues.go index 25b6e58492..df57c21804 100644 --- a/vendor/github.com/michaelklishin/rabbit-hole/queues.go +++ b/vendor/github.com/michaelklishin/rabbit-hole/queues.go @@ -198,7 +198,7 @@ func (c *Client) ListQueuesWithParameters(params url.Values) (rec []QueueInfo, e // func (c *Client) ListQueuesIn(vhost string) (rec []QueueInfo, err error) { - req, err := newGETRequest(c, "queues/"+url.QueryEscape(vhost)) + req, err := newGETRequest(c, "queues/" + PathEscape(vhost)) if err != nil { return []QueueInfo{}, err } @@ -215,7 +215,7 @@ func (c *Client) ListQueuesIn(vhost string) (rec []QueueInfo, err error) { // func (c *Client) GetQueue(vhost, queue string) (rec *DetailedQueueInfo, err error) { - req, err := newGETRequest(c, "queues/"+url.QueryEscape(vhost)+"/"+url.QueryEscape(queue)) + req, err := newGETRequest(c, "queues/" + PathEscape(vhost) + "/" + PathEscape(queue)) if err != nil { return nil, err @@ -232,7 +232,7 @@ func (c *Client) GetQueue(vhost, queue string) (rec *DetailedQueueInfo, err erro // GET /api/queues/{vhost}/{name}?{query} func (c *Client) GetQueueWithParameters(vhost, queue string, qs url.Values) (rec *DetailedQueueInfo, err error) { - req, err := newGETRequestWithParameters(c, "queues/"+url.QueryEscape(vhost)+"/"+url.QueryEscape(queue), qs) + req, err := newGETRequestWithParameters(c, "queues/" + PathEscape(vhost) + "/" + PathEscape(queue), qs) if err != nil { return nil, err } @@ -263,7 +263,7 @@ func (c *Client) DeclareQueue(vhost, queue string, info QueueSettings) (res *htt return nil, err } - req, err := newRequestWithBody(c, "PUT", "queues/"+url.QueryEscape(vhost)+"/"+url.QueryEscape(queue), body) + req, err := newRequestWithBody(c, "PUT", "queues/" + PathEscape(vhost) + "/" + PathEscape(queue), body) if err != nil { return nil, err } @@ -281,7 +281,7 @@ func (c *Client) DeclareQueue(vhost, queue string, info QueueSettings) (res *htt // func (c *Client) DeleteQueue(vhost, queue string) (res *http.Response, err error) { - req, err := newRequestWithBody(c, "DELETE", "queues/"+url.QueryEscape(vhost)+"/"+url.QueryEscape(queue), nil) + req, err := newRequestWithBody(c, "DELETE", "queues/" + PathEscape(vhost) + "/" + PathEscape(queue), nil) if err != nil { return nil, err } @@ -299,7 +299,7 @@ func (c *Client) DeleteQueue(vhost, queue string) (res *http.Response, err error // func (c *Client) PurgeQueue(vhost, queue string) (res *http.Response, err error) { - req, err := newRequestWithBody(c, "DELETE", "queues/"+url.QueryEscape(vhost)+"/"+url.QueryEscape(queue)+"/contents", nil) + req, err := newRequestWithBody(c, "DELETE", "queues/" + PathEscape(vhost) + "/" + PathEscape(queue) + "/contents", nil) if err != nil { return nil, err } diff --git a/vendor/github.com/michaelklishin/rabbit-hole/users.go b/vendor/github.com/michaelklishin/rabbit-hole/users.go index 9f809697e7..df0503731d 100644 --- a/vendor/github.com/michaelklishin/rabbit-hole/users.go +++ b/vendor/github.com/michaelklishin/rabbit-hole/users.go @@ -3,7 +3,6 @@ package rabbithole import ( "encoding/json" "net/http" - "net/url" ) type UserInfo struct { @@ -53,7 +52,7 @@ func (c *Client) ListUsers() (rec []UserInfo, err error) { // Returns information about individual user. func (c *Client) GetUser(username string) (rec *UserInfo, err error) { - req, err := newGETRequest(c, "users/"+url.QueryEscape(username)) + req, err := newGETRequest(c, "users/" + PathEscape(username)) if err != nil { return nil, err } @@ -76,7 +75,7 @@ func (c *Client) PutUser(username string, info UserSettings) (res *http.Response return nil, err } - req, err := newRequestWithBody(c, "PUT", "users/"+url.QueryEscape(username), body) + req, err := newRequestWithBody(c, "PUT", "users/" + PathEscape(username), body) if err != nil { return nil, err } @@ -95,7 +94,7 @@ func (c *Client) PutUser(username string, info UserSettings) (res *http.Response // Deletes user. func (c *Client) DeleteUser(username string) (res *http.Response, err error) { - req, err := newRequestWithBody(c, "DELETE", "users/"+url.QueryEscape(username), nil) + req, err := newRequestWithBody(c, "DELETE", "users/" + PathEscape(username), nil) if err != nil { return nil, err } diff --git a/vendor/github.com/michaelklishin/rabbit-hole/vhosts.go b/vendor/github.com/michaelklishin/rabbit-hole/vhosts.go index d0f84b5f82..bd2dd9ce4f 100644 --- a/vendor/github.com/michaelklishin/rabbit-hole/vhosts.go +++ b/vendor/github.com/michaelklishin/rabbit-hole/vhosts.go @@ -3,7 +3,6 @@ package rabbithole import ( "encoding/json" "net/http" - "net/url" ) // @@ -98,7 +97,7 @@ func (c *Client) ListVhosts() (rec []VhostInfo, err error) { // Returns information about a specific virtual host. func (c *Client) GetVhost(vhostname string) (rec *VhostInfo, err error) { - req, err := newGETRequest(c, "vhosts/"+url.QueryEscape(vhostname)) + req, err := newGETRequest(c, "vhosts/" + PathEscape(vhostname)) if err != nil { return nil, err } @@ -127,7 +126,7 @@ func (c *Client) PutVhost(vhostname string, settings VhostSettings) (res *http.R return nil, err } - req, err := newRequestWithBody(c, "PUT", "vhosts/"+url.QueryEscape(vhostname), body) + req, err := newRequestWithBody(c, "PUT", "vhosts/" + PathEscape(vhostname), body) if err != nil { return nil, err } @@ -146,7 +145,7 @@ func (c *Client) PutVhost(vhostname string, settings VhostSettings) (res *http.R // Deletes a virtual host. func (c *Client) DeleteVhost(vhostname string) (res *http.Response, err error) { - req, err := newRequestWithBody(c, "DELETE", "vhosts/"+url.QueryEscape(vhostname), nil) + req, err := newRequestWithBody(c, "DELETE", "vhosts/" + PathEscape(vhostname), nil) if err != nil { return nil, err } diff --git a/vendor/github.com/mitchellh/cli/help.go b/vendor/github.com/mitchellh/cli/help.go index a7c18cbc24..f5ca58f595 100644 --- a/vendor/github.com/mitchellh/cli/help.go +++ b/vendor/github.com/mitchellh/cli/help.go @@ -18,7 +18,7 @@ func BasicHelpFunc(app string) HelpFunc { return func(commands map[string]CommandFactory) string { var buf bytes.Buffer buf.WriteString(fmt.Sprintf( - "usage: %s [--version] [--help] []\n\n", + "Usage: %s [--version] [--help] []\n\n", app)) buf.WriteString("Available commands are:\n") diff --git a/vendor/github.com/prometheus/procfs/mountstats.go b/vendor/github.com/prometheus/procfs/mountstats.go index 3b7d3ec84d..47ab0a7449 100644 --- a/vendor/github.com/prometheus/procfs/mountstats.go +++ b/vendor/github.com/prometheus/procfs/mountstats.go @@ -72,80 +72,80 @@ func (m MountStatsNFS) mountStats() {} // by an NFS client to and from an NFS server. type NFSBytesStats struct { // Number of bytes read using the read() syscall. - Read int + Read uint64 // Number of bytes written using the write() syscall. - Write int + Write uint64 // Number of bytes read using the read() syscall in O_DIRECT mode. - DirectRead int + DirectRead uint64 // Number of bytes written using the write() syscall in O_DIRECT mode. - DirectWrite int + DirectWrite uint64 // Number of bytes read from the NFS server, in total. - ReadTotal int + ReadTotal uint64 // Number of bytes written to the NFS server, in total. - WriteTotal int + WriteTotal uint64 // Number of pages read directly via mmap()'d files. - ReadPages int + ReadPages uint64 // Number of pages written directly via mmap()'d files. - WritePages int + WritePages uint64 } // A NFSEventsStats contains statistics about NFS event occurrences. type NFSEventsStats struct { // Number of times cached inode attributes are re-validated from the server. - InodeRevalidate int + InodeRevalidate uint64 // Number of times cached dentry nodes are re-validated from the server. - DnodeRevalidate int + DnodeRevalidate uint64 // Number of times an inode cache is cleared. - DataInvalidate int + DataInvalidate uint64 // Number of times cached inode attributes are invalidated. - AttributeInvalidate int + AttributeInvalidate uint64 // Number of times files or directories have been open()'d. - VFSOpen int + VFSOpen uint64 // Number of times a directory lookup has occurred. - VFSLookup int + VFSLookup uint64 // Number of times permissions have been checked. - VFSAccess int + VFSAccess uint64 // Number of updates (and potential writes) to pages. - VFSUpdatePage int + VFSUpdatePage uint64 // Number of pages read directly via mmap()'d files. - VFSReadPage int + VFSReadPage uint64 // Number of times a group of pages have been read. - VFSReadPages int + VFSReadPages uint64 // Number of pages written directly via mmap()'d files. - VFSWritePage int + VFSWritePage uint64 // Number of times a group of pages have been written. - VFSWritePages int + VFSWritePages uint64 // Number of times directory entries have been read with getdents(). - VFSGetdents int + VFSGetdents uint64 // Number of times attributes have been set on inodes. - VFSSetattr int + VFSSetattr uint64 // Number of pending writes that have been forcefully flushed to the server. - VFSFlush int + VFSFlush uint64 // Number of times fsync() has been called on directories and files. - VFSFsync int + VFSFsync uint64 // Number of times locking has been attemped on a file. - VFSLock int + VFSLock uint64 // Number of times files have been closed and released. - VFSFileRelease int + VFSFileRelease uint64 // Unknown. Possibly unused. - CongestionWait int + CongestionWait uint64 // Number of times files have been truncated. - Truncation int + Truncation uint64 // Number of times a file has been grown due to writes beyond its existing end. - WriteExtension int + WriteExtension uint64 // Number of times a file was removed while still open by another process. - SillyRename int + SillyRename uint64 // Number of times the NFS server gave less data than expected while reading. - ShortRead int + ShortRead uint64 // Number of times the NFS server wrote less data than expected while writing. - ShortWrite int + ShortWrite uint64 // Number of times the NFS server indicated EJUKEBOX; retrieving data from // offline storage. - JukeboxDelay int + JukeboxDelay uint64 // Number of NFS v4.1+ pNFS reads. - PNFSRead int + PNFSRead uint64 // Number of NFS v4.1+ pNFS writes. - PNFSWrite int + PNFSWrite uint64 } // A NFSOperationStats contains statistics for a single operation. @@ -153,15 +153,15 @@ type NFSOperationStats struct { // The name of the operation. Operation string // Number of requests performed for this operation. - Requests int + Requests uint64 // Number of times an actual RPC request has been transmitted for this operation. - Transmissions int + Transmissions uint64 // Number of times a request has had a major timeout. - MajorTimeouts int + MajorTimeouts uint64 // Number of bytes sent for this operation, including RPC headers and payload. - BytesSent int + BytesSent uint64 // Number of bytes received for this operation, including RPC headers and payload. - BytesReceived int + BytesReceived uint64 // Duration all requests spent queued for transmission before they were sent. CumulativeQueueTime time.Duration // Duration it took to get a reply back after the request was transmitted. @@ -174,41 +174,41 @@ type NFSOperationStats struct { // responses. type NFSTransportStats struct { // The local port used for the NFS mount. - Port int + Port uint64 // Number of times the client has had to establish a connection from scratch // to the NFS server. - Bind int + Bind uint64 // Number of times the client has made a TCP connection to the NFS server. - Connect int + Connect uint64 // Duration (in jiffies, a kernel internal unit of time) the NFS mount has // spent waiting for connections to the server to be established. - ConnectIdleTime int + ConnectIdleTime uint64 // Duration since the NFS mount last saw any RPC traffic. IdleTime time.Duration // Number of RPC requests for this mount sent to the NFS server. - Sends int + Sends uint64 // Number of RPC responses for this mount received from the NFS server. - Receives int + Receives uint64 // Number of times the NFS server sent a response with a transaction ID // unknown to this client. - BadTransactionIDs int + BadTransactionIDs uint64 // A running counter, incremented on each request as the current difference // ebetween sends and receives. - CumulativeActiveRequests int + CumulativeActiveRequests uint64 // A running counter, incremented on each request by the current backlog // queue size. - CumulativeBacklog int + CumulativeBacklog uint64 // Stats below only available with stat version 1.1. // Maximum number of simultaneously active RPC requests ever used. - MaximumRPCSlotsUsed int + MaximumRPCSlotsUsed uint64 // A running counter, incremented on each request as the current size of the // sending queue. - CumulativeSendingQueue int + CumulativeSendingQueue uint64 // A running counter, incremented on each request as the current size of the // pending queue. - CumulativePendingQueue int + CumulativePendingQueue uint64 } // parseMountStats parses a /proc/[pid]/mountstats file and returns a slice @@ -386,9 +386,9 @@ func parseNFSBytesStats(ss []string) (*NFSBytesStats, error) { return nil, fmt.Errorf("invalid NFS bytes stats: %v", ss) } - ns := make([]int, 0, fieldBytesLen) + ns := make([]uint64, 0, fieldBytesLen) for _, s := range ss { - n, err := strconv.Atoi(s) + n, err := strconv.ParseUint(s, 10, 64) if err != nil { return nil, err } @@ -415,9 +415,9 @@ func parseNFSEventsStats(ss []string) (*NFSEventsStats, error) { return nil, fmt.Errorf("invalid NFS events stats: %v", ss) } - ns := make([]int, 0, fieldEventsLen) + ns := make([]uint64, 0, fieldEventsLen) for _, s := range ss { - n, err := strconv.Atoi(s) + n, err := strconv.ParseUint(s, 10, 64) if err != nil { return nil, err } @@ -480,9 +480,9 @@ func parseNFSOperationStats(s *bufio.Scanner) ([]NFSOperationStats, error) { } // Skip string operation name for integers - ns := make([]int, 0, numFields-1) + ns := make([]uint64, 0, numFields-1) for _, st := range ss[1:] { - n, err := strconv.Atoi(st) + n, err := strconv.ParseUint(st, 10, 64) if err != nil { return nil, err } @@ -524,9 +524,9 @@ func parseNFSTransportStats(ss []string, statVersion string) (*NFSTransportStats // Allocate enough for v1.1 stats since zero value for v1.1 stats will be okay // in a v1.0 response - ns := make([]int, 0, fieldTransport11Len) + ns := make([]uint64, 0, fieldTransport11Len) for _, s := range ss { - n, err := strconv.Atoi(s) + n, err := strconv.ParseUint(s, 10, 64) if err != nil { return nil, err } diff --git a/vendor/golang.org/x/crypto/ssh/common.go b/vendor/golang.org/x/crypto/ssh/common.go index 2c72ab544b..faabb7ef96 100644 --- a/vendor/golang.org/x/crypto/ssh/common.go +++ b/vendor/golang.org/x/crypto/ssh/common.go @@ -104,6 +104,21 @@ type directionAlgorithms struct { Compression string } +// rekeyBytes returns a rekeying intervals in bytes. +func (a *directionAlgorithms) rekeyBytes() int64 { + // According to RFC4344 block ciphers should rekey after + // 2^(BLOCKSIZE/4) blocks. For all AES flavors BLOCKSIZE is + // 128. + switch a.Cipher { + case "aes128-ctr", "aes192-ctr", "aes256-ctr", gcmCipherID, aes128cbcID: + return 16 * (1 << 32) + + } + + // For others, stick with RFC4253 recommendation to rekey after 1 Gb of data. + return 1 << 30 +} + type algorithms struct { kex string hostKey string diff --git a/vendor/golang.org/x/crypto/ssh/handshake.go b/vendor/golang.org/x/crypto/ssh/handshake.go index e68e058615..e3f82c40c9 100644 --- a/vendor/golang.org/x/crypto/ssh/handshake.go +++ b/vendor/golang.org/x/crypto/ssh/handshake.go @@ -65,8 +65,9 @@ type handshakeTransport struct { pendingPackets [][]byte // Used when a key exchange is in progress. // If the read loop wants to schedule a kex, it pings this - // channel, and the write loop will send out a kex message. - requestKex chan struct{} + // channel, and the write loop will send out a kex + // message. The boolean is whether this is the first request or not. + requestKex chan bool // If the other side requests or confirms a kex, its kexInit // packet is sent here for the write loop to find it. @@ -77,9 +78,14 @@ type handshakeTransport struct { dialAddress string remoteAddr net.Addr - readSinceKex uint64 + // Algorithms agreed in the last key exchange. + algorithms *algorithms - writtenSinceKex uint64 + readPacketsLeft uint32 + readBytesLeft int64 + + writePacketsLeft uint32 + writeBytesLeft int64 // The session ID or nil if first kex did not complete yet. sessionID []byte @@ -96,11 +102,14 @@ func newHandshakeTransport(conn keyingTransport, config *Config, clientVersion, serverVersion: serverVersion, clientVersion: clientVersion, incoming: make(chan []byte, chanSize), - requestKex: make(chan struct{}, 1), + requestKex: make(chan bool, 1), startKex: make(chan *pendingKex, 1), config: config, } + + // We always start with a mandatory key exchange. + t.requestKex <- true return t } @@ -174,12 +183,6 @@ func (t *handshakeTransport) readPacket() ([]byte, error) { } func (t *handshakeTransport) readLoop() { - // We always start with the mandatory key exchange. We use - // the channel for simplicity, and this works if we can rely - // on the SSH package itself not doing anything else before - // waitSession has completed. - t.requestKeyExchange() - first := true for { p, err := t.readOnePacket(first) @@ -227,14 +230,15 @@ func (t *handshakeTransport) recordWriteError(err error) { func (t *handshakeTransport) requestKeyExchange() { select { - case t.requestKex <- struct{}{}: + case t.requestKex <- false: default: // something already requested a kex, so do nothing. } - } func (t *handshakeTransport) kexLoop() { + firstSent := false + write: for t.getWriteError() == nil { var request *pendingKex @@ -247,7 +251,18 @@ write: if !ok { break write } - case <-t.requestKex: + case requestFirst := <-t.requestKex: + // For the first key exchange, both + // sides will initiate a key exchange, + // and both channels will fire. To + // avoid doing two key exchanges in a + // row, ignore our own request for an + // initial kex if we have already sent + // it out. + if firstSent && requestFirst { + + continue + } } if !sent { @@ -255,6 +270,7 @@ write: t.recordWriteError(err) break } + firstSent = true sent = true } } @@ -279,7 +295,12 @@ write: t.writeError = err t.sentInitPacket = nil t.sentInitMsg = nil - t.writtenSinceKex = 0 + t.writePacketsLeft = packetRekeyThreshold + if t.config.RekeyThreshold > 0 { + t.writeBytesLeft = int64(t.config.RekeyThreshold) + } else if t.algorithms != nil { + t.writeBytesLeft = t.algorithms.w.rekeyBytes() + } request.done <- t.writeError // kex finished. Push packets that we received while @@ -293,7 +314,7 @@ write: break } } - t.pendingPackets = t.pendingPackets[0:] + t.pendingPackets = t.pendingPackets[:0] t.mu.Unlock() } @@ -309,17 +330,31 @@ write: t.conn.Close() } -func (t *handshakeTransport) readOnePacket(first bool) ([]byte, error) { - if t.readSinceKex > t.config.RekeyThreshold { - t.requestKeyExchange() - } +// The protocol uses uint32 for packet counters, so we can't let them +// reach 1<<32. We will actually read and write more packets than +// this, though: the other side may send more packets, and after we +// hit this limit on writing we will send a few more packets for the +// key exchange itself. +const packetRekeyThreshold = (1 << 31) +func (t *handshakeTransport) readOnePacket(first bool) ([]byte, error) { p, err := t.conn.readPacket() if err != nil { return nil, err } - t.readSinceKex += uint64(len(p)) + if t.readPacketsLeft > 0 { + t.readPacketsLeft-- + } else { + t.requestKeyExchange() + } + + if t.readBytesLeft > 0 { + t.readBytesLeft -= int64(len(p)) + } else { + t.requestKeyExchange() + } + if debugHandshake { t.printPacket(p, false) } @@ -349,7 +384,12 @@ func (t *handshakeTransport) readOnePacket(first bool) ([]byte, error) { return nil, err } - t.readSinceKex = 0 + t.readPacketsLeft = packetRekeyThreshold + if t.config.RekeyThreshold > 0 { + t.readBytesLeft = int64(t.config.RekeyThreshold) + } else { + t.readBytesLeft = t.algorithms.r.rekeyBytes() + } // By default, a key exchange is hidden from higher layers by // translating it into msgIgnore. @@ -432,8 +472,16 @@ func (t *handshakeTransport) writePacket(p []byte) error { t.pendingPackets = append(t.pendingPackets, cp) return nil } - t.writtenSinceKex += uint64(len(p)) - if t.writtenSinceKex > t.config.RekeyThreshold { + + if t.writeBytesLeft > 0 { + t.writeBytesLeft -= int64(len(p)) + } else { + t.requestKeyExchange() + } + + if t.writePacketsLeft > 0 { + t.writePacketsLeft-- + } else { t.requestKeyExchange() } @@ -474,7 +522,8 @@ func (t *handshakeTransport) enterKeyExchange(otherInitPacket []byte) error { magics.serverKexInit = otherInitPacket } - algs, err := findAgreedAlgorithms(clientInit, serverInit) + var err error + t.algorithms, err = findAgreedAlgorithms(clientInit, serverInit) if err != nil { return err } @@ -497,16 +546,16 @@ func (t *handshakeTransport) enterKeyExchange(otherInitPacket []byte) error { } } - kex, ok := kexAlgoMap[algs.kex] + kex, ok := kexAlgoMap[t.algorithms.kex] if !ok { - return fmt.Errorf("ssh: unexpected key exchange algorithm %v", algs.kex) + return fmt.Errorf("ssh: unexpected key exchange algorithm %v", t.algorithms.kex) } var result *kexResult if len(t.hostKeys) > 0 { - result, err = t.server(kex, algs, &magics) + result, err = t.server(kex, t.algorithms, &magics) } else { - result, err = t.client(kex, algs, &magics) + result, err = t.client(kex, t.algorithms, &magics) } if err != nil { @@ -518,7 +567,7 @@ func (t *handshakeTransport) enterKeyExchange(otherInitPacket []byte) error { } result.SessionID = t.sessionID - t.conn.prepareKeyChange(algs, result) + t.conn.prepareKeyChange(t.algorithms, result) if err = t.conn.writePacket([]byte{msgNewKeys}); err != nil { return err } diff --git a/vendor/golang.org/x/crypto/ssh/server.go b/vendor/golang.org/x/crypto/ssh/server.go index 28b109a9c0..77c84d165c 100644 --- a/vendor/golang.org/x/crypto/ssh/server.go +++ b/vendor/golang.org/x/crypto/ssh/server.go @@ -10,6 +10,7 @@ import ( "fmt" "io" "net" + "strings" ) // The Permissions type holds fine-grained permissions that are @@ -231,7 +232,7 @@ func isAcceptableAlgo(algo string) bool { return false } -func checkSourceAddress(addr net.Addr, sourceAddr string) error { +func checkSourceAddress(addr net.Addr, sourceAddrs string) error { if addr == nil { return errors.New("ssh: no address known for client, but source-address match required") } @@ -241,18 +242,20 @@ func checkSourceAddress(addr net.Addr, sourceAddr string) error { return fmt.Errorf("ssh: remote address %v is not an TCP address when checking source-address match", addr) } - if allowedIP := net.ParseIP(sourceAddr); allowedIP != nil { - if allowedIP.Equal(tcpAddr.IP) { - return nil - } - } else { - _, ipNet, err := net.ParseCIDR(sourceAddr) - if err != nil { - return fmt.Errorf("ssh: error parsing source-address restriction %q: %v", sourceAddr, err) - } + for _, sourceAddr := range strings.Split(sourceAddrs, ",") { + if allowedIP := net.ParseIP(sourceAddr); allowedIP != nil { + if allowedIP.Equal(tcpAddr.IP) { + return nil + } + } else { + _, ipNet, err := net.ParseCIDR(sourceAddr) + if err != nil { + return fmt.Errorf("ssh: error parsing source-address restriction %q: %v", sourceAddr, err) + } - if ipNet.Contains(tcpAddr.IP) { - return nil + if ipNet.Contains(tcpAddr.IP) { + return nil + } } } diff --git a/vendor/golang.org/x/crypto/ssh/transport.go b/vendor/golang.org/x/crypto/ssh/transport.go index fd199324dd..e9c3baf83d 100644 --- a/vendor/golang.org/x/crypto/ssh/transport.go +++ b/vendor/golang.org/x/crypto/ssh/transport.go @@ -8,8 +8,13 @@ import ( "bufio" "errors" "io" + "log" ) +// debugTransport if set, will print packet types as they go over the +// wire. No message decoding is done, to minimize the impact on timing. +const debugTransport = false + const ( gcmCipherID = "aes128-gcm@openssh.com" aes128cbcID = "aes128-cbc" @@ -40,7 +45,7 @@ type transport struct { bufReader *bufio.Reader bufWriter *bufio.Writer rand io.Reader - + isClient bool io.Closer } @@ -86,6 +91,22 @@ func (t *transport) prepareKeyChange(algs *algorithms, kexResult *kexResult) err return nil } +func (t *transport) printPacket(p []byte, write bool) { + if len(p) == 0 { + return + } + who := "server" + if t.isClient { + who = "client" + } + what := "read" + if write { + what = "write" + } + + log.Println(what, who, p[0]) +} + // Read and decrypt next packet. func (t *transport) readPacket() (p []byte, err error) { for { @@ -97,6 +118,9 @@ func (t *transport) readPacket() (p []byte, err error) { break } } + if debugTransport { + t.printPacket(p, false) + } return p, err } @@ -141,6 +165,9 @@ func (s *connectionState) readPacket(r *bufio.Reader) ([]byte, error) { } func (t *transport) writePacket(packet []byte) error { + if debugTransport { + t.printPacket(packet, true) + } return t.writer.writePacket(t.bufWriter, t.rand, packet) } @@ -181,6 +208,8 @@ func newTransport(rwc io.ReadWriteCloser, rand io.Reader, isClient bool) *transp }, Closer: rwc, } + t.isClient = isClient + if isClient { t.reader.dir = serverKeys t.writer.dir = clientKeys diff --git a/vendor/golang.org/x/net/context/context.go b/vendor/golang.org/x/net/context/context.go index 134654cf7e..f143ed6a1e 100644 --- a/vendor/golang.org/x/net/context/context.go +++ b/vendor/golang.org/x/net/context/context.go @@ -7,7 +7,7 @@ // and between processes. // // Incoming requests to a server should create a Context, and outgoing calls to -// servers should accept a Context. The chain of function calls between must +// servers should accept a Context. The chain of function calls between must // propagate the Context, optionally replacing it with a modified copy created // using WithDeadline, WithTimeout, WithCancel, or WithValue. // @@ -16,14 +16,14 @@ // propagation: // // Do not store Contexts inside a struct type; instead, pass a Context -// explicitly to each function that needs it. The Context should be the first +// explicitly to each function that needs it. The Context should be the first // parameter, typically named ctx: // // func DoSomething(ctx context.Context, arg Arg) error { // // ... use ctx ... // } // -// Do not pass a nil Context, even if a function permits it. Pass context.TODO +// Do not pass a nil Context, even if a function permits it. Pass context.TODO // if you are unsure about which Context to use. // // Use context Values only for request-scoped data that transits processes and @@ -44,13 +44,13 @@ import "time" // Context's methods may be called by multiple goroutines simultaneously. type Context interface { // Deadline returns the time when work done on behalf of this context - // should be canceled. Deadline returns ok==false when no deadline is - // set. Successive calls to Deadline return the same results. + // should be canceled. Deadline returns ok==false when no deadline is + // set. Successive calls to Deadline return the same results. Deadline() (deadline time.Time, ok bool) // Done returns a channel that's closed when work done on behalf of this - // context should be canceled. Done may return nil if this context can - // never be canceled. Successive calls to Done return the same value. + // context should be canceled. Done may return nil if this context can + // never be canceled. Successive calls to Done return the same value. // // WithCancel arranges for Done to be closed when cancel is called; // WithDeadline arranges for Done to be closed when the deadline @@ -79,24 +79,24 @@ type Context interface { // a Done channel for cancelation. Done() <-chan struct{} - // Err returns a non-nil error value after Done is closed. Err returns + // Err returns a non-nil error value after Done is closed. Err returns // Canceled if the context was canceled or DeadlineExceeded if the - // context's deadline passed. No other values for Err are defined. + // context's deadline passed. No other values for Err are defined. // After Done is closed, successive calls to Err return the same value. Err() error // Value returns the value associated with this context for key, or nil - // if no value is associated with key. Successive calls to Value with + // if no value is associated with key. Successive calls to Value with // the same key returns the same result. // // Use context values only for request-scoped data that transits // processes and API boundaries, not for passing optional parameters to // functions. // - // A key identifies a specific value in a Context. Functions that wish + // A key identifies a specific value in a Context. Functions that wish // to store values in Context typically allocate a key in a global // variable then use that key as the argument to context.WithValue and - // Context.Value. A key can be any type that supports equality; + // Context.Value. A key can be any type that supports equality; // packages should define keys as an unexported type to avoid // collisions. // @@ -115,7 +115,7 @@ type Context interface { // // This prevents collisions with keys defined in other packages. // type key int // - // // userKey is the key for user.User values in Contexts. It is + // // userKey is the key for user.User values in Contexts. It is // // unexported; clients use user.NewContext and user.FromContext // // instead of using this key directly. // var userKey key = 0 @@ -134,14 +134,14 @@ type Context interface { } // Background returns a non-nil, empty Context. It is never canceled, has no -// values, and has no deadline. It is typically used by the main function, +// values, and has no deadline. It is typically used by the main function, // initialization, and tests, and as the top-level Context for incoming // requests. func Background() Context { return background } -// TODO returns a non-nil, empty Context. Code should use context.TODO when +// TODO returns a non-nil, empty Context. Code should use context.TODO when // it's unclear which Context to use or it is not yet available (because the // surrounding function has not yet been extended to accept a Context // parameter). TODO is recognized by static analysis tools that determine diff --git a/vendor/golang.org/x/net/context/go17.go b/vendor/golang.org/x/net/context/go17.go index f8cda19ada..d20f52b7de 100644 --- a/vendor/golang.org/x/net/context/go17.go +++ b/vendor/golang.org/x/net/context/go17.go @@ -35,8 +35,8 @@ func WithCancel(parent Context) (ctx Context, cancel CancelFunc) { } // WithDeadline returns a copy of the parent context with the deadline adjusted -// to be no later than d. If the parent's deadline is already earlier than d, -// WithDeadline(parent, d) is semantically equivalent to parent. The returned +// to be no later than d. If the parent's deadline is already earlier than d, +// WithDeadline(parent, d) is semantically equivalent to parent. The returned // context's Done channel is closed when the deadline expires, when the returned // cancel function is called, or when the parent context's Done channel is // closed, whichever happens first. diff --git a/vendor/golang.org/x/net/context/pre_go17.go b/vendor/golang.org/x/net/context/pre_go17.go index 5a30acabd0..0f35592df5 100644 --- a/vendor/golang.org/x/net/context/pre_go17.go +++ b/vendor/golang.org/x/net/context/pre_go17.go @@ -13,7 +13,7 @@ import ( "time" ) -// An emptyCtx is never canceled, has no values, and has no deadline. It is not +// An emptyCtx is never canceled, has no values, and has no deadline. It is not // struct{}, since vars of this type must have distinct addresses. type emptyCtx int @@ -104,7 +104,7 @@ func propagateCancel(parent Context, child canceler) { } // parentCancelCtx follows a chain of parent references until it finds a -// *cancelCtx. This function understands how each of the concrete types in this +// *cancelCtx. This function understands how each of the concrete types in this // package represents its parent. func parentCancelCtx(parent Context) (*cancelCtx, bool) { for { @@ -134,14 +134,14 @@ func removeChild(parent Context, child canceler) { p.mu.Unlock() } -// A canceler is a context type that can be canceled directly. The +// A canceler is a context type that can be canceled directly. The // implementations are *cancelCtx and *timerCtx. type canceler interface { cancel(removeFromParent bool, err error) Done() <-chan struct{} } -// A cancelCtx can be canceled. When canceled, it also cancels any children +// A cancelCtx can be canceled. When canceled, it also cancels any children // that implement canceler. type cancelCtx struct { Context @@ -193,8 +193,8 @@ func (c *cancelCtx) cancel(removeFromParent bool, err error) { } // WithDeadline returns a copy of the parent context with the deadline adjusted -// to be no later than d. If the parent's deadline is already earlier than d, -// WithDeadline(parent, d) is semantically equivalent to parent. The returned +// to be no later than d. If the parent's deadline is already earlier than d, +// WithDeadline(parent, d) is semantically equivalent to parent. The returned // context's Done channel is closed when the deadline expires, when the returned // cancel function is called, or when the parent context's Done channel is // closed, whichever happens first. @@ -226,8 +226,8 @@ func WithDeadline(parent Context, deadline time.Time) (Context, CancelFunc) { return c, func() { c.cancel(true, Canceled) } } -// A timerCtx carries a timer and a deadline. It embeds a cancelCtx to -// implement Done and Err. It implements cancel by stopping its timer then +// A timerCtx carries a timer and a deadline. It embeds a cancelCtx to +// implement Done and Err. It implements cancel by stopping its timer then // delegating to cancelCtx.cancel. type timerCtx struct { *cancelCtx @@ -281,7 +281,7 @@ func WithValue(parent Context, key interface{}, val interface{}) Context { return &valueCtx{parent, key, val} } -// A valueCtx carries a key-value pair. It implements Value for that key and +// A valueCtx carries a key-value pair. It implements Value for that key and // delegates all other calls to the embedded Context. type valueCtx struct { Context diff --git a/vendor/golang.org/x/net/http2/client_conn_pool.go b/vendor/golang.org/x/net/http2/client_conn_pool.go index b13941258a..bdf5652b01 100644 --- a/vendor/golang.org/x/net/http2/client_conn_pool.go +++ b/vendor/golang.org/x/net/http2/client_conn_pool.go @@ -247,7 +247,7 @@ func filterOutClientConn(in []*ClientConn, exclude *ClientConn) []*ClientConn { } // noDialClientConnPool is an implementation of http2.ClientConnPool -// which never dials. We let the HTTP/1.1 client dial and use its TLS +// which never dials. We let the HTTP/1.1 client dial and use its TLS // connection instead. type noDialClientConnPool struct{ *clientConnPool } diff --git a/vendor/golang.org/x/net/http2/frame.go b/vendor/golang.org/x/net/http2/frame.go index 358833fedf..957358837c 100644 --- a/vendor/golang.org/x/net/http2/frame.go +++ b/vendor/golang.org/x/net/http2/frame.go @@ -312,7 +312,7 @@ type Framer struct { MaxHeaderListSize uint32 // TODO: track which type of frame & with which flags was sent - // last. Then return an error (unless AllowIllegalWrites) if + // last. Then return an error (unless AllowIllegalWrites) if // we're in the middle of a header block and a // non-Continuation or Continuation on a different stream is // attempted to be written. @@ -600,6 +600,7 @@ var ( errStreamID = errors.New("invalid stream ID") errDepStreamID = errors.New("invalid dependent stream ID") errPadLength = errors.New("pad length too large") + errPadBytes = errors.New("padding bytes must all be zeros unless AllowIllegalWrites is enabled") ) func validStreamIDOrZero(streamID uint32) bool { @@ -623,6 +624,7 @@ func (f *Framer) WriteData(streamID uint32, endStream bool, data []byte) error { // // If pad is nil, the padding bit is not sent. // The length of pad must not exceed 255 bytes. +// The bytes of pad must all be zero, unless f.AllowIllegalWrites is set. // // It will perform exactly one Write to the underlying Writer. // It is the caller's responsibility not to violate the maximum frame size @@ -631,8 +633,18 @@ func (f *Framer) WriteDataPadded(streamID uint32, endStream bool, data, pad []by if !validStreamID(streamID) && !f.AllowIllegalWrites { return errStreamID } - if len(pad) > 255 { - return errPadLength + if len(pad) > 0 { + if len(pad) > 255 { + return errPadLength + } + if !f.AllowIllegalWrites { + for _, b := range pad { + if b != 0 { + // "Padding octets MUST be set to zero when sending." + return errPadBytes + } + } + } } var flags Flags if endStream { @@ -663,7 +675,7 @@ type SettingsFrame struct { func parseSettingsFrame(fh FrameHeader, p []byte) (Frame, error) { if fh.Flags.Has(FlagSettingsAck) && fh.Length > 0 { // When this (ACK 0x1) bit is set, the payload of the - // SETTINGS frame MUST be empty. Receipt of a + // SETTINGS frame MUST be empty. Receipt of a // SETTINGS frame with the ACK flag set and a length // field value other than 0 MUST be treated as a // connection error (Section 5.4.1) of type @@ -672,7 +684,7 @@ func parseSettingsFrame(fh FrameHeader, p []byte) (Frame, error) { } if fh.StreamID != 0 { // SETTINGS frames always apply to a connection, - // never a single stream. The stream identifier for a + // never a single stream. The stream identifier for a // SETTINGS frame MUST be zero (0x0). If an endpoint // receives a SETTINGS frame whose stream identifier // field is anything other than 0x0, the endpoint MUST @@ -923,7 +935,7 @@ func parseHeadersFrame(fh FrameHeader, p []byte) (_ Frame, err error) { FrameHeader: fh, } if fh.StreamID == 0 { - // HEADERS frames MUST be associated with a stream. If a HEADERS frame + // HEADERS frames MUST be associated with a stream. If a HEADERS frame // is received whose stream identifier field is 0x0, the recipient MUST // respond with a connection error (Section 5.4.1) of type // PROTOCOL_ERROR. @@ -1045,7 +1057,7 @@ type PriorityParam struct { Exclusive bool // Weight is the stream's zero-indexed weight. It should be - // set together with StreamDep, or neither should be set. Per + // set together with StreamDep, or neither should be set. Per // the spec, "Add one to the value to obtain a weight between // 1 and 256." Weight uint8 diff --git a/vendor/golang.org/x/net/http2/hpack/encode.go b/vendor/golang.org/x/net/http2/hpack/encode.go index f9bb033984..6b3b9f8b4f 100644 --- a/vendor/golang.org/x/net/http2/hpack/encode.go +++ b/vendor/golang.org/x/net/http2/hpack/encode.go @@ -45,7 +45,7 @@ func NewEncoder(w io.Writer) *Encoder { // WriteField encodes f into a single Write to e's underlying Writer. // This function may also produce bytes for "Header Table Size Update" -// if necessary. If produced, it is done before encoding f. +// if necessary. If produced, it is done before encoding f. func (e *Encoder) WriteField(f HeaderField) error { e.buf = e.buf[:0] diff --git a/vendor/golang.org/x/net/http2/hpack/hpack.go b/vendor/golang.org/x/net/http2/hpack/hpack.go index 135b9f62cd..007bc7f45f 100644 --- a/vendor/golang.org/x/net/http2/hpack/hpack.go +++ b/vendor/golang.org/x/net/http2/hpack/hpack.go @@ -61,7 +61,7 @@ func (hf HeaderField) String() string { func (hf HeaderField) Size() uint32 { // http://http2.github.io/http2-spec/compression.html#rfc.section.4.1 // "The size of the dynamic table is the sum of the size of - // its entries. The size of an entry is the sum of its name's + // its entries. The size of an entry is the sum of its name's // length in octets (as defined in Section 5.2), its value's // length in octets (see Section 5.2), plus 32. The size of // an entry is calculated using the length of the name and @@ -307,7 +307,7 @@ func (d *Decoder) Write(p []byte) (n int, err error) { err = d.parseHeaderFieldRepr() if err == errNeedMore { // Extra paranoia, making sure saveBuf won't - // get too large. All the varint and string + // get too large. All the varint and string // reading code earlier should already catch // overlong things and return ErrStringLength, // but keep this as a last resort. diff --git a/vendor/golang.org/x/net/http2/pipe.go b/vendor/golang.org/x/net/http2/pipe.go index 53b7a1daf6..914aaf8a7f 100644 --- a/vendor/golang.org/x/net/http2/pipe.go +++ b/vendor/golang.org/x/net/http2/pipe.go @@ -10,7 +10,7 @@ import ( "sync" ) -// pipe is a goroutine-safe io.Reader/io.Writer pair. It's like +// pipe is a goroutine-safe io.Reader/io.Writer pair. It's like // io.Pipe except there are no PipeReader/PipeWriter halves, and the // underlying buffer is an interface. (io.Pipe is always unbuffered) type pipe struct { diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go index 3c6b90ccd5..3c641a8c24 100644 --- a/vendor/golang.org/x/net/http2/server.go +++ b/vendor/golang.org/x/net/http2/server.go @@ -710,7 +710,7 @@ func (sc *serverConn) serve() { return } // Now that we've got the preface, get us out of the - // "StateNew" state. We can't go directly to idle, though. + // "StateNew" state. We can't go directly to idle, though. // Active means we read some data and anticipate a request. We'll // do another Active when we get a HEADERS frame. sc.setConnState(http.StateActive) @@ -2103,8 +2103,8 @@ func (b *requestBody) Read(p []byte) (n int, err error) { return } -// responseWriter is the http.ResponseWriter implementation. It's -// intentionally small (1 pointer wide) to minimize garbage. The +// responseWriter is the http.ResponseWriter implementation. It's +// intentionally small (1 pointer wide) to minimize garbage. The // responseWriterState pointer inside is zeroed at the end of a // request (in handlerDone) and calls on the responseWriter thereafter // simply crash (caller's mistake), but the much larger responseWriterState @@ -2278,7 +2278,7 @@ const TrailerPrefix = "Trailer:" // says you SHOULD (but not must) predeclare any trailers in the // header, the official ResponseWriter rules said trailers in Go must // be predeclared, and then we reuse the same ResponseWriter.Header() -// map to mean both Headers and Trailers. When it's time to write the +// map to mean both Headers and Trailers. When it's time to write the // Trailers, we pick out the fields of Headers that were declared as // trailers. That worked for a while, until we found the first major // user of Trailers in the wild: gRPC (using them only over http2), diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go index 0c7e859db1..fef8396867 100644 --- a/vendor/golang.org/x/net/http2/transport.go +++ b/vendor/golang.org/x/net/http2/transport.go @@ -575,7 +575,7 @@ func (cc *ClientConn) canTakeNewRequestLocked() bool { cc.nextStreamID < math.MaxInt32 } -// onIdleTimeout is called from a time.AfterFunc goroutine. It will +// onIdleTimeout is called from a time.AfterFunc goroutine. It will // only be called when we're idle, but because we're coming from a new // goroutine, there could be a new request coming in at the same time, // so this simply calls the synchronized closeIfIdle to shut down this @@ -809,8 +809,8 @@ func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) { // 2xx, however, then assume the server DOES potentially // want our body (e.g. full-duplex streaming: // golang.org/issue/13444). If it turns out the server - // doesn't, they'll RST_STREAM us soon enough. This is a - // heuristic to avoid adding knobs to Transport. Hopefully + // doesn't, they'll RST_STREAM us soon enough. This is a + // heuristic to avoid adding knobs to Transport. Hopefully // we can keep it. bodyWriter.cancel() cs.abortRequestBodyWrite(errStopReqBodyWrite) diff --git a/vendor/golang.org/x/net/internal/timeseries/timeseries.go b/vendor/golang.org/x/net/internal/timeseries/timeseries.go index 1119f34482..685f0e7ea2 100644 --- a/vendor/golang.org/x/net/internal/timeseries/timeseries.go +++ b/vendor/golang.org/x/net/internal/timeseries/timeseries.go @@ -371,7 +371,7 @@ func (ts *timeSeries) ComputeRange(start, finish time.Time, num int) []Observabl } } - // Failed to find a level that covers the desired range. So just + // Failed to find a level that covers the desired range. So just // extract from the last level, even if it doesn't cover the entire // desired range. ts.extract(ts.levels[len(ts.levels)-1], start, finish, num, results) diff --git a/vendor/google.golang.org/grpc/rpc_util.go b/vendor/google.golang.org/grpc/rpc_util.go index 2619d396d8..fa69d58cb9 100644 --- a/vendor/google.golang.org/grpc/rpc_util.go +++ b/vendor/google.golang.org/grpc/rpc_util.go @@ -486,17 +486,17 @@ type MethodConfig struct { // then the other will be used. If neither is set, then the RPC has no deadline. Timeout time.Duration // MaxReqSize is the maximum allowed payload size for an individual request in a - // stream (client->server) in bytes. The size which is measured is the serialized, - // uncompressed payload in bytes. The actual value used is the minumum of the value - // specified here and the value set by the application via the gRPC client API. If - // either one is not set, then the other will be used. If neither is set, then the - // built-in default is used. + // stream (client->server) in bytes. The size which is measured is the serialized + // payload after per-message compression (but before stream compression) in bytes. + // The actual value used is the minumum of the value specified here and the value set + // by the application via the gRPC client API. If either one is not set, then the other + // will be used. If neither is set, then the built-in default is used. // TODO: support this. - MaxReqSize uint64 + MaxReqSize uint32 // MaxRespSize is the maximum allowed payload size for an individual response in a // stream (server->client) in bytes. // TODO: support this. - MaxRespSize uint64 + MaxRespSize uint32 } // ServiceConfig is provided by the service provider and contains parameters for how diff --git a/vendor/vendor.json b/vendor/vendor.json index 4dc7c6fa56..20fb3a33f4 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -21,26 +21,26 @@ { "checksumSHA1": "ZLRh6zW4/DnVsGpgtt+ZiIaEFKc=", "path": "cloud.google.com/go/compute/metadata", - "revision": "2fad13a91cc5c2c321b67c95ca1e9ce123ebf5ac", - "revisionTime": "2017-01-26T23:44:27Z" + "revision": "3258e6905e9694db9bcd41910c65ecc30ae6dbbe", + "revisionTime": "2017-01-20T22:28:28Z" }, { "checksumSHA1": "4iounbuF7SMZdx/MlKSUuhnV848=", "path": "cloud.google.com/go/internal", - "revision": "2fad13a91cc5c2c321b67c95ca1e9ce123ebf5ac", - "revisionTime": "2017-01-26T23:44:27Z" + "revision": "3258e6905e9694db9bcd41910c65ecc30ae6dbbe", + "revisionTime": "2017-01-20T22:28:28Z" }, { "checksumSHA1": "W2xJ0+fvugRhRi1PMi64bYofBbU=", "path": "cloud.google.com/go/internal/optional", - "revision": "2fad13a91cc5c2c321b67c95ca1e9ce123ebf5ac", - "revisionTime": "2017-01-26T23:44:27Z" + "revision": "3258e6905e9694db9bcd41910c65ecc30ae6dbbe", + "revisionTime": "2017-01-20T22:28:28Z" }, { "checksumSHA1": "qBDDOQVU1mGqC4sbqo9AEtj5lRc=", "path": "cloud.google.com/go/storage", - "revision": "2fad13a91cc5c2c321b67c95ca1e9ce123ebf5ac", - "revisionTime": "2017-01-26T23:44:27Z" + "revision": "3258e6905e9694db9bcd41910c65ecc30ae6dbbe", + "revisionTime": "2017-01-20T22:28:28Z" }, { "checksumSHA1": "oLyqboCUn++vuun/CUmQqAGInTY=", @@ -115,196 +115,196 @@ "revisionTime": "2017-01-04T21:11:26Z" }, { - "checksumSHA1": "kcsjlfTPj8XeL81Eqan6FEOrFjg=", + "checksumSHA1": "CBkrMzvLXmGD/guNcRCzPHTO66c=", "path": "github.com/aws/aws-sdk-go/aws", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "Y9W+4GimK4Fuxq+vyIskVYFRnX4=", "path": "github.com/aws/aws-sdk-go/aws/awserr", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "yyYr41HZ1Aq0hWc3J5ijXwYEcac=", "path": "github.com/aws/aws-sdk-go/aws/awsutil", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "7cQU8tU9hBgsG23XZmko1GePqjQ=", "path": "github.com/aws/aws-sdk-go/aws/client", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "ieAJ+Cvp/PKv1LpUEnUXpc3OI6E=", "path": "github.com/aws/aws-sdk-go/aws/client/metadata", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "Fl8vRSCY0MbM04cmiz/0MID+goA=", "path": "github.com/aws/aws-sdk-go/aws/corehandlers", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "zu5C95rmCZff6NYZb62lEaT5ibE=", "path": "github.com/aws/aws-sdk-go/aws/credentials", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "u3GOAJLmdvbuNUeUEcZSEAOeL/0=", "path": "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "NUJUTWlc1sV8b7WjfiYc4JZbXl0=", "path": "github.com/aws/aws-sdk-go/aws/credentials/endpointcreds", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "4Ipx+5xN0gso+cENC2MHMWmQlR4=", "path": "github.com/aws/aws-sdk-go/aws/credentials/stscreds", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "lqh3fG7wCochvB4iHAZJuhhEJW0=", "path": "github.com/aws/aws-sdk-go/aws/defaults", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "/EXbk/z2TWjWc1Hvb4QYs3Wmhb8=", "path": "github.com/aws/aws-sdk-go/aws/ec2metadata", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "IOFLZi8jpN+LOQIvMgHqIDGxG50=", "path": "github.com/aws/aws-sdk-go/aws/endpoints", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "M78rTxU55Qagqr3MYj91im2031E=", "path": "github.com/aws/aws-sdk-go/aws/request", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "/qrYhYWKtQA7Rxthy4YP8EnfIn8=", "path": "github.com/aws/aws-sdk-go/aws/session", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "0FvPLvkBUpTElfUc/FZtPsJfuV0=", "path": "github.com/aws/aws-sdk-go/aws/signer/v4", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "wk7EyvDaHwb5qqoOP/4d3cV0708=", "path": "github.com/aws/aws-sdk-go/private/protocol", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "1QmQ3FqV37w0Zi44qv8pA1GeR0A=", "path": "github.com/aws/aws-sdk-go/private/protocol/ec2query", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "ZVReWkb98VVOWIl64qW9qwGcE7k=", "path": "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "R00RL5jJXRYq1iiK1+PGvMfvXyM=", "path": "github.com/aws/aws-sdk-go/private/protocol/jsonrpc", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "ZqY5RWavBLWTo6j9xqdyBEaNFRk=", "path": "github.com/aws/aws-sdk-go/private/protocol/query", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "hqTEmgtchF9SwVTW0IQId2eLUKM=", "path": "github.com/aws/aws-sdk-go/private/protocol/query/queryutil", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "szZSLm3BlYkL3vqlZhNAlYk8iwM=", "path": "github.com/aws/aws-sdk-go/private/protocol/rest", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "ODo+ko8D6unAxZuN1jGzMcN4QCc=", "path": "github.com/aws/aws-sdk-go/private/protocol/restxml", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "lZ1z4xAbT8euCzKoAsnEYic60VE=", "path": "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "Eo9yODN5U99BK0pMzoqnBm7PCrY=", "path": "github.com/aws/aws-sdk-go/private/waiter", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { - "checksumSHA1": "dazzJPyvMaO0oAgP5NhKZ6I9qpE=", + "checksumSHA1": "nz8TKu6v2dXW8kvHln2VguNmUuw=", "path": "github.com/aws/aws-sdk-go/service/dynamodb", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "JO4oie1uPoST8lsP4iWbHlOkVZc=", "path": "github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { - "checksumSHA1": "DWhbR96d4Vl80WSAfbausUEs6Cc=", + "checksumSHA1": "uCGLl0X4oRuWBAeM59aTVI/gELs=", "path": "github.com/aws/aws-sdk-go/service/ec2", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { - "checksumSHA1": "yaGpMDf20gnzeb87kNOraNMkOAM=", + "checksumSHA1": "vtaKEwBXDiWg000PcDBPbnOZEoY=", "path": "github.com/aws/aws-sdk-go/service/iam", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { - "checksumSHA1": "yeut1ZgvmDnjhSDTen7oKOtrfos=", + "checksumSHA1": "hh8Fw0ACTEA5ihWGYyw/jUdllFY=", "path": "github.com/aws/aws-sdk-go/service/s3", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { - "checksumSHA1": "mTYnOiyBDqdeG6pBQi8FRbHO7Qg=", + "checksumSHA1": "Knj17ZMPWkGYTm2hZxEgnuboMM4=", "path": "github.com/aws/aws-sdk-go/service/sts", - "revision": "5f8c77604d405643d9bd8440d47b57bc40748824", - "revisionTime": "2017-01-26T00:38:53Z" + "revision": "7524cb911daddd6e5c9195def8e59ae892bef8d9", + "revisionTime": "2017-01-31T21:21:33Z" }, { "checksumSHA1": "spyv5/YFBjYyZLZa1U2LBfDR8PM=", @@ -319,28 +319,28 @@ "revisionTime": "2016-10-13T10:26:35Z" }, { - "checksumSHA1": "rZUZrr2N4vQHKqCX5jWXBrm/3og=", + "checksumSHA1": "R8vLE6DoLZoRjKz+KkdqVvRPmDY=", "path": "github.com/circonus-labs/circonus-gometrics", - "revision": "c7840b7d09bc8f986650284f0f4b000e371c90a5", - "revisionTime": "2017-01-25T12:49:21Z" + "revision": "fb2909576d0526b70e3efa0ef10737b92f57f15a", + "revisionTime": "2017-02-01T21:08:33Z" }, { - "checksumSHA1": "CpBTgaOJynaHwSrXLKvWWjCB5Kg=", + "checksumSHA1": "oEXgJ7z0zYOadJ43C08mpFU2Oe0=", "path": "github.com/circonus-labs/circonus-gometrics/api", - "revision": "c7840b7d09bc8f986650284f0f4b000e371c90a5", - "revisionTime": "2017-01-25T12:49:21Z" + "revision": "fb2909576d0526b70e3efa0ef10737b92f57f15a", + "revisionTime": "2017-02-01T21:08:33Z" }, { "checksumSHA1": "bQhz/fcyZPmuHSH2qwC4ZtATy5c=", "path": "github.com/circonus-labs/circonus-gometrics/api/config", - "revision": "c7840b7d09bc8f986650284f0f4b000e371c90a5", - "revisionTime": "2017-01-25T12:49:21Z" + "revision": "fb2909576d0526b70e3efa0ef10737b92f57f15a", + "revisionTime": "2017-02-01T21:08:33Z" }, { - "checksumSHA1": "LId+Fpn/UArSKGvWhutmj19GuJk=", + "checksumSHA1": "6hvd+YFb1eWFkc3pVcnOPPa2OVw=", "path": "github.com/circonus-labs/circonus-gometrics/checkmgr", - "revision": "c7840b7d09bc8f986650284f0f4b000e371c90a5", - "revisionTime": "2017-01-25T12:49:21Z" + "revision": "fb2909576d0526b70e3efa0ef10737b92f57f15a", + "revisionTime": "2017-02-01T21:08:33Z" }, { "checksumSHA1": "VbfeVqeOM+dTNxCmpvmYS0LwQn0=", @@ -351,80 +351,80 @@ { "checksumSHA1": "7uspQtEpYuBxaxrBTcxa+ZfiuJo=", "path": "github.com/coreos/etcd/auth/authpb", - "revision": "75ae50a90ff7772d9a5d96ba1b3fa0019829ea39", - "revisionTime": "2017-01-27T01:04:21Z" + "revision": "56c706ff916fc9706826901276601d0ecd7684b4", + "revisionTime": "2017-02-02T17:53:09Z" }, { "checksumSHA1": "Zgqp9pp3G4cSZbepa6tzhNeHZOI=", "path": "github.com/coreos/etcd/client", - "revision": "75ae50a90ff7772d9a5d96ba1b3fa0019829ea39", - "revisionTime": "2017-01-27T01:04:21Z" + "revision": "56c706ff916fc9706826901276601d0ecd7684b4", + "revisionTime": "2017-02-02T17:53:09Z" }, { "checksumSHA1": "y6G5Pu2aqxa7KpvtWrzAXm8lMfI=", "path": "github.com/coreos/etcd/clientv3", - "revision": "75ae50a90ff7772d9a5d96ba1b3fa0019829ea39", - "revisionTime": "2017-01-27T01:04:21Z" + "revision": "56c706ff916fc9706826901276601d0ecd7684b4", + "revisionTime": "2017-02-02T17:53:09Z" }, { - "checksumSHA1": "VYHV9hcyZ0J8sUJyiD1xlddWTxA=", + "checksumSHA1": "tHT9JXi1O4YtDEJJTPMDwtyf8lQ=", "path": "github.com/coreos/etcd/clientv3/concurrency", - "revision": "75ae50a90ff7772d9a5d96ba1b3fa0019829ea39", - "revisionTime": "2017-01-27T01:04:21Z" + "revision": "56c706ff916fc9706826901276601d0ecd7684b4", + "revisionTime": "2017-02-02T17:53:09Z" }, { "checksumSHA1": "lY/Ca8yCqHV9cv0BQU88br59VeI=", "path": "github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes", - "revision": "75ae50a90ff7772d9a5d96ba1b3fa0019829ea39", - "revisionTime": "2017-01-27T01:04:21Z" + "revision": "56c706ff916fc9706826901276601d0ecd7684b4", + "revisionTime": "2017-02-02T17:53:09Z" }, { "checksumSHA1": "KtZXQeJEDvaMXiqxG1DKUw+BdJ8=", "path": "github.com/coreos/etcd/etcdserver/etcdserverpb", - "revision": "75ae50a90ff7772d9a5d96ba1b3fa0019829ea39", - "revisionTime": "2017-01-27T01:04:21Z" + "revision": "56c706ff916fc9706826901276601d0ecd7684b4", + "revisionTime": "2017-02-02T17:53:09Z" }, { "checksumSHA1": "PAnQN6F8iZuIfu9HHOORyVFaaOA=", "path": "github.com/coreos/etcd/mvcc/mvccpb", - "revision": "75ae50a90ff7772d9a5d96ba1b3fa0019829ea39", - "revisionTime": "2017-01-27T01:04:21Z" + "revision": "56c706ff916fc9706826901276601d0ecd7684b4", + "revisionTime": "2017-02-02T17:53:09Z" }, { "checksumSHA1": "ga3jt9r+dQBMSXG0gnpNcXp2xYA=", "path": "github.com/coreos/etcd/pkg/fileutil", - "revision": "75ae50a90ff7772d9a5d96ba1b3fa0019829ea39", - "revisionTime": "2017-01-27T01:04:21Z" + "revision": "56c706ff916fc9706826901276601d0ecd7684b4", + "revisionTime": "2017-02-02T17:53:09Z" }, { "checksumSHA1": "mKIXx1kDwmVmdIpZ3pJtRBuUKso=", "path": "github.com/coreos/etcd/pkg/pathutil", - "revision": "75ae50a90ff7772d9a5d96ba1b3fa0019829ea39", - "revisionTime": "2017-01-27T01:04:21Z" + "revision": "56c706ff916fc9706826901276601d0ecd7684b4", + "revisionTime": "2017-02-02T17:53:09Z" }, { "checksumSHA1": "rMyIh9PsSvPs6Yd+YgKITQzQJx8=", "path": "github.com/coreos/etcd/pkg/tlsutil", - "revision": "75ae50a90ff7772d9a5d96ba1b3fa0019829ea39", - "revisionTime": "2017-01-27T01:04:21Z" + "revision": "56c706ff916fc9706826901276601d0ecd7684b4", + "revisionTime": "2017-02-02T17:53:09Z" }, { "checksumSHA1": "HBfN6B8eoiy/zsUr74DaRkcyFmg=", "path": "github.com/coreos/etcd/pkg/transport", - "revision": "75ae50a90ff7772d9a5d96ba1b3fa0019829ea39", - "revisionTime": "2017-01-27T01:04:21Z" + "revision": "56c706ff916fc9706826901276601d0ecd7684b4", + "revisionTime": "2017-02-02T17:53:09Z" }, { "checksumSHA1": "gx1gJIMU6T0UNQ0bPZ/drQ8cpCI=", "path": "github.com/coreos/etcd/pkg/types", - "revision": "75ae50a90ff7772d9a5d96ba1b3fa0019829ea39", - "revisionTime": "2017-01-27T01:04:21Z" + "revision": "56c706ff916fc9706826901276601d0ecd7684b4", + "revisionTime": "2017-02-02T17:53:09Z" }, { "checksumSHA1": "sp2FkEyaIGiQFOEZCTDkBZgyHOs=", "path": "github.com/coreos/etcd/version", - "revision": "75ae50a90ff7772d9a5d96ba1b3fa0019829ea39", - "revisionTime": "2017-01-27T01:04:21Z" + "revision": "56c706ff916fc9706826901276601d0ecd7684b4", + "revisionTime": "2017-02-02T17:53:09Z" }, { "checksumSHA1": "butr+Orbf1fd1hcLqNXYwUDAjcI=", @@ -435,8 +435,8 @@ { "checksumSHA1": "d50/+u/LFlXvEV10HiEoXB9OsGg=", "path": "github.com/coreos/go-systemd/journal", - "revision": "7f737a6bd38784c73b5bf5cd54d9b1d23295e3a0", - "revisionTime": "2017-01-13T10:31:45Z" + "revision": "e97b35f834b17eaa82afe3d44715c34736bfa12b", + "revisionTime": "2017-02-01T10:47:36Z" }, { "checksumSHA1": "wqEybhAfMhCq2uOu4bT737mqu6U=", @@ -493,10 +493,10 @@ "revisionTime": "2017-01-23T09:11:46Z" }, { - "checksumSHA1": "NJeFAnjnXVx102AUi4U30kOcm7w=", + "checksumSHA1": "ezktpcI0As/fZ0rN7BnBNtUfIsQ=", "path": "github.com/go-ldap/ldap", - "revision": "61e5b9137f8e22cc191b23d94fd95ae9833aa4d5", - "revisionTime": "2016-12-22T14:10:51Z" + "revision": "931bf64d9da4d3d241757d12f1f1420b8605f6fa", + "revisionTime": "2017-02-02T15:09:24Z" }, { "checksumSHA1": "QD6LqgLz2JMxXqns8TaxtK9AuHs=", @@ -547,10 +547,10 @@ "revisionTime": "2017-01-19T01:47:23Z" }, { - "checksumSHA1": "Um9voOUNeH3a1TILYjYRznmnUkE=", + "checksumSHA1": "FOxeg37aPc/WGqNu6V3mftTmma0=", "path": "github.com/google/go-github/github", - "revision": "c9c37fd6ce0247943d1aa34fc3813c62c5cb0225", - "revisionTime": "2017-01-19T07:22:36Z" + "revision": "59aa6eea1c58ba063a0c3b90a16499cb39e6332a", + "revisionTime": "2017-02-02T16:55:40Z" }, { "checksumSHA1": "p3IB18uJRs4dL2K5yx24MrLYE9A=", @@ -573,20 +573,20 @@ { "checksumSHA1": "CGKObIoG0JzwczJ9vOFtG0F93Nc=", "path": "github.com/grpc-ecosystem/grpc-gateway/runtime", - "revision": "cfee3c5f91d8b8b54b216781e246443bb73b1a8e", - "revisionTime": "2017-01-25T18:34:50Z" + "revision": "686368427ddb9a51628d63db6c74fbc96a206e1f", + "revisionTime": "2017-01-27T20:12:19Z" }, { "checksumSHA1": "x396LPNfci/5x8aVJbliQHH11HQ=", "path": "github.com/grpc-ecosystem/grpc-gateway/runtime/internal", - "revision": "cfee3c5f91d8b8b54b216781e246443bb73b1a8e", - "revisionTime": "2017-01-25T18:34:50Z" + "revision": "686368427ddb9a51628d63db6c74fbc96a206e1f", + "revisionTime": "2017-01-27T20:12:19Z" }, { "checksumSHA1": "vqiK5r5dntV7JNZ+ZsGlD0Samos=", "path": "github.com/grpc-ecosystem/grpc-gateway/utilities", - "revision": "cfee3c5f91d8b8b54b216781e246443bb73b1a8e", - "revisionTime": "2017-01-25T18:34:50Z" + "revision": "686368427ddb9a51628d63db6c74fbc96a206e1f", + "revisionTime": "2017-01-27T20:12:19Z" }, { "checksumSHA1": "O0r0hj4YL+jSRNjnshkeH4GY+4s=", @@ -597,14 +597,14 @@ { "checksumSHA1": "ygEjA1d52B1RDmZu8+1WTwkrYDQ=", "path": "github.com/hashicorp/consul/api", - "revision": "1ca6c9bff33e93c18ac960be32ee84af03e602d1", - "revisionTime": "2017-01-26T23:38:03Z" + "revision": "01588efc2aece3346e34d4b15e7bab614092d60d", + "revisionTime": "2017-02-02T17:19:54Z" }, { "checksumSHA1": "HDRi8BjyCm/zCYGA8l/40GMuWN8=", "path": "github.com/hashicorp/consul/lib", - "revision": "1ca6c9bff33e93c18ac960be32ee84af03e602d1", - "revisionTime": "2017-01-26T23:38:03Z" + "revision": "01588efc2aece3346e34d4b15e7bab614092d60d", + "revisionTime": "2017-02-02T17:19:54Z" }, { "checksumSHA1": "cdOCt0Yb+hdErz8NAQqayxPmRsY=", @@ -669,56 +669,56 @@ { "checksumSHA1": "Ok3Csn6Voou7pQT6Dv2mkwpqFtw=", "path": "github.com/hashicorp/hcl", - "revision": "db4f0768927a665a06c32855186e1bc762bcc8f5", - "revisionTime": "2017-01-25T01:06:35Z" + "revision": "372e8ddaa16fd67e371e9323807d056b799360af", + "revisionTime": "2017-02-02T00:05:34Z" }, { "checksumSHA1": "XQmjDva9JCGGkIecOgwtBEMCJhU=", "path": "github.com/hashicorp/hcl/hcl/ast", - "revision": "db4f0768927a665a06c32855186e1bc762bcc8f5", - "revisionTime": "2017-01-25T01:06:35Z" + "revision": "372e8ddaa16fd67e371e9323807d056b799360af", + "revisionTime": "2017-02-02T00:05:34Z" }, { - "checksumSHA1": "MPz4qnNmoYHHUXDhHj0TpJk4LHk=", + "checksumSHA1": "MGYzZActhzSs9AnCx3wrEYVbKFg=", "path": "github.com/hashicorp/hcl/hcl/parser", - "revision": "db4f0768927a665a06c32855186e1bc762bcc8f5", - "revisionTime": "2017-01-25T01:06:35Z" + "revision": "372e8ddaa16fd67e371e9323807d056b799360af", + "revisionTime": "2017-02-02T00:05:34Z" }, { "checksumSHA1": "z6wdP4mRw4GVjShkNHDaOWkbxS0=", "path": "github.com/hashicorp/hcl/hcl/scanner", - "revision": "db4f0768927a665a06c32855186e1bc762bcc8f5", - "revisionTime": "2017-01-25T01:06:35Z" + "revision": "372e8ddaa16fd67e371e9323807d056b799360af", + "revisionTime": "2017-02-02T00:05:34Z" }, { "checksumSHA1": "oS3SCN9Wd6D8/LG0Yx1fu84a7gI=", "path": "github.com/hashicorp/hcl/hcl/strconv", - "revision": "db4f0768927a665a06c32855186e1bc762bcc8f5", - "revisionTime": "2017-01-25T01:06:35Z" + "revision": "372e8ddaa16fd67e371e9323807d056b799360af", + "revisionTime": "2017-02-02T00:05:34Z" }, { "checksumSHA1": "c6yprzj06ASwCo18TtbbNNBHljA=", "path": "github.com/hashicorp/hcl/hcl/token", - "revision": "db4f0768927a665a06c32855186e1bc762bcc8f5", - "revisionTime": "2017-01-25T01:06:35Z" + "revision": "372e8ddaa16fd67e371e9323807d056b799360af", + "revisionTime": "2017-02-02T00:05:34Z" }, { "checksumSHA1": "138aCV5n8n7tkGYMsMVQQnnLq+0=", "path": "github.com/hashicorp/hcl/json/parser", - "revision": "db4f0768927a665a06c32855186e1bc762bcc8f5", - "revisionTime": "2017-01-25T01:06:35Z" + "revision": "372e8ddaa16fd67e371e9323807d056b799360af", + "revisionTime": "2017-02-02T00:05:34Z" }, { "checksumSHA1": "YdvFsNOMSWMLnY6fcliWQa0O5Fw=", "path": "github.com/hashicorp/hcl/json/scanner", - "revision": "db4f0768927a665a06c32855186e1bc762bcc8f5", - "revisionTime": "2017-01-25T01:06:35Z" + "revision": "372e8ddaa16fd67e371e9323807d056b799360af", + "revisionTime": "2017-02-02T00:05:34Z" }, { "checksumSHA1": "fNlXQCQEnb+B3k5UDL/r15xtSJY=", "path": "github.com/hashicorp/hcl/json/token", - "revision": "db4f0768927a665a06c32855186e1bc762bcc8f5", - "revisionTime": "2017-01-25T01:06:35Z" + "revision": "372e8ddaa16fd67e371e9323807d056b799360af", + "revisionTime": "2017-02-02T00:05:34Z" }, { "checksumSHA1": "qnlqWJYV81ENr61SZk9c65R1mDo=", @@ -741,8 +741,8 @@ { "checksumSHA1": "E3Xcanc9ouQwL+CZGOUyA/+giLg=", "path": "github.com/hashicorp/serf/coordinate", - "revision": "d3a67ab21bc8a4643fa53a3633f2d951dd50c6ca", - "revisionTime": "2016-12-07T01:17:43Z" + "revision": "34e94dbd8faa991710b442c22ad6ad37c8b44c3b", + "revisionTime": "2017-02-02T01:56:25Z" }, { "checksumSHA1": "ZhK6IO2XN81Y+3RAjTcVm1Ic7oU=", @@ -817,16 +817,16 @@ "revisionTime": "2016-12-08T01:54:25Z" }, { - "checksumSHA1": "tvimR1R9mxvCDSUxlnKgIXjJBus=", + "checksumSHA1": "dm3g5P1ezW+aOMZgOkJ//57zRxA=", "path": "github.com/lib/pq", - "revision": "67c3f2a8884c9b1aac5503c8d42ae4f73a93511c", - "revisionTime": "2017-01-17T20:56:33Z" + "revision": "a6657b2386e9b8be76484c08711b02c7cf867ead", + "revisionTime": "2017-02-01T01:15:56Z" }, { "checksumSHA1": "xppHi82MLqVx1eyQmbhTesAEjx8=", "path": "github.com/lib/pq/oid", - "revision": "67c3f2a8884c9b1aac5503c8d42ae4f73a93511c", - "revisionTime": "2017-01-17T20:56:33Z" + "revision": "a6657b2386e9b8be76484c08711b02c7cf867ead", + "revisionTime": "2017-02-01T01:15:56Z" }, { "checksumSHA1": "I4njd26dG5hxFT2nawuByM4pxzY=", @@ -859,16 +859,16 @@ "revisionTime": "2016-10-27T14:08:23Z" }, { - "checksumSHA1": "Of2wB6l121oKU3vdvoW/oCof/Kk=", + "checksumSHA1": "aEQOJ5PDOybetOpUvOo7HqicJ1s=", "path": "github.com/michaelklishin/rabbit-hole", - "revision": "dce1682389d64fe896a5bfa393859f6a1357f14b", - "revisionTime": "2017-01-03T20:02:21Z" + "revision": "6e6fd8776f56a98f5b3b22085e2d5745d2195aeb", + "revisionTime": "2017-02-02T07:45:48Z" }, { - "checksumSHA1": "uS0nPPynAbOV8XdNot9Fftz2JDo=", + "checksumSHA1": "6zsRRzJoi5zxQMp6iV/2EraRxPA=", "path": "github.com/mitchellh/cli", - "revision": "fa17b36f6c61f1ddbbb08c9f6fde94b3c065a09d", - "revisionTime": "2016-10-29T23:27:12Z" + "revision": "16bda1254c1d199d9f10a4b90060eda75221a006", + "revisionTime": "2017-02-01T16:57:07Z" }, { "checksumSHA1": "kSmDazz+cokgcHQT7q56Na+IBe0=", @@ -943,10 +943,10 @@ "revisionTime": "2017-01-08T23:12:12Z" }, { - "checksumSHA1": "L+p4t3KrLDAKJnrreOz2BZIt9Mg=", + "checksumSHA1": "usUy/UxFXpMusOWgLNDNp4+s/ks=", "path": "github.com/prometheus/procfs", - "revision": "fcdb11ccb4389efb1b210b7ffb623ab71c5fdd60", - "revisionTime": "2016-12-06T22:21:41Z" + "revision": "1878d9fbb537119d24b21ca07effd591627cd160", + "revisionTime": "2017-01-28T16:01:23Z" }, { "checksumSHA1": "Yqr9OQ7AuIB1N0HMbSxqEoVQG+k=", @@ -981,110 +981,110 @@ { "checksumSHA1": "vE43s37+4CJ2CDU6TlOUOYE0K9c=", "path": "golang.org/x/crypto/bcrypt", - "revision": "854ae91cdcbf914b499b1d7641d07859f3653481", - "revisionTime": "2017-01-26T19:47:58Z" + "revision": "bed12803fa9663d7aa2c2346b0c634ad2dcd43b7", + "revisionTime": "2017-02-01T20:15:17Z" }, { "checksumSHA1": "JsJdKXhz87gWenMwBeejTOeNE7k=", "path": "golang.org/x/crypto/blowfish", - "revision": "854ae91cdcbf914b499b1d7641d07859f3653481", - "revisionTime": "2017-01-26T19:47:58Z" + "revision": "bed12803fa9663d7aa2c2346b0c634ad2dcd43b7", + "revisionTime": "2017-02-01T20:15:17Z" }, { "checksumSHA1": "dwOedwBJ1EIK9+S3t108Bx054Y8=", "path": "golang.org/x/crypto/curve25519", - "revision": "854ae91cdcbf914b499b1d7641d07859f3653481", - "revisionTime": "2017-01-26T19:47:58Z" + "revision": "bed12803fa9663d7aa2c2346b0c634ad2dcd43b7", + "revisionTime": "2017-02-01T20:15:17Z" }, { "checksumSHA1": "wGb//LjBPNxYHqk+dcLo7BjPXK8=", "path": "golang.org/x/crypto/ed25519", - "revision": "854ae91cdcbf914b499b1d7641d07859f3653481", - "revisionTime": "2017-01-26T19:47:58Z" + "revision": "bed12803fa9663d7aa2c2346b0c634ad2dcd43b7", + "revisionTime": "2017-02-01T20:15:17Z" }, { "checksumSHA1": "LXFcVx8I587SnWmKycSDEq9yvK8=", "path": "golang.org/x/crypto/ed25519/internal/edwards25519", - "revision": "854ae91cdcbf914b499b1d7641d07859f3653481", - "revisionTime": "2017-01-26T19:47:58Z" + "revision": "bed12803fa9663d7aa2c2346b0c634ad2dcd43b7", + "revisionTime": "2017-02-01T20:15:17Z" }, { "checksumSHA1": "4D8hxMIaSDEW5pCQk22Xj4DcDh4=", "path": "golang.org/x/crypto/hkdf", - "revision": "854ae91cdcbf914b499b1d7641d07859f3653481", - "revisionTime": "2017-01-26T19:47:58Z" + "revision": "bed12803fa9663d7aa2c2346b0c634ad2dcd43b7", + "revisionTime": "2017-02-01T20:15:17Z" }, { "checksumSHA1": "MCeXr2RNeiG1XG6V+er1OR0qyeo=", "path": "golang.org/x/crypto/md4", - "revision": "854ae91cdcbf914b499b1d7641d07859f3653481", - "revisionTime": "2017-01-26T19:47:58Z" + "revision": "bed12803fa9663d7aa2c2346b0c634ad2dcd43b7", + "revisionTime": "2017-02-01T20:15:17Z" }, { - "checksumSHA1": "ALID2qEiXlaj7SVGShqPTuMYRb0=", + "checksumSHA1": "epMTdzGOxeFViKskp4XR6csi/2U=", "path": "golang.org/x/crypto/ssh", - "revision": "854ae91cdcbf914b499b1d7641d07859f3653481", - "revisionTime": "2017-01-26T19:47:58Z" + "revision": "bed12803fa9663d7aa2c2346b0c634ad2dcd43b7", + "revisionTime": "2017-02-01T20:15:17Z" }, { "checksumSHA1": "SJ3Ma3Ozavxpbh1usZWBCnzMKIc=", "path": "golang.org/x/crypto/ssh/agent", - "revision": "854ae91cdcbf914b499b1d7641d07859f3653481", - "revisionTime": "2017-01-26T19:47:58Z" + "revision": "bed12803fa9663d7aa2c2346b0c634ad2dcd43b7", + "revisionTime": "2017-02-01T20:15:17Z" }, { "checksumSHA1": "xiderUuvye8Kpn7yX3niiJg32bE=", "path": "golang.org/x/crypto/ssh/terminal", - "revision": "854ae91cdcbf914b499b1d7641d07859f3653481", - "revisionTime": "2017-01-26T19:47:58Z" + "revision": "bed12803fa9663d7aa2c2346b0c634ad2dcd43b7", + "revisionTime": "2017-02-01T20:15:17Z" }, { - "checksumSHA1": "9jjO5GjLa0XF/nfWihF02RoH4qc=", + "checksumSHA1": "Y+HGqEkYM15ir+J93MEaHdyFy0c=", "path": "golang.org/x/net/context", - "revision": "f2499483f923065a842d38eb4c7f1927e6fc6e6d", - "revisionTime": "2017-01-14T04:22:49Z" + "revision": "007e530097ad7f954752df63046b4036f98ba6a6", + "revisionTime": "2017-02-01T22:13:12Z" }, { "checksumSHA1": "WHc3uByvGaMcnSoI21fhzYgbOgg=", "path": "golang.org/x/net/context/ctxhttp", - "revision": "f2499483f923065a842d38eb4c7f1927e6fc6e6d", - "revisionTime": "2017-01-14T04:22:49Z" + "revision": "007e530097ad7f954752df63046b4036f98ba6a6", + "revisionTime": "2017-02-01T22:13:12Z" }, { - "checksumSHA1": "N1akwAdrHVfPPrsFOhG2ouP21VA=", + "checksumSHA1": "LC+mzxnIrUS9Kr4s7shpY+A9J2o=", "path": "golang.org/x/net/http2", - "revision": "f2499483f923065a842d38eb4c7f1927e6fc6e6d", - "revisionTime": "2017-01-14T04:22:49Z" + "revision": "007e530097ad7f954752df63046b4036f98ba6a6", + "revisionTime": "2017-02-01T22:13:12Z" }, { - "checksumSHA1": "HzuGD7AwgC0p1az1WAQnEFnEk98=", + "checksumSHA1": "G3e2/HrQjRy2Ml9lfX0e3AGRWWE=", "path": "golang.org/x/net/http2/hpack", - "revision": "f2499483f923065a842d38eb4c7f1927e6fc6e6d", - "revisionTime": "2017-01-14T04:22:49Z" + "revision": "007e530097ad7f954752df63046b4036f98ba6a6", + "revisionTime": "2017-02-01T22:13:12Z" }, { "checksumSHA1": "GIGmSrYACByf5JDIP9ByBZksY80=", "path": "golang.org/x/net/idna", - "revision": "f2499483f923065a842d38eb4c7f1927e6fc6e6d", - "revisionTime": "2017-01-14T04:22:49Z" + "revision": "007e530097ad7f954752df63046b4036f98ba6a6", + "revisionTime": "2017-02-01T22:13:12Z" }, { - "checksumSHA1": "/k7k6eJDkxXx6K9Zpo/OwNm58XM=", + "checksumSHA1": "UxahDzW2v4mf/+aFxruuupaoIwo=", "path": "golang.org/x/net/internal/timeseries", - "revision": "f2499483f923065a842d38eb4c7f1927e6fc6e6d", - "revisionTime": "2017-01-14T04:22:49Z" + "revision": "007e530097ad7f954752df63046b4036f98ba6a6", + "revisionTime": "2017-02-01T22:13:12Z" }, { "checksumSHA1": "3xyuaSNmClqG4YWC7g0isQIbUTc=", "path": "golang.org/x/net/lex/httplex", - "revision": "f2499483f923065a842d38eb4c7f1927e6fc6e6d", - "revisionTime": "2017-01-14T04:22:49Z" + "revision": "007e530097ad7f954752df63046b4036f98ba6a6", + "revisionTime": "2017-02-01T22:13:12Z" }, { "checksumSHA1": "GQHKESPeCcAsnerZPtHadvKUIzs=", "path": "golang.org/x/net/trace", - "revision": "f2499483f923065a842d38eb4c7f1927e6fc6e6d", - "revisionTime": "2017-01-14T04:22:49Z" + "revision": "007e530097ad7f954752df63046b4036f98ba6a6", + "revisionTime": "2017-02-01T22:13:12Z" }, { "checksumSHA1": "XH7CgbL5Z8COUc+MKrYqS3FFosY=", @@ -1119,8 +1119,8 @@ { "checksumSHA1": "uTQtOqR0ePMMcvuvAIksiIZxhqU=", "path": "golang.org/x/sys/unix", - "revision": "d75a52659825e75fff6158388dddc6a5b04f9ba5", - "revisionTime": "2016-12-14T18:38:57Z" + "revision": "7a6e5648d140666db5d920909e082ca00a87ba2c", + "revisionTime": "2017-02-01T04:15:14Z" }, { "checksumSHA1": "a1NkriuA/uk+Wv6yCFzxz4LIaDg=", @@ -1249,76 +1249,76 @@ "revisionTime": "2017-01-21T00:08:17Z" }, { - "checksumSHA1": "epHwh7hDQSYzDowPIbw8vnLzPS0=", + "checksumSHA1": "mEyChIkG797MtkrJQXW8X/qZ0l0=", "path": "google.golang.org/grpc", - "revision": "50955793b0183f9de69bd78e2ec251cf20aab121", - "revisionTime": "2017-01-11T19:10:52Z" + "revision": "21f8ed309495401e6fd79b3a9fd549582aed1b4c", + "revisionTime": "2017-01-27T15:26:01Z" }, { "checksumSHA1": "08icuA15HRkdYCt6H+Cs90RPQsY=", "path": "google.golang.org/grpc/codes", - "revision": "50955793b0183f9de69bd78e2ec251cf20aab121", - "revisionTime": "2017-01-11T19:10:52Z" + "revision": "21f8ed309495401e6fd79b3a9fd549582aed1b4c", + "revisionTime": "2017-01-27T15:26:01Z" }, { "checksumSHA1": "AGkvu7gY1jWK7v5s9a8qLlH2gcQ=", "path": "google.golang.org/grpc/credentials", - "revision": "50955793b0183f9de69bd78e2ec251cf20aab121", - "revisionTime": "2017-01-11T19:10:52Z" + "revision": "21f8ed309495401e6fd79b3a9fd549582aed1b4c", + "revisionTime": "2017-01-27T15:26:01Z" }, { "checksumSHA1": "bg3wIPzajKt3QZfTG70EPaxDtpk=", "path": "google.golang.org/grpc/credentials/oauth", - "revision": "50955793b0183f9de69bd78e2ec251cf20aab121", - "revisionTime": "2017-01-11T19:10:52Z" + "revision": "21f8ed309495401e6fd79b3a9fd549582aed1b4c", + "revisionTime": "2017-01-27T15:26:01Z" }, { "checksumSHA1": "3Lt5hNAG8qJAYSsNghR5uA1zQns=", "path": "google.golang.org/grpc/grpclog", - "revision": "50955793b0183f9de69bd78e2ec251cf20aab121", - "revisionTime": "2017-01-11T19:10:52Z" + "revision": "21f8ed309495401e6fd79b3a9fd549582aed1b4c", + "revisionTime": "2017-01-27T15:26:01Z" }, { "checksumSHA1": "T3Q0p8kzvXFnRkMaK/G8mCv6mc0=", "path": "google.golang.org/grpc/internal", - "revision": "50955793b0183f9de69bd78e2ec251cf20aab121", - "revisionTime": "2017-01-11T19:10:52Z" + "revision": "21f8ed309495401e6fd79b3a9fd549582aed1b4c", + "revisionTime": "2017-01-27T15:26:01Z" }, { "checksumSHA1": "XXpD8+S3gLrfmCLOf+RbxblOQkU=", "path": "google.golang.org/grpc/metadata", - "revision": "50955793b0183f9de69bd78e2ec251cf20aab121", - "revisionTime": "2017-01-11T19:10:52Z" + "revision": "21f8ed309495401e6fd79b3a9fd549582aed1b4c", + "revisionTime": "2017-01-27T15:26:01Z" }, { "checksumSHA1": "4GSUFhOQ0kdFlBH4D5OTeKy78z0=", "path": "google.golang.org/grpc/naming", - "revision": "50955793b0183f9de69bd78e2ec251cf20aab121", - "revisionTime": "2017-01-11T19:10:52Z" + "revision": "21f8ed309495401e6fd79b3a9fd549582aed1b4c", + "revisionTime": "2017-01-27T15:26:01Z" }, { "checksumSHA1": "3RRoLeH6X2//7tVClOVzxW2bY+E=", "path": "google.golang.org/grpc/peer", - "revision": "50955793b0183f9de69bd78e2ec251cf20aab121", - "revisionTime": "2017-01-11T19:10:52Z" + "revision": "21f8ed309495401e6fd79b3a9fd549582aed1b4c", + "revisionTime": "2017-01-27T15:26:01Z" }, { "checksumSHA1": "wzkOAxlah+y75EpH0QVgzb8hdfc=", "path": "google.golang.org/grpc/stats", - "revision": "50955793b0183f9de69bd78e2ec251cf20aab121", - "revisionTime": "2017-01-11T19:10:52Z" + "revision": "21f8ed309495401e6fd79b3a9fd549582aed1b4c", + "revisionTime": "2017-01-27T15:26:01Z" }, { "checksumSHA1": "N0TftT6/CyWqp6VRi2DqDx60+Fo=", "path": "google.golang.org/grpc/tap", - "revision": "50955793b0183f9de69bd78e2ec251cf20aab121", - "revisionTime": "2017-01-11T19:10:52Z" + "revision": "21f8ed309495401e6fd79b3a9fd549582aed1b4c", + "revisionTime": "2017-01-27T15:26:01Z" }, { "checksumSHA1": "yHpUeGwKoqqwd3cbEp3lkcnvft0=", "path": "google.golang.org/grpc/transport", - "revision": "50955793b0183f9de69bd78e2ec251cf20aab121", - "revisionTime": "2017-01-11T19:10:52Z" + "revision": "21f8ed309495401e6fd79b3a9fd549582aed1b4c", + "revisionTime": "2017-01-27T15:26:01Z" }, { "checksumSHA1": "wSu8owMAP7GixsYoSZ4CmKUVhnU=",