diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c802790b73..71cfac7b2a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +Release v1.44.251 (2023-04-26) +=== + +### Service Client Updates +* `service/osis`: Updates service API, documentation, paginators, and examples + Release v1.44.250 (2023-04-25) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 5b19d91905f..ea2a37eebc9 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -19503,6 +19503,40 @@ var awsPartition = partition{ }, }, }, + "osis": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-1", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "outposts": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -31278,6 +31312,16 @@ var awscnPartition = partition{ }: endpoint{}, }, }, + "license-manager-linux-subscriptions": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "cn-north-1", + }: endpoint{}, + endpointKey{ + Region: "cn-northwest-1", + }: endpoint{}, + }, + }, "logs": service{ Endpoints: serviceEndpoints{ endpointKey{ diff --git a/aws/version.go b/aws/version.go index 478e4e034cf..750bdbb4207 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.250" +const SDKVersion = "1.44.251" diff --git a/models/apis/osis/2022-01-01/api-2.json b/models/apis/osis/2022-01-01/api-2.json new file mode 100644 index 00000000000..3f050a684f7 --- /dev/null +++ b/models/apis/osis/2022-01-01/api-2.json @@ -0,0 +1,799 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2022-01-01", + "endpointPrefix":"osis", + "protocol":"rest-json", + "serviceFullName":"Amazon OpenSearch Ingestion", + "serviceId":"OSIS", + "signatureVersion":"v4", + "uid":"osis-2022-01-01" + }, + "operations":{ + "CreatePipeline":{ + "name":"CreatePipeline", + "http":{ + "method":"POST", + "requestUri":"/2022-01-01/osis/createPipeline" + }, + "input":{"shape":"CreatePipelineRequest"}, + "output":{"shape":"CreatePipelineResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ValidationException"}, + {"shape":"InternalException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceAlreadyExistsException"} + ] + }, + "DeletePipeline":{ + "name":"DeletePipeline", + "http":{ + "method":"DELETE", + "requestUri":"/2022-01-01/osis/deletePipeline/{PipelineName}" + }, + "input":{"shape":"DeletePipelineRequest"}, + "output":{"shape":"DeletePipelineResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ] + }, + "GetPipeline":{ + "name":"GetPipeline", + "http":{ + "method":"GET", + "requestUri":"/2022-01-01/osis/getPipeline/{PipelineName}" + }, + "input":{"shape":"GetPipelineRequest"}, + "output":{"shape":"GetPipelineResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetPipelineBlueprint":{ + "name":"GetPipelineBlueprint", + "http":{ + "method":"GET", + "requestUri":"/2022-01-01/osis/getPipelineBlueprint/{BlueprintName}" + }, + "input":{"shape":"GetPipelineBlueprintRequest"}, + "output":{"shape":"GetPipelineBlueprintResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetPipelineChangeProgress":{ + "name":"GetPipelineChangeProgress", + "http":{ + "method":"GET", + "requestUri":"/2022-01-01/osis/getPipelineChangeProgress/{PipelineName}" + }, + "input":{"shape":"GetPipelineChangeProgressRequest"}, + "output":{"shape":"GetPipelineChangeProgressResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListPipelineBlueprints":{ + "name":"ListPipelineBlueprints", + "http":{ + "method":"POST", + "requestUri":"/2022-01-01/osis/listPipelineBlueprints" + }, + "input":{"shape":"ListPipelineBlueprintsRequest"}, + "output":{"shape":"ListPipelineBlueprintsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidPaginationTokenException"} + ] + }, + "ListPipelines":{ + "name":"ListPipelines", + "http":{ + "method":"GET", + "requestUri":"/2022-01-01/osis/listPipelines" + }, + "input":{"shape":"ListPipelinesRequest"}, + "output":{"shape":"ListPipelinesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidPaginationTokenException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/2022-01-01/osis/listTagsForResource/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"}, + {"shape":"AccessDeniedException"} + ] + }, + "StartPipeline":{ + "name":"StartPipeline", + "http":{ + "method":"PUT", + "requestUri":"/2022-01-01/osis/startPipeline/{PipelineName}" + }, + "input":{"shape":"StartPipelineRequest"}, + "output":{"shape":"StartPipelineResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ] + }, + "StopPipeline":{ + "name":"StopPipeline", + "http":{ + "method":"PUT", + "requestUri":"/2022-01-01/osis/stopPipeline/{PipelineName}" + }, + "input":{"shape":"StopPipelineRequest"}, + "output":{"shape":"StopPipelineResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/2022-01-01/osis/tagResource/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ValidationException"}, + {"shape":"InternalException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/2022-01-01/osis/untagResource/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"}, + {"shape":"AccessDeniedException"} + ] + }, + "UpdatePipeline":{ + "name":"UpdatePipeline", + "http":{ + "method":"PUT", + "requestUri":"/2022-01-01/osis/updatePipeline/{PipelineName}" + }, + "input":{"shape":"UpdatePipelineRequest"}, + "output":{"shape":"UpdatePipelineResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ] + }, + "ValidatePipeline":{ + "name":"ValidatePipeline", + "http":{ + "method":"POST", + "requestUri":"/2022-01-01/osis/validatePipeline" + }, + "input":{"shape":"ValidatePipelineRequest"}, + "output":{"shape":"ValidatePipelineResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalException"}, + {"shape":"ValidationException"} + ] + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":403}, + "exception":true + }, + "Boolean":{"type":"boolean"}, + "ChangeProgressStage":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Status":{"shape":"ChangeProgressStageStatuses"}, + "Description":{"shape":"String"}, + "LastUpdatedAt":{"shape":"Timestamp"} + } + }, + "ChangeProgressStageList":{ + "type":"list", + "member":{"shape":"ChangeProgressStage"} + }, + "ChangeProgressStageStatuses":{ + "type":"string", + "enum":[ + "PENDING", + "IN_PROGRESS", + "COMPLETED", + "FAILED" + ] + }, + "ChangeProgressStatus":{ + "type":"structure", + "members":{ + "StartTime":{"shape":"Timestamp"}, + "Status":{"shape":"ChangeProgressStatuses"}, + "TotalNumberOfStages":{"shape":"Integer"}, + "ChangeProgressStages":{"shape":"ChangeProgressStageList"} + } + }, + "ChangeProgressStatusList":{ + "type":"list", + "member":{"shape":"ChangeProgressStatus"} + }, + "ChangeProgressStatuses":{ + "type":"string", + "enum":[ + "PENDING", + "IN_PROGRESS", + "COMPLETED", + "FAILED" + ] + }, + "CloudWatchLogDestination":{ + "type":"structure", + "required":["LogGroup"], + "members":{ + "LogGroup":{"shape":"LogGroup"} + } + }, + "ConflictException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "CreatePipelineRequest":{ + "type":"structure", + "required":[ + "PipelineName", + "MinUnits", + "MaxUnits", + "PipelineConfigurationBody" + ], + "members":{ + "PipelineName":{"shape":"PipelineName"}, + "MinUnits":{"shape":"PipelineUnits"}, + "MaxUnits":{"shape":"PipelineUnits"}, + "PipelineConfigurationBody":{"shape":"PipelineConfigurationBody"}, + "LogPublishingOptions":{"shape":"LogPublishingOptions"}, + "VpcOptions":{"shape":"VpcOptions"}, + "Tags":{"shape":"TagList"} + } + }, + "CreatePipelineResponse":{ + "type":"structure", + "members":{ + "Pipeline":{"shape":"Pipeline"} + } + }, + "DeletePipelineRequest":{ + "type":"structure", + "required":["PipelineName"], + "members":{ + "PipelineName":{ + "shape":"PipelineName", + "location":"uri", + "locationName":"PipelineName" + } + } + }, + "DeletePipelineResponse":{ + "type":"structure", + "members":{ + } + }, + "GetPipelineBlueprintRequest":{ + "type":"structure", + "required":["BlueprintName"], + "members":{ + "BlueprintName":{ + "shape":"String", + "location":"uri", + "locationName":"BlueprintName" + } + } + }, + "GetPipelineBlueprintResponse":{ + "type":"structure", + "members":{ + "Blueprint":{"shape":"PipelineBlueprint"} + } + }, + "GetPipelineChangeProgressRequest":{ + "type":"structure", + "required":["PipelineName"], + "members":{ + "PipelineName":{ + "shape":"PipelineName", + "location":"uri", + "locationName":"PipelineName" + } + } + }, + "GetPipelineChangeProgressResponse":{ + "type":"structure", + "members":{ + "ChangeProgressStatuses":{"shape":"ChangeProgressStatusList"} + } + }, + "GetPipelineRequest":{ + "type":"structure", + "required":["PipelineName"], + "members":{ + "PipelineName":{ + "shape":"PipelineName", + "location":"uri", + "locationName":"PipelineName" + } + } + }, + "GetPipelineResponse":{ + "type":"structure", + "members":{ + "Pipeline":{"shape":"Pipeline"} + } + }, + "IngestEndpointUrlsList":{ + "type":"list", + "member":{"shape":"String"} + }, + "Integer":{"type":"integer"}, + "InternalException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":500}, + "exception":true + }, + "InvalidPaginationTokenException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "ListPipelineBlueprintsRequest":{ + "type":"structure", + "members":{ + } + }, + "ListPipelineBlueprintsResponse":{ + "type":"structure", + "members":{ + "Blueprints":{"shape":"PipelineBlueprintsSummaryList"} + } + }, + "ListPipelinesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListPipelinesResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "Pipelines":{"shape":"PipelineSummaryList"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"PipelineArn", + "location":"querystring", + "locationName":"arn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{"shape":"TagList"} + } + }, + "LogGroup":{ + "type":"string", + "max":512, + "min":1, + "pattern":"\\/aws\\/vendedlogs\\/[\\.\\-_/#A-Za-z0-9]+" + }, + "LogPublishingOptions":{ + "type":"structure", + "members":{ + "IsLoggingEnabled":{"shape":"Boolean"}, + "CloudWatchLogDestination":{"shape":"CloudWatchLogDestination"} + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":3000, + "min":0, + "pattern":"^([\\s\\S]*)$" + }, + "Pipeline":{ + "type":"structure", + "members":{ + "PipelineName":{"shape":"String"}, + "PipelineArn":{"shape":"String"}, + "MinUnits":{"shape":"Integer"}, + "MaxUnits":{"shape":"Integer"}, + "Status":{"shape":"PipelineStatus"}, + "StatusReason":{"shape":"PipelineStatusReason"}, + "PipelineConfigurationBody":{"shape":"String"}, + "CreatedAt":{"shape":"Timestamp"}, + "LastUpdatedAt":{"shape":"Timestamp"}, + "IngestEndpointUrls":{"shape":"IngestEndpointUrlsList"}, + "LogPublishingOptions":{"shape":"LogPublishingOptions"}, + "VpcEndpoints":{"shape":"VpcEndpointsList"} + } + }, + "PipelineArn":{ + "type":"string", + "max":76, + "min":46, + "pattern":"^arn:(aws|aws\\-cn|aws\\-us\\-gov|aws\\-iso|aws\\-iso\\-b):osis:.+:pipeline\\/.+$" + }, + "PipelineBlueprint":{ + "type":"structure", + "members":{ + "BlueprintName":{"shape":"String"}, + "PipelineConfigurationBody":{"shape":"String"} + } + }, + "PipelineBlueprintSummary":{ + "type":"structure", + "members":{ + "BlueprintName":{"shape":"String"} + } + }, + "PipelineBlueprintsSummaryList":{ + "type":"list", + "member":{"shape":"PipelineBlueprintSummary"} + }, + "PipelineConfigurationBody":{ + "type":"string", + "max":24000, + "min":1 + }, + "PipelineName":{ + "type":"string", + "max":28, + "min":3, + "pattern":"[a-z][a-z0-9\\-]+" + }, + "PipelineStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "CREATE_FAILED", + "UPDATE_FAILED", + "STARTING", + "START_FAILED", + "STOPPING", + "STOPPED" + ] + }, + "PipelineStatusReason":{ + "type":"structure", + "members":{ + "Description":{"shape":"String"} + } + }, + "PipelineSummary":{ + "type":"structure", + "members":{ + "Status":{"shape":"PipelineStatus"}, + "StatusReason":{"shape":"PipelineStatusReason"}, + "PipelineName":{"shape":"PipelineName"}, + "PipelineArn":{"shape":"PipelineArn"}, + "MinUnits":{"shape":"PipelineUnits"}, + "MaxUnits":{"shape":"PipelineUnits"}, + "CreatedAt":{"shape":"Timestamp"}, + "LastUpdatedAt":{"shape":"Timestamp"} + } + }, + "PipelineSummaryList":{ + "type":"list", + "member":{"shape":"PipelineSummary"} + }, + "PipelineUnits":{ + "type":"integer", + "max":96, + "min":1 + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "SecurityGroupId":{ + "type":"string", + "max":20, + "min":11, + "pattern":"sg-\\w{8}(\\w{9})?" + }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "max":12, + "min":1 + }, + "StartPipelineRequest":{ + "type":"structure", + "required":["PipelineName"], + "members":{ + "PipelineName":{ + "shape":"PipelineName", + "location":"uri", + "locationName":"PipelineName" + } + } + }, + "StartPipelineResponse":{ + "type":"structure", + "members":{ + "Pipeline":{"shape":"Pipeline"} + } + }, + "StopPipelineRequest":{ + "type":"structure", + "required":["PipelineName"], + "members":{ + "PipelineName":{ + "shape":"PipelineName", + "location":"uri", + "locationName":"PipelineName" + } + } + }, + "StopPipelineResponse":{ + "type":"structure", + "members":{ + "Pipeline":{"shape":"Pipeline"} + } + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SubnetId":{ + "type":"string", + "max":24, + "min":15, + "pattern":"subnet-\\w{8}(\\w{9})?" + }, + "SubnetIds":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "max":12, + "min":1 + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{"shape":"TagKey"}, + "Value":{"shape":"TagValue"} + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":".*" + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "Arn", + "Tags" + ], + "members":{ + "Arn":{ + "shape":"PipelineArn", + "location":"querystring", + "locationName":"arn" + }, + "Tags":{"shape":"TagList"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":".*" + }, + "Timestamp":{"type":"timestamp"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "Arn", + "TagKeys" + ], + "members":{ + "Arn":{ + "shape":"PipelineArn", + "location":"querystring", + "locationName":"arn" + }, + "TagKeys":{"shape":"StringList"} + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdatePipelineRequest":{ + "type":"structure", + "required":["PipelineName"], + "members":{ + "PipelineName":{ + "shape":"PipelineName", + "location":"uri", + "locationName":"PipelineName" + }, + "MinUnits":{"shape":"PipelineUnits"}, + "MaxUnits":{"shape":"PipelineUnits"}, + "PipelineConfigurationBody":{"shape":"PipelineConfigurationBody"}, + "LogPublishingOptions":{"shape":"LogPublishingOptions"} + } + }, + "UpdatePipelineResponse":{ + "type":"structure", + "members":{ + "Pipeline":{"shape":"Pipeline"} + } + }, + "ValidatePipelineRequest":{ + "type":"structure", + "required":["PipelineConfigurationBody"], + "members":{ + "PipelineConfigurationBody":{"shape":"PipelineConfigurationBody"} + } + }, + "ValidatePipelineResponse":{ + "type":"structure", + "members":{ + "isValid":{"shape":"Boolean"}, + "Errors":{"shape":"ValidationMessageList"} + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "ValidationMessage":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + } + }, + "ValidationMessageList":{ + "type":"list", + "member":{"shape":"ValidationMessage"} + }, + "VpcEndpoint":{ + "type":"structure", + "members":{ + "VpcEndpointId":{"shape":"String"}, + "VpcId":{"shape":"String"}, + "VpcOptions":{"shape":"VpcOptions"} + } + }, + "VpcEndpointsList":{ + "type":"list", + "member":{"shape":"VpcEndpoint"} + }, + "VpcOptions":{ + "type":"structure", + "required":["SubnetIds"], + "members":{ + "SubnetIds":{"shape":"SubnetIds"}, + "SecurityGroupIds":{"shape":"SecurityGroupIds"} + } + } + } +} diff --git a/models/apis/osis/2022-01-01/docs-2.json b/models/apis/osis/2022-01-01/docs-2.json new file mode 100644 index 00000000000..b335be25fc7 --- /dev/null +++ b/models/apis/osis/2022-01-01/docs-2.json @@ -0,0 +1,505 @@ +{ + "version": "2.0", + "service": "

