Bot releases are hidden (Show)
Published by gigerdo 10 months ago
This release of the Elastic Cloud SDK Go should be used for ECE Version 3.7.0
.
When using the allocator vacate API, the code can now properly handle tracking the vacate process for instances of type integrations-serer.
Published by claudia-correia 10 months ago
This release of the Elastic Cloud SDK Go should be used for ECE Version 3.7.0
.
Updates the generated clients and models to match the API available in Elastic cloud MS-101.
instance_configuration_version
s in topology elements. (#450)We couldn't set instance_configuration_version
to 0 because it would be considered as an empty value and it would be omitted during JSON marshalling.
This has now been fixed by updating the instance_configuration_version
type to *int32
.
Published by gigerdo about 1 year ago
This release of the Elastic Cloud SDK Go should be used for ECE Version 3.7.0
.
Updates the generated clients and models to match the latest API available in Elastic cloud.
AllocatorDown
parameter for the VacateCluster
command. (#443)The vacate parameter AllocatorDown
was ignored and not passed through to the actual request.
This has now been fixed and the parameter can be used when calling VacateCluster
.
Published by elasticcloudclients over 1 year ago
This release of the Elastic Cloud SDK Go should be used for ECE Version 3.5.1
.
Add the missing PathStyleAccess field to the struct S3Config which is used for configuring S3 snapshot repositories.
See also https://www.elastic.co/guide/en/elasticsearch/reference/current/repository-s3.html#repository-s3-client
Published by elasticcloudclients almost 2 years ago
This release of the Elastic Cloud SDK Go should be used for ECE Version 3.4.0
.
Updates the ECE generated Clients and models to the latest version.
deploymentapi.NewUpdateRequest
for deployments with autoscaling enabled (#416)Requests generated by deploymentapi.NewUpdateRequest
used to only contain topology elements with size > 0.
However for deployments with autoscaling enabled, all elements must be included. With this fix the generated
request will contain all topology elements for Elasticsearch as defined by the deployment template.
Published by elasticcloudclients over 2 years ago
This release of the Elastic Cloud SDK Go should be used for ECE Version 3.2.0
.
This PR updates apidocs.json file along with its regenerated derivatives to match the upcoming release.
integrations_server
resources (#401)Includes resource overrides for integrations server resources.
Published by elasticcloudclients over 2 years ago
This release of the Elastic Cloud SDK Go should be used for ECE Version 3.0.0
.
Cluster Metadata Info did not have any attributes to imply whether cert verification should be skipped when trying to communicate with it.
This PR updates the API with changes from ms-68 (still not removing the clusters API) but it does remove the old deployment templates endpoint and models.
This PR updates the API with changes from ms-68 (removing the clusters API and the reauthenticate endpoint)
It adds HTTP 409 response to Mock API client. To be able to run acceptance tests in TF ElasticCloud provider, we need to mock API client and e.g. to check whether a role already exists, we need to return that HTTP code.
This PR updates apidocs.json file along with its regenerated derivatives to match the upcoming release.
When leveraging the cloud client method for: https://github.com/elastic/cloud-sdk-go/blob/master/pkg/client/deployments/deployments_client.go#L1552-L1586 which hits the following API endpoint: https://www.elastic.co/guide/en/cloud-enterprise/current/set-deployment-resource-raw-metadata.html, we should not be escaping the string JSON body.
Adds the missing api.API validation in CreateKeyParams.Validate().
Published by elasticcloudclients about 3 years ago
This release of the Elastic Cloud SDK Go should be used for ECE Version 2.11.0
.
Updates the ECE generated Clients and models to the latest version.
Published by marclop over 3 years ago
This release of the Elastic Cloud SDK Go should be used for ECE Version 2.10.0
.
trafficfilterapi.NewUpdateRequestFromGet
(#317)New function allows building a traffic filter update request from the current traffic filter.
settingsapi.Get
function (#326)Adds a new API that allows obtaining ECE Proxy setting information.
settingsapi.Update
function (#327)Adds a new API that allows updating an ECE Proxy settings, overriding any previous settings with the specified parameters.
settingsapi.Patch
function (#328)Adds a new API that allows updating a partial definition of a proxy's settings using the PATCH method.
A new FailureDetails
field has been added to the plan tracking output and returned error from plan.TrackChange
.
This change will only be noticeable for clients that choose to plan a change with a JSON formatter. Other clients'
outputs will remain untouched.
Updates the deploymentsize.ParseGb
function to allow parsing "0"
and "0g"
.
allocatorapi.Vacate
API calls (#330)Optimizes the API calls that the Vacate function performs in order to reduce the amount of work
the API has to perform to calculate a cluster's move.
DeploymentTemplate
structures (#323)Updates the field type of the DeploymentTemplate
structures to *int32
so the 0
value is not lost when the JSON is decoded.
Published by marclop over 3 years ago
pkg/logging
package and sub-packagesRemoves the unused pkg/logging
package and sub-packages.
pkg/api/commentapi
packageThis new API allows consumers to CRUD comments on various Elastic Cloud platform resources.
pkg/api/deploymentapi/extensionapi.Upload
functionplan.Track
function to fail more reliably.Updates the plan tracking functions of the pkg/plan
package to only fail when
the plan has actually finished with a failure, instead of returning errors from
in other steps of the plan.
pkg/api/deploymentapi/trafficfilterapi
EntityID
parameter validationFixes a small bug where the EntityID
was never validated.
Adds a badge pointing to the pkg.go.dev
reference for the SDK.
Published by karencfv over 3 years ago
multierror.Prefixed
errors are now sorted and concurrently safe.Previously, multierror.Prefixed
returned the errors in the order they were added,
to counter potential ordering issues and to consistently return the same output, the
errors are sorted before they are returned as a string in Error()
.
Additionally, the structure has been made concurrently safe.
Updated the swagger specification and auto-generated models and APIs to ECE 2.8.0
.
stackapi.List
returns the versions properly sortedProperly sorts stackapi.List()
via semver.
depresourceapi.NewElasticsearch()
processes plugins listThe list of plugins was being ignored, it is now considered.
Fixed the broken README example.
Published by karencfv almost 4 years ago
AsList
workaround for deptemplateapi
As the bug with the GET deployments/template/{template_id}
endpoint for
ESS users has been fixed, we no longer need to use the AsList field when
calling it.
The CRUD and association traffic filtering APIs have been
implemented. They can be found in the new trafficfilterapi
package.
The new ResetElasticsearchPassword
API resets a deployment's
Elasticsearch password and returns the username and password. This new
API can be found within the depresourceapi
package.
Both Get()
and Update()
APIs have been added for the remote
clusters APIs, which power ESS Cross Cluster Search assignments.
Added a new Migrate()
API to the deploymentapi
package.
This new API returns a deployment update request that would
transform this deployment from its template to the provided one.
Introduces a series of changes which allow allocator.Vacate()
to
return a multierror which can serialize the errors to JSON format.
To do so, multiple changes have been made throughout multiple packages,
providing building blocks for other APIs to leverage these, or use on-
demand.
multierror.WithFormat()
: modifies a multierror.Prefixed
or Hashicorp
multierror.Error
format functions which instead of formatting with a
"text" format, return a JSON formatted string.
apierror.JSONError{}
: wrapping any string with this type, will make
it compatible to json.Marshal
-ed. A apierror.NewJSONError()
function
is provided for convenience too, allowing errors to be wrapped in the type.
plan.StreamJSON
: has been fixed to return the final error result in
JSON formatted form.
plan
: Legacy format has now been removed since it's no longer used.
allocatorapi.VacateError
: now used for most of the returned vacate
errors since it supports both text and JSON formats.
allocatorapi
A new Size
parameter has been added to ListParams
in theallocatorapi
package, which allows users to obtain more than the default 100 allocator size.
A new optional boolean to deploymentapi.Get()
which allows users
to optionally convert the legacy plan format to the current format.
New FailFast
parameter to pool.Params
which allows consumers to
toggle a new pool behavior where the pool will gracefully stop when one of
the workers returns with an error. This will stop processing any additional
work but try to continue processing the work that's in-flight or cancel the
execution when the params.Timeout.Stop
time.Duration
is exceeded.
Added a new implementation of http.RoundTripper
which aims to unify all
existing segregated RoundTrippers which have been marked as deprecated.
Additionally, adding support to configurable retries on request timeout
through two new api.Config
fields: Retries
and RetryBackoff
.
To keep backwards compatibility, the retries are opt-in even though they
would improve the resilience of the SDK. They can always be made opt-out
in the future if we deem it necessary.
Published by marclop about 4 years ago
Minor bug fix release
Adds the status code of the POST traffic rule association to 201
to match all of the endpoint API responses.
Published by marclop about 4 years ago
Changes the constructor behavior of NewAPI
and the Config
validation now only accepts an auth.APIKey
or *auth.APIKey
as the
only valid AuthWriters for the API when the host is set to the ESS host
(https://api.elastic-cloud.com
). Also adds a constant: ESSEndpoint
.
Adds a new function to the deploymentapi
pkg: deploymentapi.RequestID
which will always return a request ID to be
used in deploymentapi.CreateParams
. It will either return an auto-
generated string of 64 characters or the string argument which is passed
to the function.
Adds a new package called deploymentsize
and a new function:
ParseGb
which will parse a string in the format of <size>g
, into its
value in megabytes as an int32. Valid examples of parseable sizes are in
0.5g
increments, with a minimum accepted size of 0.5g
.
api.Config
parameterThe Region
field on api.Config
has been removed from the structure.
Instead of using a global Region parameter, all APIs which require a region
to be specified as a parameter, will expose a Region
parameter to be used.
Modified the Update function parameters to allow the consumer to specify
a PayloadOverrides which can be used to override nested values in the resources.
Currently supports overrides for Version
, Name
and Region
.
Added a new configuration parameter RedactAuth
to api.VerboseSettings
when set, will replace the contents of the Authorization
header with
[REDACTED]
.
The default behavior still preserves the original contents of the header.
Adds support for the enterprise_search
resource kind on all APIs, namely:
deployment APIs, allocator vacate APIs and plan tracking functions.
Packages previously published a public API through ecctl/pkg/...
, have
been move to the cloud-sdk-go
, with an api
suffix in the package name.
The full list of packages which have been added as part of this change is:
pkg/api/platformapi
pkg/api/platformapi/configurationtemplateapi
pkg/api/platformapi/allocatorapi
pkg/api/platformapi/instanceconfigapi
pkg/api/platformapi/snaprepoapi
pkg/api/platformapi/enrollmenttokenapi
pkg/api/platformapi/proxyapi
pkg/api/platformapi/proxyapi/filteredgroupapi
pkg/api/platformapi/roleapi
pkg/api/platformapi/runnerapi
pkg/api/platformapi/constructorapi
pkg/api/stackapi
pkg/api/userapi
pkg/api/userapi/authapi
pkg/api/userapi/authapi/adminapi
pkg/api/deploymentapi
pkg/api/deploymentapi/eskeystoreapi
pkg/api/deploymentapi/noteapi
pkg/api/deploymentapi/depresourceapi
pkg/api/deploymentapi/deptemplateapi
Added a context.Context
constructor (api.WithRegion
) which creates a
new context with a saved value equal to the passed region. This is meant
to be used in any calls to the auto-generated API which are region-bound
(any /platform
APIs).
When using *api.CloudClientRuntime
, the path interpolation will take
place without the need to explicitly handle it.
This change allows the *api.API
object to be used accross multiple
regions rather than requiring a single instance of that structure per
region.
Adds certain handling of API operation string fields to be handled as raw
JSON fields so that double quotes in said fields aren't escaped by the
runtime, the excluded operations are:
set-es-cluster-metadata-raw
update-user
update-current-user
Adds the ability to assert certain *http.Request
fields which
are sent to the http.RoundTripper on any of the request / reply flows
which are tested and asserted in our unit tests. Since it's an optional
field, it doesn't enforce that field to be set in the mock.Response
,
but rather make it optional for those tests where it makes sense to do so.
apivalidator
testing layerAdded a new apivalidator
executable:
A CLI running a series of requests based off a specified apidocs file
(which can be either a local file or downloaded from it's location), against
a prism API validation proxy, and then returns errors based on discrepancies.
A new Makefile with targets to start a prism validation proxy for the public
API, another to run the validation tests against the proxy, and another to run
both without having to start a new terminal and killing the server when it finishes.
Additionally, these tests are now run on every make swagger
to verify endpoint
availability when new client
and models
are generated from a swagger spec.