Use the Amazon OpenSearch Ingestion API to create and manage ingestion pipelines. OpenSearch Ingestion is a fully managed data collector that delivers real-time log and trace data to OpenSearch Service domains. For more information, see Getting data into your cluster using OpenSearch Ingestion.

", + "operations": { + "CreatePipeline": "

Creates an OpenSearch Ingestion pipeline. For more information, see Creating and managing OpenSearch Ingestion pipelines.

", + "DeletePipeline": "

Deletes an OpenSearch Ingestion pipeline. For more information, see Deleting pipelines.

", + "GetPipeline": "

Retrieves information about an OpenSearch Ingestion pipeline.

", + "GetPipelineBlueprint": "

Retrieves information about a specific blueprint for OpenSearch Ingestion. Blueprints are templates for the configuration needed for a CreatePipeline request.

", + "GetPipelineChangeProgress": "

Returns progress information for the current change happening on an OpenSearch Ingestion pipeline. Currently, this operation only returns information when a pipeline is being created.

For more information, see Creating and managing OpenSearch Ingestion pipelines.

", + "ListPipelineBlueprints": "

Retrieves a list of all available blueprints for Data Prepper.

", + "ListPipelines": "

Lists all OpenSearch Ingestion pipelines in the current Amazon Web Services account and Region. For more information, see Creating and managing OpenSearch Ingestion pipelines.

", + "ListTagsForResource": "

Lists all resource tags associated with an OpenSearch Ingestion pipeline. For more information, see Tagging OpenSearch Ingestion pipelines.

", + "StartPipeline": "

Starts an OpenSearch Ingestion pipeline. For more information, see Starting pipelines.

", + "StopPipeline": "

Stops an OpenSearch Ingestion pipeline. For more information, see Stopping pipelines.

", + "TagResource": "

Tags an OpenSearch Ingestion pipeline. For more information, see Tagging OpenSearch Ingestion pipelines.

", + "UntagResource": "

Removes one or more tags from an OpenSearch Ingestion pipeline. For more information, see Tagging OpenSearch Ingestion pipelines.

", + "UpdatePipeline": "

Updates an OpenSearch Ingestion pipeline. For more information, see Creating and managing OpenSearch Ingestion pipelines.

", + "ValidatePipeline": "

Checks whether an OpenSearch Ingestion pipeline configuration is valid prior to creation. For more information, see Creating and managing OpenSearch Ingestion pipelines.

" + }, + "shapes": { + "AccessDeniedException": { + "base": "

You don't have permissions to access the resource.

", + "refs": { + } + }, + "Boolean": { + "base": null, + "refs": { + "LogPublishingOptions$IsLoggingEnabled": "

Whether logs should be published.

", + "ValidatePipelineResponse$isValid": "

A boolean indicating whether or not the pipeline configuration is valid.

" + } + }, + "ChangeProgressStage": { + "base": "

Progress details for a specific stage of a pipeline configuration change.

", + "refs": { + "ChangeProgressStageList$member": null + } + }, + "ChangeProgressStageList": { + "base": null, + "refs": { + "ChangeProgressStatus$ChangeProgressStages": "

Information about the stages that the pipeline is going through to perform the configuration change.

" + } + }, + "ChangeProgressStageStatuses": { + "base": null, + "refs": { + "ChangeProgressStage$Status": "

The current status of the stage that the change is in.

" + } + }, + "ChangeProgressStatus": { + "base": "

The progress details of a pipeline configuration change.

", + "refs": { + "ChangeProgressStatusList$member": null + } + }, + "ChangeProgressStatusList": { + "base": null, + "refs": { + "GetPipelineChangeProgressResponse$ChangeProgressStatuses": "

The current status of the change happening on the pipeline.

" + } + }, + "ChangeProgressStatuses": { + "base": null, + "refs": { + "ChangeProgressStatus$Status": "

The overall status of the pipeline configuration change.

" + } + }, + "CloudWatchLogDestination": { + "base": "

The destination for OpenSearch Ingestion logs sent to Amazon CloudWatch.

", + "refs": { + "LogPublishingOptions$CloudWatchLogDestination": "

The destination for OpenSearch Ingestion logs sent to Amazon CloudWatch Logs. This parameter is required if IsLoggingEnabled is set to true.

" + } + }, + "ConflictException": { + "base": "

The client attempted to remove a resource that is currently in use.

", + "refs": { + } + }, + "CreatePipelineRequest": { + "base": null, + "refs": { + } + }, + "CreatePipelineResponse": { + "base": null, + "refs": { + } + }, + "DeletePipelineRequest": { + "base": null, + "refs": { + } + }, + "DeletePipelineResponse": { + "base": null, + "refs": { + } + }, + "GetPipelineBlueprintRequest": { + "base": null, + "refs": { + } + }, + "GetPipelineBlueprintResponse": { + "base": null, + "refs": { + } + }, + "GetPipelineChangeProgressRequest": { + "base": null, + "refs": { + } + }, + "GetPipelineChangeProgressResponse": { + "base": null, + "refs": { + } + }, + "GetPipelineRequest": { + "base": null, + "refs": { + } + }, + "GetPipelineResponse": { + "base": null, + "refs": { + } + }, + "IngestEndpointUrlsList": { + "base": null, + "refs": { + "Pipeline$IngestEndpointUrls": "

The ingestion endpoints for the pipeline, which you can send data to.

" + } + }, + "Integer": { + "base": null, + "refs": { + "ChangeProgressStatus$TotalNumberOfStages": "

The total number of stages required for the pipeline configuration change.

", + "Pipeline$MinUnits": "

The minimum pipeline capacity, in Ingestion Compute Units (ICUs).

", + "Pipeline$MaxUnits": "

The maximum pipeline capacity, in Ingestion Compute Units (ICUs).

" + } + }, + "InternalException": { + "base": "

The request failed because of an unknown error, exception, or failure (the failure is internal to the service).

", + "refs": { + } + }, + "InvalidPaginationTokenException": { + "base": "

An invalid pagination token provided in the request.

", + "refs": { + } + }, + "LimitExceededException": { + "base": "

You attempted to create more than the allowed number of tags.

", + "refs": { + } + }, + "ListPipelineBlueprintsRequest": { + "base": null, + "refs": { + } + }, + "ListPipelineBlueprintsResponse": { + "base": null, + "refs": { + } + }, + "ListPipelinesRequest": { + "base": null, + "refs": { + } + }, + "ListPipelinesResponse": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "LogGroup": { + "base": null, + "refs": { + "CloudWatchLogDestination$LogGroup": "

The name of the CloudWatch Logs group to send pipeline logs to. You can specify an existing log group or create a new one. For example, /aws/OpenSearchService/IngestionService/my-pipeline.

" + } + }, + "LogPublishingOptions": { + "base": "

Container for the values required to configure logging for the pipeline. If you don't specify these values, OpenSearch Ingestion will not publish logs from your application to CloudWatch Logs.

", + "refs": { + "CreatePipelineRequest$LogPublishingOptions": "

Key-value pairs to configure log publishing.

", + "Pipeline$LogPublishingOptions": "

Key-value pairs that represent log publishing settings.

", + "UpdatePipelineRequest$LogPublishingOptions": "

Key-value pairs to configure log publishing.

" + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListPipelinesRequest$MaxResults": "

An optional parameter that specifies the maximum number of results to return. You can use nextToken to get the next page of results.

" + } + }, + "NextToken": { + "base": null, + "refs": { + "ListPipelinesRequest$NextToken": "

If your initial ListPipelines operation returns a nextToken, you can include the returned nextToken in subsequent ListPipelines operations, which returns results in the next page.

", + "ListPipelinesResponse$NextToken": "

When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

" + } + }, + "Pipeline": { + "base": "

Information about an existing OpenSearch Ingestion pipeline.

", + "refs": { + "CreatePipelineResponse$Pipeline": "

Container for information about the created pipeline.

", + "GetPipelineResponse$Pipeline": "

Detailed information about the requested pipeline.

", + "StartPipelineResponse$Pipeline": null, + "StopPipelineResponse$Pipeline": null, + "UpdatePipelineResponse$Pipeline": "

Container for information about the updated pipeline.

" + } + }, + "PipelineArn": { + "base": null, + "refs": { + "ListTagsForResourceRequest$Arn": "

The Amazon Resource Name (ARN) of the pipeline to retrieve tags for.

", + "PipelineSummary$PipelineArn": "

The Amazon Resource Name (ARN) of the pipeline.

", + "TagResourceRequest$Arn": "

The Amazon Resource Name (ARN) of the pipeline to tag.

", + "UntagResourceRequest$Arn": "

The Amazon Resource Name (ARN) of the pipeline to remove tags from.

" + } + }, + "PipelineBlueprint": { + "base": "

Container for information about an OpenSearch Ingestion blueprint.

", + "refs": { + "GetPipelineBlueprintResponse$Blueprint": "

The requested blueprint in YAML format.

" + } + }, + "PipelineBlueprintSummary": { + "base": "

A summary of an OpenSearch Ingestion blueprint.

", + "refs": { + "PipelineBlueprintsSummaryList$member": null + } + }, + "PipelineBlueprintsSummaryList": { + "base": null, + "refs": { + "ListPipelineBlueprintsResponse$Blueprints": "

A list of available blueprints for Data Prepper.

" + } + }, + "PipelineConfigurationBody": { + "base": null, + "refs": { + "CreatePipelineRequest$PipelineConfigurationBody": "

The pipeline configuration in YAML format. The command accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with \\n.

", + "UpdatePipelineRequest$PipelineConfigurationBody": "

The pipeline configuration in YAML format. The command accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with \\n.

", + "ValidatePipelineRequest$PipelineConfigurationBody": "

The pipeline configuration in YAML format. The command accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with \\n.

" + } + }, + "PipelineName": { + "base": null, + "refs": { + "CreatePipelineRequest$PipelineName": "

The name of the OpenSearch Ingestion pipeline to create. Pipeline names are unique across the pipelines owned by an account within an Amazon Web Services Region.

", + "DeletePipelineRequest$PipelineName": "

The name of the pipeline to delete.

", + "GetPipelineChangeProgressRequest$PipelineName": "

The name of the pipeline.

", + "GetPipelineRequest$PipelineName": "

The name of the pipeline to get information about.

", + "PipelineSummary$PipelineName": "

The name of the pipeline.

", + "StartPipelineRequest$PipelineName": "

The name of the pipeline to start.

", + "StopPipelineRequest$PipelineName": "

The name of the pipeline to stop.

", + "UpdatePipelineRequest$PipelineName": "

The name of the pipeline to update.

" + } + }, + "PipelineStatus": { + "base": null, + "refs": { + "Pipeline$Status": "

The current status of the pipeline.

", + "PipelineSummary$Status": "

The current status of the pipeline.

" + } + }, + "PipelineStatusReason": { + "base": "

Information about a pipeline's current status.

", + "refs": { + "Pipeline$StatusReason": "

The reason for the current status of the pipeline.

", + "PipelineSummary$StatusReason": null + } + }, + "PipelineSummary": { + "base": "

Summary information for an OpenSearch Ingestion pipeline.

", + "refs": { + "PipelineSummaryList$member": null + } + }, + "PipelineSummaryList": { + "base": null, + "refs": { + "ListPipelinesResponse$Pipelines": "

A list of all existing Data Prepper pipelines.

" + } + }, + "PipelineUnits": { + "base": null, + "refs": { + "CreatePipelineRequest$MinUnits": "

The minimum pipeline capacity, in Ingestion Compute Units (ICUs).

", + "CreatePipelineRequest$MaxUnits": "

The maximum pipeline capacity, in Ingestion Compute Units (ICUs).

", + "PipelineSummary$MinUnits": "

The minimum pipeline capacity, in Ingestion Compute Units (ICUs).

", + "PipelineSummary$MaxUnits": "

The maximum pipeline capacity, in Ingestion Compute Units (ICUs).

", + "UpdatePipelineRequest$MinUnits": "

The minimum pipeline capacity, in Ingestion Compute Units (ICUs).

", + "UpdatePipelineRequest$MaxUnits": "

The maximum pipeline capacity, in Ingestion Compute Units (ICUs)

" + } + }, + "ResourceAlreadyExistsException": { + "base": "

You attempted to create a resource that already exists.

", + "refs": { + } + }, + "ResourceNotFoundException": { + "base": "

You attempted to access or delete a resource that does not exist.

", + "refs": { + } + }, + "SecurityGroupId": { + "base": null, + "refs": { + "SecurityGroupIds$member": null + } + }, + "SecurityGroupIds": { + "base": null, + "refs": { + "VpcOptions$SecurityGroupIds": "

A list of security groups associated with the VPC endpoint.

" + } + }, + "StartPipelineRequest": { + "base": null, + "refs": { + } + }, + "StartPipelineResponse": { + "base": null, + "refs": { + } + }, + "StopPipelineRequest": { + "base": null, + "refs": { + } + }, + "StopPipelineResponse": { + "base": null, + "refs": { + } + }, + "String": { + "base": null, + "refs": { + "ChangeProgressStage$Name": "

The name of the stage.

", + "ChangeProgressStage$Description": "

A description of the stage.

", + "GetPipelineBlueprintRequest$BlueprintName": "

The name of the blueprint to retrieve.

", + "IngestEndpointUrlsList$member": null, + "Pipeline$PipelineName": "

The name of the pipeline.

", + "Pipeline$PipelineArn": "

The Amazon Resource Name (ARN) of the pipeline.

", + "Pipeline$PipelineConfigurationBody": "

The Data Prepper pipeline configuration in YAML format.

", + "PipelineBlueprint$BlueprintName": "

The name of the blueprint.

", + "PipelineBlueprint$PipelineConfigurationBody": "

The YAML configuration of the blueprint.

", + "PipelineBlueprintSummary$BlueprintName": "

The name of the blueprint.

", + "PipelineStatusReason$Description": "

A description of why a pipeline has a certain status.

", + "StringList$member": null, + "ValidationMessage$Message": "

The validation message.

", + "VpcEndpoint$VpcEndpointId": "

The unique identifier of the endpoint.

", + "VpcEndpoint$VpcId": "

The ID for your VPC. Amazon Web Services PrivateLink generates this value when you create a VPC.

" + } + }, + "StringList": { + "base": null, + "refs": { + "UntagResourceRequest$TagKeys": "

The tag keys to remove.

" + } + }, + "SubnetId": { + "base": null, + "refs": { + "SubnetIds$member": null + } + }, + "SubnetIds": { + "base": null, + "refs": { + "VpcOptions$SubnetIds": "

A list of subnet IDs associated with the VPC endpoint.

" + } + }, + "Tag": { + "base": "

A tag (key-value pair) for an OpenSearch Ingestion pipeline.

", + "refs": { + "TagList$member": null + } + }, + "TagKey": { + "base": null, + "refs": { + "Tag$Key": "

The tag key. Tag keys must be unique for the pipeline to which they are attached.

" + } + }, + "TagList": { + "base": null, + "refs": { + "CreatePipelineRequest$Tags": "

List of tags to add to the pipeline upon creation.

", + "ListTagsForResourceResponse$Tags": "

A list of tags associated with the given pipeline.

", + "TagResourceRequest$Tags": "

The list of key-value tags to add to the pipeline.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "Tag$Value": "

The value assigned to the corresponding tag key. Tag values can be null and don't have to be unique in a tag set. For example, you can have a key value pair in a tag set of project : Trinity and cost-center : Trinity

" + } + }, + "Timestamp": { + "base": null, + "refs": { + "ChangeProgressStage$LastUpdatedAt": "

The most recent updated timestamp of the stage.

", + "ChangeProgressStatus$StartTime": "

The time at which the configuration change is made on the pipeline.

", + "Pipeline$CreatedAt": "

The date and time when the pipeline was created.

", + "Pipeline$LastUpdatedAt": "

The date and time when the pipeline was last updated.

", + "PipelineSummary$CreatedAt": "

The date and time when the pipeline was created.

", + "PipelineSummary$LastUpdatedAt": "

The date and time when the pipeline was last updated.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "UpdatePipelineRequest": { + "base": null, + "refs": { + } + }, + "UpdatePipelineResponse": { + "base": null, + "refs": { + } + }, + "ValidatePipelineRequest": { + "base": null, + "refs": { + } + }, + "ValidatePipelineResponse": { + "base": null, + "refs": { + } + }, + "ValidationException": { + "base": "

An exception for missing or invalid input fields.

", + "refs": { + } + }, + "ValidationMessage": { + "base": "

A validation message associated with a ValidatePipeline request in OpenSearch Ingestion.

", + "refs": { + "ValidationMessageList$member": null + } + }, + "ValidationMessageList": { + "base": null, + "refs": { + "ValidatePipelineResponse$Errors": "

A list of errors if the configuration is invalid.

" + } + }, + "VpcEndpoint": { + "base": "

An OpenSearch Ingestion-managed VPC endpoint that will access one or more pipelines.

", + "refs": { + "VpcEndpointsList$member": null + } + }, + "VpcEndpointsList": { + "base": null, + "refs": { + "Pipeline$VpcEndpoints": "

The VPC interface endpoints that have access to the pipeline.

" + } + }, + "VpcOptions": { + "base": "

Options that specify the subnets and security groups for an OpenSearch Ingestion VPC endpoint.

", + "refs": { + "CreatePipelineRequest$VpcOptions": "

Container for the values required to configure VPC access for the pipeline. If you don't specify these values, OpenSearch Ingestion creates the pipeline with a public endpoint.

", + "VpcEndpoint$VpcOptions": "

Information about the VPC, including associated subnets and security groups.

" + } + } + } +} diff --git a/models/apis/osis/2022-01-01/endpoint-rule-set-1.json b/models/apis/osis/2022-01-01/endpoint-rule-set-1.json new file mode 100644 index 00000000000..67e24b06cd2 --- /dev/null +++ b/models/apis/osis/2022-01-01/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://osis-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://osis-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://osis.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://osis.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/osis/2022-01-01/endpoint-tests-1.json b/models/apis/osis/2022-01-01/endpoint-tests-1.json new file mode 100644 index 00000000000..fe1fc13fd7a --- /dev/null +++ b/models/apis/osis/2022-01-01/endpoint-tests-1.json @@ -0,0 +1,295 @@ +{ + "testCases": [ + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://osis-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://osis-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://osis.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://osis.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://osis-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://osis-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://osis.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://osis.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://osis-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://osis.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://osis-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://osis-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://osis.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://osis.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://osis-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://osis.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": false, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/osis/2022-01-01/examples-1.json b/models/apis/osis/2022-01-01/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/osis/2022-01-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/osis/2022-01-01/paginators-1.json b/models/apis/osis/2022-01-01/paginators-1.json new file mode 100644 index 00000000000..1d23f6ce482 --- /dev/null +++ b/models/apis/osis/2022-01-01/paginators-1.json @@ -0,0 +1,9 @@ +{ + "pagination": { + "ListPipelines": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + } + } +} diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 53aa6232f08..3af5a193961 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -11278,6 +11278,20 @@ "isRegionalized" : false, "partitionEndpoint" : "aws-global" }, + "osis" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "outposts" : { "endpoints" : { "af-south-1" : { }, @@ -18193,6 +18207,12 @@ "cn-northwest-1" : { } } }, + "license-manager-linux-subscriptions" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, "logs" : { "endpoints" : { "cn-north-1" : { }, diff --git a/service/osis/api.go b/service/osis/api.go new file mode 100644 index 00000000000..f8632894ccf --- /dev/null +++ b/service/osis/api.go @@ -0,0 +1,4026 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package osis + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opCreatePipeline = "CreatePipeline" + +// CreatePipelineRequest generates a "aws/request.Request" representing the +// client's request for the CreatePipeline operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreatePipeline for more information on using the CreatePipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreatePipelineRequest method. +// req, resp := client.CreatePipelineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/CreatePipeline +func (c *OSIS) CreatePipelineRequest(input *CreatePipelineInput) (req *request.Request, output *CreatePipelineOutput) { + op := &request.Operation{ + Name: opCreatePipeline, + HTTPMethod: "POST", + HTTPPath: "/2022-01-01/osis/createPipeline", + } + + if input == nil { + input = &CreatePipelineInput{} + } + + output = &CreatePipelineOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePipeline API operation for Amazon OpenSearch Ingestion. +// +// Creates an OpenSearch Ingestion pipeline. For more information, see Creating +// and managing OpenSearch Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/manage-pipeline.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Ingestion's +// API operation CreatePipeline for usage and error information. +// +// Returned Error Types: +// +// - LimitExceededException +// You attempted to create more than the allowed number of tags. +// +// - ValidationException +// An exception for missing or invalid input fields. +// +// - InternalException +// The request failed because of an unknown error, exception, or failure (the +// failure is internal to the service). +// +// - AccessDeniedException +// You don't have permissions to access the resource. +// +// - ResourceAlreadyExistsException +// You attempted to create a resource that already exists. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/CreatePipeline +func (c *OSIS) CreatePipeline(input *CreatePipelineInput) (*CreatePipelineOutput, error) { + req, out := c.CreatePipelineRequest(input) + return out, req.Send() +} + +// CreatePipelineWithContext is the same as CreatePipeline with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePipeline for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *OSIS) CreatePipelineWithContext(ctx aws.Context, input *CreatePipelineInput, opts ...request.Option) (*CreatePipelineOutput, error) { + req, out := c.CreatePipelineRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeletePipeline = "DeletePipeline" + +// DeletePipelineRequest generates a "aws/request.Request" representing the +// client's request for the DeletePipeline operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeletePipeline for more information on using the DeletePipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeletePipelineRequest method. +// req, resp := client.DeletePipelineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/DeletePipeline +func (c *OSIS) DeletePipelineRequest(input *DeletePipelineInput) (req *request.Request, output *DeletePipelineOutput) { + op := &request.Operation{ + Name: opDeletePipeline, + HTTPMethod: "DELETE", + HTTPPath: "/2022-01-01/osis/deletePipeline/{PipelineName}", + } + + if input == nil { + input = &DeletePipelineInput{} + } + + output = &DeletePipelineOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeletePipeline API operation for Amazon OpenSearch Ingestion. +// +// Deletes an OpenSearch Ingestion pipeline. For more information, see Deleting +// pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/manage-pipeline.html#delete-pipeline). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Ingestion's +// API operation DeletePipeline for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// An exception for missing or invalid input fields. +// +// - InternalException +// The request failed because of an unknown error, exception, or failure (the +// failure is internal to the service). +// +// - AccessDeniedException +// You don't have permissions to access the resource. +// +// - ResourceNotFoundException +// You attempted to access or delete a resource that does not exist. +// +// - ConflictException +// The client attempted to remove a resource that is currently in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/DeletePipeline +func (c *OSIS) DeletePipeline(input *DeletePipelineInput) (*DeletePipelineOutput, error) { + req, out := c.DeletePipelineRequest(input) + return out, req.Send() +} + +// DeletePipelineWithContext is the same as DeletePipeline with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePipeline for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *OSIS) DeletePipelineWithContext(ctx aws.Context, input *DeletePipelineInput, opts ...request.Option) (*DeletePipelineOutput, error) { + req, out := c.DeletePipelineRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetPipeline = "GetPipeline" + +// GetPipelineRequest generates a "aws/request.Request" representing the +// client's request for the GetPipeline operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetPipeline for more information on using the GetPipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetPipelineRequest method. +// req, resp := client.GetPipelineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/GetPipeline +func (c *OSIS) GetPipelineRequest(input *GetPipelineInput) (req *request.Request, output *GetPipelineOutput) { + op := &request.Operation{ + Name: opGetPipeline, + HTTPMethod: "GET", + HTTPPath: "/2022-01-01/osis/getPipeline/{PipelineName}", + } + + if input == nil { + input = &GetPipelineInput{} + } + + output = &GetPipelineOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPipeline API operation for Amazon OpenSearch Ingestion. +// +// Retrieves information about an OpenSearch Ingestion pipeline. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Ingestion's +// API operation GetPipeline for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// An exception for missing or invalid input fields. +// +// - InternalException +// The request failed because of an unknown error, exception, or failure (the +// failure is internal to the service). +// +// - AccessDeniedException +// You don't have permissions to access the resource. +// +// - ResourceNotFoundException +// You attempted to access or delete a resource that does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/GetPipeline +func (c *OSIS) GetPipeline(input *GetPipelineInput) (*GetPipelineOutput, error) { + req, out := c.GetPipelineRequest(input) + return out, req.Send() +} + +// GetPipelineWithContext is the same as GetPipeline with the addition of +// the ability to pass a context and additional request options. +// +// See GetPipeline for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *OSIS) GetPipelineWithContext(ctx aws.Context, input *GetPipelineInput, opts ...request.Option) (*GetPipelineOutput, error) { + req, out := c.GetPipelineRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetPipelineBlueprint = "GetPipelineBlueprint" + +// GetPipelineBlueprintRequest generates a "aws/request.Request" representing the +// client's request for the GetPipelineBlueprint operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetPipelineBlueprint for more information on using the GetPipelineBlueprint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetPipelineBlueprintRequest method. +// req, resp := client.GetPipelineBlueprintRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/GetPipelineBlueprint +func (c *OSIS) GetPipelineBlueprintRequest(input *GetPipelineBlueprintInput) (req *request.Request, output *GetPipelineBlueprintOutput) { + op := &request.Operation{ + Name: opGetPipelineBlueprint, + HTTPMethod: "GET", + HTTPPath: "/2022-01-01/osis/getPipelineBlueprint/{BlueprintName}", + } + + if input == nil { + input = &GetPipelineBlueprintInput{} + } + + output = &GetPipelineBlueprintOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPipelineBlueprint API operation for Amazon OpenSearch Ingestion. +// +// Retrieves information about a specific blueprint for OpenSearch Ingestion. +// Blueprints are templates for the configuration needed for a CreatePipeline +// request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Ingestion's +// API operation GetPipelineBlueprint for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have permissions to access the resource. +// +// - InternalException +// The request failed because of an unknown error, exception, or failure (the +// failure is internal to the service). +// +// - ValidationException +// An exception for missing or invalid input fields. +// +// - ResourceNotFoundException +// You attempted to access or delete a resource that does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/GetPipelineBlueprint +func (c *OSIS) GetPipelineBlueprint(input *GetPipelineBlueprintInput) (*GetPipelineBlueprintOutput, error) { + req, out := c.GetPipelineBlueprintRequest(input) + return out, req.Send() +} + +// GetPipelineBlueprintWithContext is the same as GetPipelineBlueprint with the addition of +// the ability to pass a context and additional request options. +// +// See GetPipelineBlueprint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *OSIS) GetPipelineBlueprintWithContext(ctx aws.Context, input *GetPipelineBlueprintInput, opts ...request.Option) (*GetPipelineBlueprintOutput, error) { + req, out := c.GetPipelineBlueprintRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetPipelineChangeProgress = "GetPipelineChangeProgress" + +// GetPipelineChangeProgressRequest generates a "aws/request.Request" representing the +// client's request for the GetPipelineChangeProgress operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetPipelineChangeProgress for more information on using the GetPipelineChangeProgress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetPipelineChangeProgressRequest method. +// req, resp := client.GetPipelineChangeProgressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/GetPipelineChangeProgress +func (c *OSIS) GetPipelineChangeProgressRequest(input *GetPipelineChangeProgressInput) (req *request.Request, output *GetPipelineChangeProgressOutput) { + op := &request.Operation{ + Name: opGetPipelineChangeProgress, + HTTPMethod: "GET", + HTTPPath: "/2022-01-01/osis/getPipelineChangeProgress/{PipelineName}", + } + + if input == nil { + input = &GetPipelineChangeProgressInput{} + } + + output = &GetPipelineChangeProgressOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPipelineChangeProgress API operation for Amazon OpenSearch Ingestion. +// +// Returns progress information for the current change happening on an OpenSearch +// Ingestion pipeline. Currently, this operation only returns information when +// a pipeline is being created. +// +// For more information, see Creating and managing OpenSearch Ingestion pipelines +// (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/manage-pipeline.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Ingestion's +// API operation GetPipelineChangeProgress for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// An exception for missing or invalid input fields. +// +// - InternalException +// The request failed because of an unknown error, exception, or failure (the +// failure is internal to the service). +// +// - AccessDeniedException +// You don't have permissions to access the resource. +// +// - ResourceNotFoundException +// You attempted to access or delete a resource that does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/GetPipelineChangeProgress +func (c *OSIS) GetPipelineChangeProgress(input *GetPipelineChangeProgressInput) (*GetPipelineChangeProgressOutput, error) { + req, out := c.GetPipelineChangeProgressRequest(input) + return out, req.Send() +} + +// GetPipelineChangeProgressWithContext is the same as GetPipelineChangeProgress with the addition of +// the ability to pass a context and additional request options. +// +// See GetPipelineChangeProgress for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *OSIS) GetPipelineChangeProgressWithContext(ctx aws.Context, input *GetPipelineChangeProgressInput, opts ...request.Option) (*GetPipelineChangeProgressOutput, error) { + req, out := c.GetPipelineChangeProgressRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListPipelineBlueprints = "ListPipelineBlueprints" + +// ListPipelineBlueprintsRequest generates a "aws/request.Request" representing the +// client's request for the ListPipelineBlueprints operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListPipelineBlueprints for more information on using the ListPipelineBlueprints +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListPipelineBlueprintsRequest method. +// req, resp := client.ListPipelineBlueprintsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/ListPipelineBlueprints +func (c *OSIS) ListPipelineBlueprintsRequest(input *ListPipelineBlueprintsInput) (req *request.Request, output *ListPipelineBlueprintsOutput) { + op := &request.Operation{ + Name: opListPipelineBlueprints, + HTTPMethod: "POST", + HTTPPath: "/2022-01-01/osis/listPipelineBlueprints", + } + + if input == nil { + input = &ListPipelineBlueprintsInput{} + } + + output = &ListPipelineBlueprintsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPipelineBlueprints API operation for Amazon OpenSearch Ingestion. +// +// Retrieves a list of all available blueprints for Data Prepper. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Ingestion's +// API operation ListPipelineBlueprints for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// An exception for missing or invalid input fields. +// +// - InternalException +// The request failed because of an unknown error, exception, or failure (the +// failure is internal to the service). +// +// - AccessDeniedException +// You don't have permissions to access the resource. +// +// - InvalidPaginationTokenException +// An invalid pagination token provided in the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/ListPipelineBlueprints +func (c *OSIS) ListPipelineBlueprints(input *ListPipelineBlueprintsInput) (*ListPipelineBlueprintsOutput, error) { + req, out := c.ListPipelineBlueprintsRequest(input) + return out, req.Send() +} + +// ListPipelineBlueprintsWithContext is the same as ListPipelineBlueprints with the addition of +// the ability to pass a context and additional request options. +// +// See ListPipelineBlueprints for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *OSIS) ListPipelineBlueprintsWithContext(ctx aws.Context, input *ListPipelineBlueprintsInput, opts ...request.Option) (*ListPipelineBlueprintsOutput, error) { + req, out := c.ListPipelineBlueprintsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListPipelines = "ListPipelines" + +// ListPipelinesRequest generates a "aws/request.Request" representing the +// client's request for the ListPipelines operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListPipelines for more information on using the ListPipelines +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListPipelinesRequest method. +// req, resp := client.ListPipelinesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/ListPipelines +func (c *OSIS) ListPipelinesRequest(input *ListPipelinesInput) (req *request.Request, output *ListPipelinesOutput) { + op := &request.Operation{ + Name: opListPipelines, + HTTPMethod: "GET", + HTTPPath: "/2022-01-01/osis/listPipelines", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPipelinesInput{} + } + + output = &ListPipelinesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPipelines API operation for Amazon OpenSearch Ingestion. +// +// Lists all OpenSearch Ingestion pipelines in the current Amazon Web Services +// account and Region. For more information, see Creating and managing OpenSearch +// Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/manage-pipeline.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Ingestion's +// API operation ListPipelines for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// An exception for missing or invalid input fields. +// +// - InternalException +// The request failed because of an unknown error, exception, or failure (the +// failure is internal to the service). +// +// - AccessDeniedException +// You don't have permissions to access the resource. +// +// - InvalidPaginationTokenException +// An invalid pagination token provided in the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/ListPipelines +func (c *OSIS) ListPipelines(input *ListPipelinesInput) (*ListPipelinesOutput, error) { + req, out := c.ListPipelinesRequest(input) + return out, req.Send() +} + +// ListPipelinesWithContext is the same as ListPipelines with the addition of +// the ability to pass a context and additional request options. +// +// See ListPipelines for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *OSIS) ListPipelinesWithContext(ctx aws.Context, input *ListPipelinesInput, opts ...request.Option) (*ListPipelinesOutput, error) { + req, out := c.ListPipelinesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPipelinesPages iterates over the pages of a ListPipelines operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPipelines method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListPipelines operation. +// pageNum := 0 +// err := client.ListPipelinesPages(params, +// func(page *osis.ListPipelinesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *OSIS) ListPipelinesPages(input *ListPipelinesInput, fn func(*ListPipelinesOutput, bool) bool) error { + return c.ListPipelinesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPipelinesPagesWithContext same as ListPipelinesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *OSIS) ListPipelinesPagesWithContext(ctx aws.Context, input *ListPipelinesInput, fn func(*ListPipelinesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPipelinesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPipelinesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPipelinesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/ListTagsForResource +func (c *OSIS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/2022-01-01/osis/listTagsForResource/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon OpenSearch Ingestion. +// +// Lists all resource tags associated with an OpenSearch Ingestion pipeline. +// For more information, see Tagging OpenSearch Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/tag-pipeline.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Ingestion's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// An exception for missing or invalid input fields. +// +// - ResourceNotFoundException +// You attempted to access or delete a resource that does not exist. +// +// - InternalException +// The request failed because of an unknown error, exception, or failure (the +// failure is internal to the service). +// +// - AccessDeniedException +// You don't have permissions to access the resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/ListTagsForResource +func (c *OSIS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *OSIS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartPipeline = "StartPipeline" + +// StartPipelineRequest generates a "aws/request.Request" representing the +// client's request for the StartPipeline operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartPipeline for more information on using the StartPipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the StartPipelineRequest method. +// req, resp := client.StartPipelineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/StartPipeline +func (c *OSIS) StartPipelineRequest(input *StartPipelineInput) (req *request.Request, output *StartPipelineOutput) { + op := &request.Operation{ + Name: opStartPipeline, + HTTPMethod: "PUT", + HTTPPath: "/2022-01-01/osis/startPipeline/{PipelineName}", + } + + if input == nil { + input = &StartPipelineInput{} + } + + output = &StartPipelineOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartPipeline API operation for Amazon OpenSearch Ingestion. +// +// Starts an OpenSearch Ingestion pipeline. For more information, see Starting +// pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/manage-pipeline.html#start-pipeline). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Ingestion's +// API operation StartPipeline for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have permissions to access the resource. +// +// - ConflictException +// The client attempted to remove a resource that is currently in use. +// +// - InternalException +// The request failed because of an unknown error, exception, or failure (the +// failure is internal to the service). +// +// - ResourceNotFoundException +// You attempted to access or delete a resource that does not exist. +// +// - ValidationException +// An exception for missing or invalid input fields. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/StartPipeline +func (c *OSIS) StartPipeline(input *StartPipelineInput) (*StartPipelineOutput, error) { + req, out := c.StartPipelineRequest(input) + return out, req.Send() +} + +// StartPipelineWithContext is the same as StartPipeline with the addition of +// the ability to pass a context and additional request options. +// +// See StartPipeline for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *OSIS) StartPipelineWithContext(ctx aws.Context, input *StartPipelineInput, opts ...request.Option) (*StartPipelineOutput, error) { + req, out := c.StartPipelineRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopPipeline = "StopPipeline" + +// StopPipelineRequest generates a "aws/request.Request" representing the +// client's request for the StopPipeline operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopPipeline for more information on using the StopPipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the StopPipelineRequest method. +// req, resp := client.StopPipelineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/StopPipeline +func (c *OSIS) StopPipelineRequest(input *StopPipelineInput) (req *request.Request, output *StopPipelineOutput) { + op := &request.Operation{ + Name: opStopPipeline, + HTTPMethod: "PUT", + HTTPPath: "/2022-01-01/osis/stopPipeline/{PipelineName}", + } + + if input == nil { + input = &StopPipelineInput{} + } + + output = &StopPipelineOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopPipeline API operation for Amazon OpenSearch Ingestion. +// +// Stops an OpenSearch Ingestion pipeline. For more information, see Stopping +// pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/manage-pipeline.html#stop-pipeline). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Ingestion's +// API operation StopPipeline for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have permissions to access the resource. +// +// - ConflictException +// The client attempted to remove a resource that is currently in use. +// +// - InternalException +// The request failed because of an unknown error, exception, or failure (the +// failure is internal to the service). +// +// - ResourceNotFoundException +// You attempted to access or delete a resource that does not exist. +// +// - ValidationException +// An exception for missing or invalid input fields. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/StopPipeline +func (c *OSIS) StopPipeline(input *StopPipelineInput) (*StopPipelineOutput, error) { + req, out := c.StopPipelineRequest(input) + return out, req.Send() +} + +// StopPipelineWithContext is the same as StopPipeline with the addition of +// the ability to pass a context and additional request options. +// +// See StopPipeline for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *OSIS) StopPipelineWithContext(ctx aws.Context, input *StopPipelineInput, opts ...request.Option) (*StopPipelineOutput, error) { + req, out := c.StopPipelineRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/TagResource +func (c *OSIS) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/2022-01-01/osis/tagResource/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon OpenSearch Ingestion. +// +// Tags an OpenSearch Ingestion pipeline. For more information, see Tagging +// OpenSearch Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/tag-pipeline.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Ingestion's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - LimitExceededException +// You attempted to create more than the allowed number of tags. +// +// - ValidationException +// An exception for missing or invalid input fields. +// +// - InternalException +// The request failed because of an unknown error, exception, or failure (the +// failure is internal to the service). +// +// - AccessDeniedException +// You don't have permissions to access the resource. +// +// - ResourceNotFoundException +// You attempted to access or delete a resource that does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/TagResource +func (c *OSIS) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *OSIS) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/UntagResource +func (c *OSIS) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/2022-01-01/osis/untagResource/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon OpenSearch Ingestion. +// +// Removes one or more tags from an OpenSearch Ingestion pipeline. For more +// information, see Tagging OpenSearch Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/tag-pipeline.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Ingestion's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// An exception for missing or invalid input fields. +// +// - ResourceNotFoundException +// You attempted to access or delete a resource that does not exist. +// +// - InternalException +// The request failed because of an unknown error, exception, or failure (the +// failure is internal to the service). +// +// - AccessDeniedException +// You don't have permissions to access the resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/UntagResource +func (c *OSIS) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *OSIS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdatePipeline = "UpdatePipeline" + +// UpdatePipelineRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePipeline operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdatePipeline for more information on using the UpdatePipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdatePipelineRequest method. +// req, resp := client.UpdatePipelineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/UpdatePipeline +func (c *OSIS) UpdatePipelineRequest(input *UpdatePipelineInput) (req *request.Request, output *UpdatePipelineOutput) { + op := &request.Operation{ + Name: opUpdatePipeline, + HTTPMethod: "PUT", + HTTPPath: "/2022-01-01/osis/updatePipeline/{PipelineName}", + } + + if input == nil { + input = &UpdatePipelineInput{} + } + + output = &UpdatePipelineOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdatePipeline API operation for Amazon OpenSearch Ingestion. +// +// Updates an OpenSearch Ingestion pipeline. For more information, see Creating +// and managing OpenSearch Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/manage-pipeline.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Ingestion's +// API operation UpdatePipeline for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// An exception for missing or invalid input fields. +// +// - InternalException +// The request failed because of an unknown error, exception, or failure (the +// failure is internal to the service). +// +// - AccessDeniedException +// You don't have permissions to access the resource. +// +// - ResourceNotFoundException +// You attempted to access or delete a resource that does not exist. +// +// - ConflictException +// The client attempted to remove a resource that is currently in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/UpdatePipeline +func (c *OSIS) UpdatePipeline(input *UpdatePipelineInput) (*UpdatePipelineOutput, error) { + req, out := c.UpdatePipelineRequest(input) + return out, req.Send() +} + +// UpdatePipelineWithContext is the same as UpdatePipeline with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePipeline for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *OSIS) UpdatePipelineWithContext(ctx aws.Context, input *UpdatePipelineInput, opts ...request.Option) (*UpdatePipelineOutput, error) { + req, out := c.UpdatePipelineRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opValidatePipeline = "ValidatePipeline" + +// ValidatePipelineRequest generates a "aws/request.Request" representing the +// client's request for the ValidatePipeline operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ValidatePipeline for more information on using the ValidatePipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ValidatePipelineRequest method. +// req, resp := client.ValidatePipelineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/ValidatePipeline +func (c *OSIS) ValidatePipelineRequest(input *ValidatePipelineInput) (req *request.Request, output *ValidatePipelineOutput) { + op := &request.Operation{ + Name: opValidatePipeline, + HTTPMethod: "POST", + HTTPPath: "/2022-01-01/osis/validatePipeline", + } + + if input == nil { + input = &ValidatePipelineInput{} + } + + output = &ValidatePipelineOutput{} + req = c.newRequest(op, input, output) + return +} + +// ValidatePipeline API operation for Amazon OpenSearch Ingestion. +// +// Checks whether an OpenSearch Ingestion pipeline configuration is valid prior +// to creation. For more information, see Creating and managing OpenSearch Ingestion +// pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/manage-pipeline.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Ingestion's +// API operation ValidatePipeline for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have permissions to access the resource. +// +// - InternalException +// The request failed because of an unknown error, exception, or failure (the +// failure is internal to the service). +// +// - ValidationException +// An exception for missing or invalid input fields. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/ValidatePipeline +func (c *OSIS) ValidatePipeline(input *ValidatePipelineInput) (*ValidatePipelineOutput, error) { + req, out := c.ValidatePipelineRequest(input) + return out, req.Send() +} + +// ValidatePipelineWithContext is the same as ValidatePipeline with the addition of +// the ability to pass a context and additional request options. +// +// See ValidatePipeline for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *OSIS) ValidatePipelineWithContext(ctx aws.Context, input *ValidatePipelineInput, opts ...request.Option) (*ValidatePipelineOutput, error) { + req, out := c.ValidatePipelineRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// You don't have permissions to access the resource. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Progress details for a specific stage of a pipeline configuration change. +type ChangeProgressStage struct { + _ struct{} `type:"structure"` + + // A description of the stage. + Description *string `type:"string"` + + // The most recent updated timestamp of the stage. + LastUpdatedAt *time.Time `type:"timestamp"` + + // The name of the stage. + Name *string `type:"string"` + + // The current status of the stage that the change is in. + Status *string `type:"string" enum:"ChangeProgressStageStatuses"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ChangeProgressStage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ChangeProgressStage) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *ChangeProgressStage) SetDescription(v string) *ChangeProgressStage { + s.Description = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *ChangeProgressStage) SetLastUpdatedAt(v time.Time) *ChangeProgressStage { + s.LastUpdatedAt = &v + return s +} + +// SetName sets the Name field's value. +func (s *ChangeProgressStage) SetName(v string) *ChangeProgressStage { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ChangeProgressStage) SetStatus(v string) *ChangeProgressStage { + s.Status = &v + return s +} + +// The progress details of a pipeline configuration change. +type ChangeProgressStatus struct { + _ struct{} `type:"structure"` + + // Information about the stages that the pipeline is going through to perform + // the configuration change. + ChangeProgressStages []*ChangeProgressStage `type:"list"` + + // The time at which the configuration change is made on the pipeline. + StartTime *time.Time `type:"timestamp"` + + // The overall status of the pipeline configuration change. + Status *string `type:"string" enum:"ChangeProgressStatuses"` + + // The total number of stages required for the pipeline configuration change. + TotalNumberOfStages *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ChangeProgressStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ChangeProgressStatus) GoString() string { + return s.String() +} + +// SetChangeProgressStages sets the ChangeProgressStages field's value. +func (s *ChangeProgressStatus) SetChangeProgressStages(v []*ChangeProgressStage) *ChangeProgressStatus { + s.ChangeProgressStages = v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ChangeProgressStatus) SetStartTime(v time.Time) *ChangeProgressStatus { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ChangeProgressStatus) SetStatus(v string) *ChangeProgressStatus { + s.Status = &v + return s +} + +// SetTotalNumberOfStages sets the TotalNumberOfStages field's value. +func (s *ChangeProgressStatus) SetTotalNumberOfStages(v int64) *ChangeProgressStatus { + s.TotalNumberOfStages = &v + return s +} + +// The destination for OpenSearch Ingestion logs sent to Amazon CloudWatch. +type CloudWatchLogDestination struct { + _ struct{} `type:"structure"` + + // The name of the CloudWatch Logs group to send pipeline logs to. You can specify + // an existing log group or create a new one. For example, /aws/OpenSearchService/IngestionService/my-pipeline. + // + // LogGroup is a required field + LogGroup *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CloudWatchLogDestination) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CloudWatchLogDestination) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CloudWatchLogDestination) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CloudWatchLogDestination"} + if s.LogGroup == nil { + invalidParams.Add(request.NewErrParamRequired("LogGroup")) + } + if s.LogGroup != nil && len(*s.LogGroup) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LogGroup", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLogGroup sets the LogGroup field's value. +func (s *CloudWatchLogDestination) SetLogGroup(v string) *CloudWatchLogDestination { + s.LogGroup = &v + return s +} + +// The client attempted to remove a resource that is currently in use. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreatePipelineInput struct { + _ struct{} `type:"structure"` + + // Key-value pairs to configure log publishing. + LogPublishingOptions *LogPublishingOptions `type:"structure"` + + // The maximum pipeline capacity, in Ingestion Compute Units (ICUs). + // + // MaxUnits is a required field + MaxUnits *int64 `min:"1" type:"integer" required:"true"` + + // The minimum pipeline capacity, in Ingestion Compute Units (ICUs). + // + // MinUnits is a required field + MinUnits *int64 `min:"1" type:"integer" required:"true"` + + // The pipeline configuration in YAML format. The command accepts the pipeline + // configuration as a string or within a .yaml file. If you provide the configuration + // as a string, each new line must be escaped with \n. + // + // PipelineConfigurationBody is a required field + PipelineConfigurationBody *string `min:"1" type:"string" required:"true"` + + // The name of the OpenSearch Ingestion pipeline to create. Pipeline names are + // unique across the pipelines owned by an account within an Amazon Web Services + // Region. + // + // PipelineName is a required field + PipelineName *string `min:"3" type:"string" required:"true"` + + // List of tags to add to the pipeline upon creation. + Tags []*Tag `type:"list"` + + // Container for the values required to configure VPC access for the pipeline. + // If you don't specify these values, OpenSearch Ingestion creates the pipeline + // with a public endpoint. + VpcOptions *VpcOptions `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreatePipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreatePipelineInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePipelineInput"} + if s.MaxUnits == nil { + invalidParams.Add(request.NewErrParamRequired("MaxUnits")) + } + if s.MaxUnits != nil && *s.MaxUnits < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxUnits", 1)) + } + if s.MinUnits == nil { + invalidParams.Add(request.NewErrParamRequired("MinUnits")) + } + if s.MinUnits != nil && *s.MinUnits < 1 { + invalidParams.Add(request.NewErrParamMinValue("MinUnits", 1)) + } + if s.PipelineConfigurationBody == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineConfigurationBody")) + } + if s.PipelineConfigurationBody != nil && len(*s.PipelineConfigurationBody) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PipelineConfigurationBody", 1)) + } + if s.PipelineName == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineName")) + } + if s.PipelineName != nil && len(*s.PipelineName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("PipelineName", 3)) + } + if s.LogPublishingOptions != nil { + if err := s.LogPublishingOptions.Validate(); err != nil { + invalidParams.AddNested("LogPublishingOptions", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.VpcOptions != nil { + if err := s.VpcOptions.Validate(); err != nil { + invalidParams.AddNested("VpcOptions", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLogPublishingOptions sets the LogPublishingOptions field's value. +func (s *CreatePipelineInput) SetLogPublishingOptions(v *LogPublishingOptions) *CreatePipelineInput { + s.LogPublishingOptions = v + return s +} + +// SetMaxUnits sets the MaxUnits field's value. +func (s *CreatePipelineInput) SetMaxUnits(v int64) *CreatePipelineInput { + s.MaxUnits = &v + return s +} + +// SetMinUnits sets the MinUnits field's value. +func (s *CreatePipelineInput) SetMinUnits(v int64) *CreatePipelineInput { + s.MinUnits = &v + return s +} + +// SetPipelineConfigurationBody sets the PipelineConfigurationBody field's value. +func (s *CreatePipelineInput) SetPipelineConfigurationBody(v string) *CreatePipelineInput { + s.PipelineConfigurationBody = &v + return s +} + +// SetPipelineName sets the PipelineName field's value. +func (s *CreatePipelineInput) SetPipelineName(v string) *CreatePipelineInput { + s.PipelineName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreatePipelineInput) SetTags(v []*Tag) *CreatePipelineInput { + s.Tags = v + return s +} + +// SetVpcOptions sets the VpcOptions field's value. +func (s *CreatePipelineInput) SetVpcOptions(v *VpcOptions) *CreatePipelineInput { + s.VpcOptions = v + return s +} + +type CreatePipelineOutput struct { + _ struct{} `type:"structure"` + + // Container for information about the created pipeline. + Pipeline *Pipeline `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreatePipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreatePipelineOutput) GoString() string { + return s.String() +} + +// SetPipeline sets the Pipeline field's value. +func (s *CreatePipelineOutput) SetPipeline(v *Pipeline) *CreatePipelineOutput { + s.Pipeline = v + return s +} + +type DeletePipelineInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name of the pipeline to delete. + // + // PipelineName is a required field + PipelineName *string `location:"uri" locationName:"PipelineName" min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeletePipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeletePipelineInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePipelineInput"} + if s.PipelineName == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineName")) + } + if s.PipelineName != nil && len(*s.PipelineName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("PipelineName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPipelineName sets the PipelineName field's value. +func (s *DeletePipelineInput) SetPipelineName(v string) *DeletePipelineInput { + s.PipelineName = &v + return s +} + +type DeletePipelineOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeletePipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeletePipelineOutput) GoString() string { + return s.String() +} + +type GetPipelineBlueprintInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name of the blueprint to retrieve. + // + // BlueprintName is a required field + BlueprintName *string `location:"uri" locationName:"BlueprintName" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPipelineBlueprintInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPipelineBlueprintInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPipelineBlueprintInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPipelineBlueprintInput"} + if s.BlueprintName == nil { + invalidParams.Add(request.NewErrParamRequired("BlueprintName")) + } + if s.BlueprintName != nil && len(*s.BlueprintName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BlueprintName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBlueprintName sets the BlueprintName field's value. +func (s *GetPipelineBlueprintInput) SetBlueprintName(v string) *GetPipelineBlueprintInput { + s.BlueprintName = &v + return s +} + +type GetPipelineBlueprintOutput struct { + _ struct{} `type:"structure"` + + // The requested blueprint in YAML format. + Blueprint *PipelineBlueprint `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPipelineBlueprintOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPipelineBlueprintOutput) GoString() string { + return s.String() +} + +// SetBlueprint sets the Blueprint field's value. +func (s *GetPipelineBlueprintOutput) SetBlueprint(v *PipelineBlueprint) *GetPipelineBlueprintOutput { + s.Blueprint = v + return s +} + +type GetPipelineChangeProgressInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name of the pipeline. + // + // PipelineName is a required field + PipelineName *string `location:"uri" locationName:"PipelineName" min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPipelineChangeProgressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPipelineChangeProgressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPipelineChangeProgressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPipelineChangeProgressInput"} + if s.PipelineName == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineName")) + } + if s.PipelineName != nil && len(*s.PipelineName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("PipelineName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPipelineName sets the PipelineName field's value. +func (s *GetPipelineChangeProgressInput) SetPipelineName(v string) *GetPipelineChangeProgressInput { + s.PipelineName = &v + return s +} + +type GetPipelineChangeProgressOutput struct { + _ struct{} `type:"structure"` + + // The current status of the change happening on the pipeline. + ChangeProgressStatuses []*ChangeProgressStatus `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPipelineChangeProgressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPipelineChangeProgressOutput) GoString() string { + return s.String() +} + +// SetChangeProgressStatuses sets the ChangeProgressStatuses field's value. +func (s *GetPipelineChangeProgressOutput) SetChangeProgressStatuses(v []*ChangeProgressStatus) *GetPipelineChangeProgressOutput { + s.ChangeProgressStatuses = v + return s +} + +type GetPipelineInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name of the pipeline to get information about. + // + // PipelineName is a required field + PipelineName *string `location:"uri" locationName:"PipelineName" min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPipelineInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPipelineInput"} + if s.PipelineName == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineName")) + } + if s.PipelineName != nil && len(*s.PipelineName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("PipelineName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPipelineName sets the PipelineName field's value. +func (s *GetPipelineInput) SetPipelineName(v string) *GetPipelineInput { + s.PipelineName = &v + return s +} + +type GetPipelineOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about the requested pipeline. + Pipeline *Pipeline `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPipelineOutput) GoString() string { + return s.String() +} + +// SetPipeline sets the Pipeline field's value. +func (s *GetPipelineOutput) SetPipeline(v *Pipeline) *GetPipelineOutput { + s.Pipeline = v + return s +} + +// The request failed because of an unknown error, exception, or failure (the +// failure is internal to the service). +type InternalException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalException) GoString() string { + return s.String() +} + +func newErrorInternalException(v protocol.ResponseMetadata) error { + return &InternalException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalException) Code() string { + return "InternalException" +} + +// Message returns the exception's message. +func (s *InternalException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalException) OrigErr() error { + return nil +} + +func (s *InternalException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalException) RequestID() string { + return s.RespMetadata.RequestID +} + +// An invalid pagination token provided in the request. +type InvalidPaginationTokenException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidPaginationTokenException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidPaginationTokenException) GoString() string { + return s.String() +} + +func newErrorInvalidPaginationTokenException(v protocol.ResponseMetadata) error { + return &InvalidPaginationTokenException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidPaginationTokenException) Code() string { + return "InvalidPaginationTokenException" +} + +// Message returns the exception's message. +func (s *InvalidPaginationTokenException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidPaginationTokenException) OrigErr() error { + return nil +} + +func (s *InvalidPaginationTokenException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidPaginationTokenException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidPaginationTokenException) RequestID() string { + return s.RespMetadata.RequestID +} + +// You attempted to create more than the allowed number of tags. +type LimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LimitExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LimitExceededException) GoString() string { + return s.String() +} + +func newErrorLimitExceededException(v protocol.ResponseMetadata) error { + return &LimitExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *LimitExceededException) Code() string { + return "LimitExceededException" +} + +// Message returns the exception's message. +func (s *LimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *LimitExceededException) OrigErr() error { + return nil +} + +func (s *LimitExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *LimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *LimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListPipelineBlueprintsInput struct { + _ struct{} `type:"structure" nopayload:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPipelineBlueprintsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPipelineBlueprintsInput) GoString() string { + return s.String() +} + +type ListPipelineBlueprintsOutput struct { + _ struct{} `type:"structure"` + + // A list of available blueprints for Data Prepper. + Blueprints []*PipelineBlueprintSummary `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPipelineBlueprintsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPipelineBlueprintsOutput) GoString() string { + return s.String() +} + +// SetBlueprints sets the Blueprints field's value. +func (s *ListPipelineBlueprintsOutput) SetBlueprints(v []*PipelineBlueprintSummary) *ListPipelineBlueprintsOutput { + s.Blueprints = v + return s +} + +type ListPipelinesInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // An optional parameter that specifies the maximum number of results to return. + // You can use nextToken to get the next page of results. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // If your initial ListPipelines operation returns a nextToken, you can include + // the returned nextToken in subsequent ListPipelines operations, which returns + // results in the next page. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPipelinesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPipelinesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPipelinesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPipelinesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPipelinesInput) SetMaxResults(v int64) *ListPipelinesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPipelinesInput) SetNextToken(v string) *ListPipelinesInput { + s.NextToken = &v + return s +} + +type ListPipelinesOutput struct { + _ struct{} `type:"structure"` + + // When nextToken is returned, there are more results available. The value of + // nextToken is a unique pagination token for each page. Make the call again + // using the returned token to retrieve the next page. + NextToken *string `type:"string"` + + // A list of all existing Data Prepper pipelines. + Pipelines []*PipelineSummary `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPipelinesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPipelinesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPipelinesOutput) SetNextToken(v string) *ListPipelinesOutput { + s.NextToken = &v + return s +} + +// SetPipelines sets the Pipelines field's value. +func (s *ListPipelinesOutput) SetPipelines(v []*PipelineSummary) *ListPipelinesOutput { + s.Pipelines = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the pipeline to retrieve tags for. + // + // Arn is a required field + Arn *string `location:"querystring" locationName:"arn" min:"46" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 46 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 46)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *ListTagsForResourceInput) SetArn(v string) *ListTagsForResourceInput { + s.Arn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // A list of tags associated with the given pipeline. + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +// Container for the values required to configure logging for the pipeline. +// If you don't specify these values, OpenSearch Ingestion will not publish +// logs from your application to CloudWatch Logs. +type LogPublishingOptions struct { + _ struct{} `type:"structure"` + + // The destination for OpenSearch Ingestion logs sent to Amazon CloudWatch Logs. + // This parameter is required if IsLoggingEnabled is set to true. + CloudWatchLogDestination *CloudWatchLogDestination `type:"structure"` + + // Whether logs should be published. + IsLoggingEnabled *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LogPublishingOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LogPublishingOptions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LogPublishingOptions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LogPublishingOptions"} + if s.CloudWatchLogDestination != nil { + if err := s.CloudWatchLogDestination.Validate(); err != nil { + invalidParams.AddNested("CloudWatchLogDestination", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCloudWatchLogDestination sets the CloudWatchLogDestination field's value. +func (s *LogPublishingOptions) SetCloudWatchLogDestination(v *CloudWatchLogDestination) *LogPublishingOptions { + s.CloudWatchLogDestination = v + return s +} + +// SetIsLoggingEnabled sets the IsLoggingEnabled field's value. +func (s *LogPublishingOptions) SetIsLoggingEnabled(v bool) *LogPublishingOptions { + s.IsLoggingEnabled = &v + return s +} + +// Information about an existing OpenSearch Ingestion pipeline. +type Pipeline struct { + _ struct{} `type:"structure"` + + // The date and time when the pipeline was created. + CreatedAt *time.Time `type:"timestamp"` + + // The ingestion endpoints for the pipeline, which you can send data to. + IngestEndpointUrls []*string `type:"list"` + + // The date and time when the pipeline was last updated. + LastUpdatedAt *time.Time `type:"timestamp"` + + // Key-value pairs that represent log publishing settings. + LogPublishingOptions *LogPublishingOptions `type:"structure"` + + // The maximum pipeline capacity, in Ingestion Compute Units (ICUs). + MaxUnits *int64 `type:"integer"` + + // The minimum pipeline capacity, in Ingestion Compute Units (ICUs). + MinUnits *int64 `type:"integer"` + + // The Amazon Resource Name (ARN) of the pipeline. + PipelineArn *string `type:"string"` + + // The Data Prepper pipeline configuration in YAML format. + PipelineConfigurationBody *string `type:"string"` + + // The name of the pipeline. + PipelineName *string `type:"string"` + + // The current status of the pipeline. + Status *string `type:"string" enum:"PipelineStatus"` + + // The reason for the current status of the pipeline. + StatusReason *PipelineStatusReason `type:"structure"` + + // The VPC interface endpoints that have access to the pipeline. + VpcEndpoints []*VpcEndpoint `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Pipeline) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Pipeline) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *Pipeline) SetCreatedAt(v time.Time) *Pipeline { + s.CreatedAt = &v + return s +} + +// SetIngestEndpointUrls sets the IngestEndpointUrls field's value. +func (s *Pipeline) SetIngestEndpointUrls(v []*string) *Pipeline { + s.IngestEndpointUrls = v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *Pipeline) SetLastUpdatedAt(v time.Time) *Pipeline { + s.LastUpdatedAt = &v + return s +} + +// SetLogPublishingOptions sets the LogPublishingOptions field's value. +func (s *Pipeline) SetLogPublishingOptions(v *LogPublishingOptions) *Pipeline { + s.LogPublishingOptions = v + return s +} + +// SetMaxUnits sets the MaxUnits field's value. +func (s *Pipeline) SetMaxUnits(v int64) *Pipeline { + s.MaxUnits = &v + return s +} + +// SetMinUnits sets the MinUnits field's value. +func (s *Pipeline) SetMinUnits(v int64) *Pipeline { + s.MinUnits = &v + return s +} + +// SetPipelineArn sets the PipelineArn field's value. +func (s *Pipeline) SetPipelineArn(v string) *Pipeline { + s.PipelineArn = &v + return s +} + +// SetPipelineConfigurationBody sets the PipelineConfigurationBody field's value. +func (s *Pipeline) SetPipelineConfigurationBody(v string) *Pipeline { + s.PipelineConfigurationBody = &v + return s +} + +// SetPipelineName sets the PipelineName field's value. +func (s *Pipeline) SetPipelineName(v string) *Pipeline { + s.PipelineName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Pipeline) SetStatus(v string) *Pipeline { + s.Status = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *Pipeline) SetStatusReason(v *PipelineStatusReason) *Pipeline { + s.StatusReason = v + return s +} + +// SetVpcEndpoints sets the VpcEndpoints field's value. +func (s *Pipeline) SetVpcEndpoints(v []*VpcEndpoint) *Pipeline { + s.VpcEndpoints = v + return s +} + +// Container for information about an OpenSearch Ingestion blueprint. +type PipelineBlueprint struct { + _ struct{} `type:"structure"` + + // The name of the blueprint. + BlueprintName *string `type:"string"` + + // The YAML configuration of the blueprint. + PipelineConfigurationBody *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PipelineBlueprint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PipelineBlueprint) GoString() string { + return s.String() +} + +// SetBlueprintName sets the BlueprintName field's value. +func (s *PipelineBlueprint) SetBlueprintName(v string) *PipelineBlueprint { + s.BlueprintName = &v + return s +} + +// SetPipelineConfigurationBody sets the PipelineConfigurationBody field's value. +func (s *PipelineBlueprint) SetPipelineConfigurationBody(v string) *PipelineBlueprint { + s.PipelineConfigurationBody = &v + return s +} + +// A summary of an OpenSearch Ingestion blueprint. +type PipelineBlueprintSummary struct { + _ struct{} `type:"structure"` + + // The name of the blueprint. + BlueprintName *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PipelineBlueprintSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PipelineBlueprintSummary) GoString() string { + return s.String() +} + +// SetBlueprintName sets the BlueprintName field's value. +func (s *PipelineBlueprintSummary) SetBlueprintName(v string) *PipelineBlueprintSummary { + s.BlueprintName = &v + return s +} + +// Information about a pipeline's current status. +type PipelineStatusReason struct { + _ struct{} `type:"structure"` + + // A description of why a pipeline has a certain status. + Description *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PipelineStatusReason) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PipelineStatusReason) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *PipelineStatusReason) SetDescription(v string) *PipelineStatusReason { + s.Description = &v + return s +} + +// Summary information for an OpenSearch Ingestion pipeline. +type PipelineSummary struct { + _ struct{} `type:"structure"` + + // The date and time when the pipeline was created. + CreatedAt *time.Time `type:"timestamp"` + + // The date and time when the pipeline was last updated. + LastUpdatedAt *time.Time `type:"timestamp"` + + // The maximum pipeline capacity, in Ingestion Compute Units (ICUs). + MaxUnits *int64 `min:"1" type:"integer"` + + // The minimum pipeline capacity, in Ingestion Compute Units (ICUs). + MinUnits *int64 `min:"1" type:"integer"` + + // The Amazon Resource Name (ARN) of the pipeline. + PipelineArn *string `min:"46" type:"string"` + + // The name of the pipeline. + PipelineName *string `min:"3" type:"string"` + + // The current status of the pipeline. + Status *string `type:"string" enum:"PipelineStatus"` + + // Information about a pipeline's current status. + StatusReason *PipelineStatusReason `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PipelineSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PipelineSummary) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *PipelineSummary) SetCreatedAt(v time.Time) *PipelineSummary { + s.CreatedAt = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *PipelineSummary) SetLastUpdatedAt(v time.Time) *PipelineSummary { + s.LastUpdatedAt = &v + return s +} + +// SetMaxUnits sets the MaxUnits field's value. +func (s *PipelineSummary) SetMaxUnits(v int64) *PipelineSummary { + s.MaxUnits = &v + return s +} + +// SetMinUnits sets the MinUnits field's value. +func (s *PipelineSummary) SetMinUnits(v int64) *PipelineSummary { + s.MinUnits = &v + return s +} + +// SetPipelineArn sets the PipelineArn field's value. +func (s *PipelineSummary) SetPipelineArn(v string) *PipelineSummary { + s.PipelineArn = &v + return s +} + +// SetPipelineName sets the PipelineName field's value. +func (s *PipelineSummary) SetPipelineName(v string) *PipelineSummary { + s.PipelineName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *PipelineSummary) SetStatus(v string) *PipelineSummary { + s.Status = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *PipelineSummary) SetStatusReason(v *PipelineStatusReason) *PipelineSummary { + s.StatusReason = v + return s +} + +// You attempted to create a resource that already exists. +type ResourceAlreadyExistsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceAlreadyExistsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceAlreadyExistsException) GoString() string { + return s.String() +} + +func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error { + return &ResourceAlreadyExistsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceAlreadyExistsException) Code() string { + return "ResourceAlreadyExistsException" +} + +// Message returns the exception's message. +func (s *ResourceAlreadyExistsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceAlreadyExistsException) OrigErr() error { + return nil +} + +func (s *ResourceAlreadyExistsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceAlreadyExistsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceAlreadyExistsException) RequestID() string { + return s.RespMetadata.RequestID +} + +// You attempted to access or delete a resource that does not exist. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +type StartPipelineInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name of the pipeline to start. + // + // PipelineName is a required field + PipelineName *string `location:"uri" locationName:"PipelineName" min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartPipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartPipelineInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartPipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartPipelineInput"} + if s.PipelineName == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineName")) + } + if s.PipelineName != nil && len(*s.PipelineName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("PipelineName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPipelineName sets the PipelineName field's value. +func (s *StartPipelineInput) SetPipelineName(v string) *StartPipelineInput { + s.PipelineName = &v + return s +} + +type StartPipelineOutput struct { + _ struct{} `type:"structure"` + + // Information about an existing OpenSearch Ingestion pipeline. + Pipeline *Pipeline `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartPipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartPipelineOutput) GoString() string { + return s.String() +} + +// SetPipeline sets the Pipeline field's value. +func (s *StartPipelineOutput) SetPipeline(v *Pipeline) *StartPipelineOutput { + s.Pipeline = v + return s +} + +type StopPipelineInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name of the pipeline to stop. + // + // PipelineName is a required field + PipelineName *string `location:"uri" locationName:"PipelineName" min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopPipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopPipelineInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopPipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopPipelineInput"} + if s.PipelineName == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineName")) + } + if s.PipelineName != nil && len(*s.PipelineName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("PipelineName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPipelineName sets the PipelineName field's value. +func (s *StopPipelineInput) SetPipelineName(v string) *StopPipelineInput { + s.PipelineName = &v + return s +} + +type StopPipelineOutput struct { + _ struct{} `type:"structure"` + + // Information about an existing OpenSearch Ingestion pipeline. + Pipeline *Pipeline `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopPipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopPipelineOutput) GoString() string { + return s.String() +} + +// SetPipeline sets the Pipeline field's value. +func (s *StopPipelineOutput) SetPipeline(v *Pipeline) *StopPipelineOutput { + s.Pipeline = v + return s +} + +// A tag (key-value pair) for an OpenSearch Ingestion pipeline. +type Tag struct { + _ struct{} `type:"structure"` + + // The tag key. Tag keys must be unique for the pipeline to which they are attached. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The value assigned to the corresponding tag key. Tag values can be null and + // don't have to be unique in a tag set. For example, you can have a key value + // pair in a tag set of project : Trinity and cost-center : Trinity + // + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the pipeline to tag. + // + // Arn is a required field + Arn *string `location:"querystring" locationName:"arn" min:"46" type:"string" required:"true"` + + // The list of key-value tags to add to the pipeline. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 46 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 46)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *TagResourceInput) SetArn(v string) *TagResourceInput { + s.Arn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) GoString() string { + return s.String() +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the pipeline to remove tags from. + // + // Arn is a required field + Arn *string `location:"querystring" locationName:"arn" min:"46" type:"string" required:"true"` + + // The tag keys to remove. + // + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 46 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 46)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *UntagResourceInput) SetArn(v string) *UntagResourceInput { + s.Arn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdatePipelineInput struct { + _ struct{} `type:"structure"` + + // Key-value pairs to configure log publishing. + LogPublishingOptions *LogPublishingOptions `type:"structure"` + + // The maximum pipeline capacity, in Ingestion Compute Units (ICUs) + MaxUnits *int64 `min:"1" type:"integer"` + + // The minimum pipeline capacity, in Ingestion Compute Units (ICUs). + MinUnits *int64 `min:"1" type:"integer"` + + // The pipeline configuration in YAML format. The command accepts the pipeline + // configuration as a string or within a .yaml file. If you provide the configuration + // as a string, each new line must be escaped with \n. + PipelineConfigurationBody *string `min:"1" type:"string"` + + // The name of the pipeline to update. + // + // PipelineName is a required field + PipelineName *string `location:"uri" locationName:"PipelineName" min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdatePipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdatePipelineInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdatePipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdatePipelineInput"} + if s.MaxUnits != nil && *s.MaxUnits < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxUnits", 1)) + } + if s.MinUnits != nil && *s.MinUnits < 1 { + invalidParams.Add(request.NewErrParamMinValue("MinUnits", 1)) + } + if s.PipelineConfigurationBody != nil && len(*s.PipelineConfigurationBody) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PipelineConfigurationBody", 1)) + } + if s.PipelineName == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineName")) + } + if s.PipelineName != nil && len(*s.PipelineName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("PipelineName", 3)) + } + if s.LogPublishingOptions != nil { + if err := s.LogPublishingOptions.Validate(); err != nil { + invalidParams.AddNested("LogPublishingOptions", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLogPublishingOptions sets the LogPublishingOptions field's value. +func (s *UpdatePipelineInput) SetLogPublishingOptions(v *LogPublishingOptions) *UpdatePipelineInput { + s.LogPublishingOptions = v + return s +} + +// SetMaxUnits sets the MaxUnits field's value. +func (s *UpdatePipelineInput) SetMaxUnits(v int64) *UpdatePipelineInput { + s.MaxUnits = &v + return s +} + +// SetMinUnits sets the MinUnits field's value. +func (s *UpdatePipelineInput) SetMinUnits(v int64) *UpdatePipelineInput { + s.MinUnits = &v + return s +} + +// SetPipelineConfigurationBody sets the PipelineConfigurationBody field's value. +func (s *UpdatePipelineInput) SetPipelineConfigurationBody(v string) *UpdatePipelineInput { + s.PipelineConfigurationBody = &v + return s +} + +// SetPipelineName sets the PipelineName field's value. +func (s *UpdatePipelineInput) SetPipelineName(v string) *UpdatePipelineInput { + s.PipelineName = &v + return s +} + +type UpdatePipelineOutput struct { + _ struct{} `type:"structure"` + + // Container for information about the updated pipeline. + Pipeline *Pipeline `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdatePipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdatePipelineOutput) GoString() string { + return s.String() +} + +// SetPipeline sets the Pipeline field's value. +func (s *UpdatePipelineOutput) SetPipeline(v *Pipeline) *UpdatePipelineOutput { + s.Pipeline = v + return s +} + +type ValidatePipelineInput struct { + _ struct{} `type:"structure"` + + // The pipeline configuration in YAML format. The command accepts the pipeline + // configuration as a string or within a .yaml file. If you provide the configuration + // as a string, each new line must be escaped with \n. + // + // PipelineConfigurationBody is a required field + PipelineConfigurationBody *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidatePipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidatePipelineInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ValidatePipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ValidatePipelineInput"} + if s.PipelineConfigurationBody == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineConfigurationBody")) + } + if s.PipelineConfigurationBody != nil && len(*s.PipelineConfigurationBody) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PipelineConfigurationBody", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPipelineConfigurationBody sets the PipelineConfigurationBody field's value. +func (s *ValidatePipelineInput) SetPipelineConfigurationBody(v string) *ValidatePipelineInput { + s.PipelineConfigurationBody = &v + return s +} + +type ValidatePipelineOutput struct { + _ struct{} `type:"structure"` + + // A list of errors if the configuration is invalid. + Errors []*ValidationMessage `type:"list"` + + // A boolean indicating whether or not the pipeline configuration is valid. + IsValid *bool `locationName:"isValid" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidatePipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidatePipelineOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *ValidatePipelineOutput) SetErrors(v []*ValidationMessage) *ValidatePipelineOutput { + s.Errors = v + return s +} + +// SetIsValid sets the IsValid field's value. +func (s *ValidatePipelineOutput) SetIsValid(v bool) *ValidatePipelineOutput { + s.IsValid = &v + return s +} + +// An exception for missing or invalid input fields. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + +// A validation message associated with a ValidatePipeline request in OpenSearch +// Ingestion. +type ValidationMessage struct { + _ struct{} `type:"structure"` + + // The validation message. + Message *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationMessage) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *ValidationMessage) SetMessage(v string) *ValidationMessage { + s.Message = &v + return s +} + +// An OpenSearch Ingestion-managed VPC endpoint that will access one or more +// pipelines. +type VpcEndpoint struct { + _ struct{} `type:"structure"` + + // The unique identifier of the endpoint. + VpcEndpointId *string `type:"string"` + + // The ID for your VPC. Amazon Web Services PrivateLink generates this value + // when you create a VPC. + VpcId *string `type:"string"` + + // Information about the VPC, including associated subnets and security groups. + VpcOptions *VpcOptions `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s VpcEndpoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s VpcEndpoint) GoString() string { + return s.String() +} + +// SetVpcEndpointId sets the VpcEndpointId field's value. +func (s *VpcEndpoint) SetVpcEndpointId(v string) *VpcEndpoint { + s.VpcEndpointId = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *VpcEndpoint) SetVpcId(v string) *VpcEndpoint { + s.VpcId = &v + return s +} + +// SetVpcOptions sets the VpcOptions field's value. +func (s *VpcEndpoint) SetVpcOptions(v *VpcOptions) *VpcEndpoint { + s.VpcOptions = v + return s +} + +// Options that specify the subnets and security groups for an OpenSearch Ingestion +// VPC endpoint. +type VpcOptions struct { + _ struct{} `type:"structure"` + + // A list of security groups associated with the VPC endpoint. + SecurityGroupIds []*string `min:"1" type:"list"` + + // A list of subnet IDs associated with the VPC endpoint. + // + // SubnetIds is a required field + SubnetIds []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s VpcOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s VpcOptions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VpcOptions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VpcOptions"} + if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1)) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + if s.SubnetIds != nil && len(s.SubnetIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *VpcOptions) SetSecurityGroupIds(v []*string) *VpcOptions { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *VpcOptions) SetSubnetIds(v []*string) *VpcOptions { + s.SubnetIds = v + return s +} + +const ( + // ChangeProgressStageStatusesPending is a ChangeProgressStageStatuses enum value + ChangeProgressStageStatusesPending = "PENDING" + + // ChangeProgressStageStatusesInProgress is a ChangeProgressStageStatuses enum value + ChangeProgressStageStatusesInProgress = "IN_PROGRESS" + + // ChangeProgressStageStatusesCompleted is a ChangeProgressStageStatuses enum value + ChangeProgressStageStatusesCompleted = "COMPLETED" + + // ChangeProgressStageStatusesFailed is a ChangeProgressStageStatuses enum value + ChangeProgressStageStatusesFailed = "FAILED" +) + +// ChangeProgressStageStatuses_Values returns all elements of the ChangeProgressStageStatuses enum +func ChangeProgressStageStatuses_Values() []string { + return []string{ + ChangeProgressStageStatusesPending, + ChangeProgressStageStatusesInProgress, + ChangeProgressStageStatusesCompleted, + ChangeProgressStageStatusesFailed, + } +} + +const ( + // ChangeProgressStatusesPending is a ChangeProgressStatuses enum value + ChangeProgressStatusesPending = "PENDING" + + // ChangeProgressStatusesInProgress is a ChangeProgressStatuses enum value + ChangeProgressStatusesInProgress = "IN_PROGRESS" + + // ChangeProgressStatusesCompleted is a ChangeProgressStatuses enum value + ChangeProgressStatusesCompleted = "COMPLETED" + + // ChangeProgressStatusesFailed is a ChangeProgressStatuses enum value + ChangeProgressStatusesFailed = "FAILED" +) + +// ChangeProgressStatuses_Values returns all elements of the ChangeProgressStatuses enum +func ChangeProgressStatuses_Values() []string { + return []string{ + ChangeProgressStatusesPending, + ChangeProgressStatusesInProgress, + ChangeProgressStatusesCompleted, + ChangeProgressStatusesFailed, + } +} + +const ( + // PipelineStatusCreating is a PipelineStatus enum value + PipelineStatusCreating = "CREATING" + + // PipelineStatusActive is a PipelineStatus enum value + PipelineStatusActive = "ACTIVE" + + // PipelineStatusUpdating is a PipelineStatus enum value + PipelineStatusUpdating = "UPDATING" + + // PipelineStatusDeleting is a PipelineStatus enum value + PipelineStatusDeleting = "DELETING" + + // PipelineStatusCreateFailed is a PipelineStatus enum value + PipelineStatusCreateFailed = "CREATE_FAILED" + + // PipelineStatusUpdateFailed is a PipelineStatus enum value + PipelineStatusUpdateFailed = "UPDATE_FAILED" + + // PipelineStatusStarting is a PipelineStatus enum value + PipelineStatusStarting = "STARTING" + + // PipelineStatusStartFailed is a PipelineStatus enum value + PipelineStatusStartFailed = "START_FAILED" + + // PipelineStatusStopping is a PipelineStatus enum value + PipelineStatusStopping = "STOPPING" + + // PipelineStatusStopped is a PipelineStatus enum value + PipelineStatusStopped = "STOPPED" +) + +// PipelineStatus_Values returns all elements of the PipelineStatus enum +func PipelineStatus_Values() []string { + return []string{ + PipelineStatusCreating, + PipelineStatusActive, + PipelineStatusUpdating, + PipelineStatusDeleting, + PipelineStatusCreateFailed, + PipelineStatusUpdateFailed, + PipelineStatusStarting, + PipelineStatusStartFailed, + PipelineStatusStopping, + PipelineStatusStopped, + } +} diff --git a/service/osis/doc.go b/service/osis/doc.go new file mode 100644 index 00000000000..075607c170c --- /dev/null +++ b/service/osis/doc.go @@ -0,0 +1,31 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package osis provides the client and types for making API +// requests to Amazon OpenSearch Ingestion. +// +// Use the Amazon OpenSearch Ingestion API to create and manage ingestion pipelines. +// OpenSearch Ingestion is a fully managed data collector that delivers real-time +// log and trace data to OpenSearch Service domains. For more information, see +// Getting data into your cluster using OpenSearch Ingestion (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ingestion.html). +// +// See https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01 for more information on this service. +// +// See osis package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/osis/ +// +// # Using the Client +// +// To contact Amazon OpenSearch Ingestion with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the Amazon OpenSearch Ingestion client OSIS for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/osis/#New +package osis diff --git a/service/osis/errors.go b/service/osis/errors.go new file mode 100644 index 00000000000..48f6b52904d --- /dev/null +++ b/service/osis/errors.go @@ -0,0 +1,70 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package osis + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // You don't have permissions to access the resource. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // The client attempted to remove a resource that is currently in use. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalException for service response error code + // "InternalException". + // + // The request failed because of an unknown error, exception, or failure (the + // failure is internal to the service). + ErrCodeInternalException = "InternalException" + + // ErrCodeInvalidPaginationTokenException for service response error code + // "InvalidPaginationTokenException". + // + // An invalid pagination token provided in the request. + ErrCodeInvalidPaginationTokenException = "InvalidPaginationTokenException" + + // ErrCodeLimitExceededException for service response error code + // "LimitExceededException". + // + // You attempted to create more than the allowed number of tags. + ErrCodeLimitExceededException = "LimitExceededException" + + // ErrCodeResourceAlreadyExistsException for service response error code + // "ResourceAlreadyExistsException". + // + // You attempted to create a resource that already exists. + ErrCodeResourceAlreadyExistsException = "ResourceAlreadyExistsException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // You attempted to access or delete a resource that does not exist. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // An exception for missing or invalid input fields. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "InternalException": newErrorInternalException, + "InvalidPaginationTokenException": newErrorInvalidPaginationTokenException, + "LimitExceededException": newErrorLimitExceededException, + "ResourceAlreadyExistsException": newErrorResourceAlreadyExistsException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ValidationException": newErrorValidationException, +} diff --git a/service/osis/osisiface/interface.go b/service/osis/osisiface/interface.go new file mode 100644 index 00000000000..934b5139315 --- /dev/null +++ b/service/osis/osisiface/interface.go @@ -0,0 +1,123 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package osisiface provides an interface to enable mocking the Amazon OpenSearch Ingestion service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package osisiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/osis" +) + +// OSISAPI provides an interface to enable mocking the +// osis.OSIS service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // Amazon OpenSearch Ingestion. +// func myFunc(svc osisiface.OSISAPI) bool { +// // Make svc.CreatePipeline request +// } +// +// func main() { +// sess := session.New() +// svc := osis.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockOSISClient struct { +// osisiface.OSISAPI +// } +// func (m *mockOSISClient) CreatePipeline(input *osis.CreatePipelineInput) (*osis.CreatePipelineOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockOSISClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type OSISAPI interface { + CreatePipeline(*osis.CreatePipelineInput) (*osis.CreatePipelineOutput, error) + CreatePipelineWithContext(aws.Context, *osis.CreatePipelineInput, ...request.Option) (*osis.CreatePipelineOutput, error) + CreatePipelineRequest(*osis.CreatePipelineInput) (*request.Request, *osis.CreatePipelineOutput) + + DeletePipeline(*osis.DeletePipelineInput) (*osis.DeletePipelineOutput, error) + DeletePipelineWithContext(aws.Context, *osis.DeletePipelineInput, ...request.Option) (*osis.DeletePipelineOutput, error) + DeletePipelineRequest(*osis.DeletePipelineInput) (*request.Request, *osis.DeletePipelineOutput) + + GetPipeline(*osis.GetPipelineInput) (*osis.GetPipelineOutput, error) + GetPipelineWithContext(aws.Context, *osis.GetPipelineInput, ...request.Option) (*osis.GetPipelineOutput, error) + GetPipelineRequest(*osis.GetPipelineInput) (*request.Request, *osis.GetPipelineOutput) + + GetPipelineBlueprint(*osis.GetPipelineBlueprintInput) (*osis.GetPipelineBlueprintOutput, error) + GetPipelineBlueprintWithContext(aws.Context, *osis.GetPipelineBlueprintInput, ...request.Option) (*osis.GetPipelineBlueprintOutput, error) + GetPipelineBlueprintRequest(*osis.GetPipelineBlueprintInput) (*request.Request, *osis.GetPipelineBlueprintOutput) + + GetPipelineChangeProgress(*osis.GetPipelineChangeProgressInput) (*osis.GetPipelineChangeProgressOutput, error) + GetPipelineChangeProgressWithContext(aws.Context, *osis.GetPipelineChangeProgressInput, ...request.Option) (*osis.GetPipelineChangeProgressOutput, error) + GetPipelineChangeProgressRequest(*osis.GetPipelineChangeProgressInput) (*request.Request, *osis.GetPipelineChangeProgressOutput) + + ListPipelineBlueprints(*osis.ListPipelineBlueprintsInput) (*osis.ListPipelineBlueprintsOutput, error) + ListPipelineBlueprintsWithContext(aws.Context, *osis.ListPipelineBlueprintsInput, ...request.Option) (*osis.ListPipelineBlueprintsOutput, error) + ListPipelineBlueprintsRequest(*osis.ListPipelineBlueprintsInput) (*request.Request, *osis.ListPipelineBlueprintsOutput) + + ListPipelines(*osis.ListPipelinesInput) (*osis.ListPipelinesOutput, error) + ListPipelinesWithContext(aws.Context, *osis.ListPipelinesInput, ...request.Option) (*osis.ListPipelinesOutput, error) + ListPipelinesRequest(*osis.ListPipelinesInput) (*request.Request, *osis.ListPipelinesOutput) + + ListPipelinesPages(*osis.ListPipelinesInput, func(*osis.ListPipelinesOutput, bool) bool) error + ListPipelinesPagesWithContext(aws.Context, *osis.ListPipelinesInput, func(*osis.ListPipelinesOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*osis.ListTagsForResourceInput) (*osis.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *osis.ListTagsForResourceInput, ...request.Option) (*osis.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*osis.ListTagsForResourceInput) (*request.Request, *osis.ListTagsForResourceOutput) + + StartPipeline(*osis.StartPipelineInput) (*osis.StartPipelineOutput, error) + StartPipelineWithContext(aws.Context, *osis.StartPipelineInput, ...request.Option) (*osis.StartPipelineOutput, error) + StartPipelineRequest(*osis.StartPipelineInput) (*request.Request, *osis.StartPipelineOutput) + + StopPipeline(*osis.StopPipelineInput) (*osis.StopPipelineOutput, error) + StopPipelineWithContext(aws.Context, *osis.StopPipelineInput, ...request.Option) (*osis.StopPipelineOutput, error) + StopPipelineRequest(*osis.StopPipelineInput) (*request.Request, *osis.StopPipelineOutput) + + TagResource(*osis.TagResourceInput) (*osis.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *osis.TagResourceInput, ...request.Option) (*osis.TagResourceOutput, error) + TagResourceRequest(*osis.TagResourceInput) (*request.Request, *osis.TagResourceOutput) + + UntagResource(*osis.UntagResourceInput) (*osis.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *osis.UntagResourceInput, ...request.Option) (*osis.UntagResourceOutput, error) + UntagResourceRequest(*osis.UntagResourceInput) (*request.Request, *osis.UntagResourceOutput) + + UpdatePipeline(*osis.UpdatePipelineInput) (*osis.UpdatePipelineOutput, error) + UpdatePipelineWithContext(aws.Context, *osis.UpdatePipelineInput, ...request.Option) (*osis.UpdatePipelineOutput, error) + UpdatePipelineRequest(*osis.UpdatePipelineInput) (*request.Request, *osis.UpdatePipelineOutput) + + ValidatePipeline(*osis.ValidatePipelineInput) (*osis.ValidatePipelineOutput, error) + ValidatePipelineWithContext(aws.Context, *osis.ValidatePipelineInput, ...request.Option) (*osis.ValidatePipelineOutput, error) + ValidatePipelineRequest(*osis.ValidatePipelineInput) (*request.Request, *osis.ValidatePipelineOutput) +} + +var _ OSISAPI = (*osis.OSIS)(nil) diff --git a/service/osis/service.go b/service/osis/service.go new file mode 100644 index 00000000000..bc2b6704a41 --- /dev/null +++ b/service/osis/service.go @@ -0,0 +1,107 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package osis + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// OSIS provides the API operation methods for making requests to +// Amazon OpenSearch Ingestion. See this package's package overview docs +// for details on the service. +// +// OSIS methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type OSIS struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "OSIS" // Name of service. + EndpointsID = "osis" // ID to lookup a service endpoint with. + ServiceID = "OSIS" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the OSIS client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// +// mySession := session.Must(session.NewSession()) +// +// // Create a OSIS client from just a session. +// svc := osis.New(mySession) +// +// // Create a OSIS client with additional configuration +// svc := osis.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *OSIS { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = EndpointsID + // No Fallback + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *OSIS { + svc := &OSIS{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2022-01-01", + ResolvedRegion: resolvedRegion, + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a OSIS operation and runs any +// custom request initialization. +func (c *OSIS) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +}