diff --git a/.speakeasy/logs/changes/changes.html b/.speakeasy/logs/changes/changes.html index 2c68579c..e9b9df78 100644 --- a/.speakeasy/logs/changes/changes.html +++ b/.speakeasy/logs/changes/changes.html @@ -4,7 +4,7 @@ - SDK Changelog - typescript + SDK Changelog - go -

Typescript SDK Changes:

+

Go SDK Changes:

diff --git a/.speakeasy/logs/changes/changes.md b/.speakeasy/logs/changes/changes.md index 6e1b1b89..a8ed3ab4 100644 --- a/.speakeasy/logs/changes/changes.md +++ b/.speakeasy/logs/changes/changes.md @@ -1,39 +1,20 @@ -## Typescript SDK Changes: -* `outpost.destinations.create()`: `request.body` **Changed** - - `union(aws_kinesis).createdAt` **Added** - - `union(aws_kinesis).disabledAt` **Added** - - `union(aws_kinesis).updatedAt` **Added** - - `union(aws_s3).createdAt` **Added** - - `union(aws_s3).disabledAt` **Added** - - `union(aws_s3).updatedAt` **Added** - - `union(aws_sqs).createdAt` **Added** - - `union(aws_sqs).disabledAt` **Added** - - `union(aws_sqs).updatedAt` **Added** - - `union(azure_servicebus).createdAt` **Added** - - `union(azure_servicebus).disabledAt` **Added** - - `union(azure_servicebus).updatedAt` **Added** - - `union(gcp_pubsub).createdAt` **Added** - - `union(gcp_pubsub).disabledAt` **Added** - - `union(gcp_pubsub).updatedAt` **Added** - - `union(hookdeck).createdAt` **Added** - - `union(hookdeck).disabledAt` **Added** - - `union(hookdeck).updatedAt` **Added** - - `union(kafka).createdAt` **Added** - - `union(kafka).disabledAt` **Added** - - `union(kafka).updatedAt` **Added** - - `union(rabbitmq).createdAt` **Added** - - `union(rabbitmq).disabledAt` **Added** - - `union(rabbitmq).updatedAt` **Added** - - `union(webhook).createdAt` **Added** - - `union(webhook).disabledAt` **Added** - - `union(webhook).updatedAt` **Added** -* `outpost.destinations.update()`: `request.body` **Changed** - - `union(DestinationUpdateAWSKinesis).disabledAt` **Added** - - `union(DestinationUpdateAWSS3).disabledAt` **Added** - - `union(DestinationUpdateAWSSQS).disabledAt` **Added** - - `union(DestinationUpdateAzureServiceBus).disabledAt` **Added** - - `union(DestinationUpdateGCPPubSub).disabledAt` **Added** - - `union(DestinationUpdateHookdeck).disabledAt` **Added** - - `union(DestinationUpdateKafka).disabledAt` **Added** - - `union(DestinationUpdateRabbitMQ).disabledAt` **Added** - - `union(DestinationUpdateWebhook).disabledAt` **Added** +## Go SDK Changes: +* `Outpost.Destinations.Update()`: `request.Body` **Changed** (Breaking ⚠️) + - `union(DestinationUpdateAWSKinesis)` **Removed** (Breaking ⚠️) + - `union(DestinationUpdateAWSS3)` **Removed** (Breaking ⚠️) + - `union(DestinationUpdateAWSSQS)` **Removed** (Breaking ⚠️) + - `union(DestinationUpdateAzureServiceBus)` **Removed** (Breaking ⚠️) + - `union(DestinationUpdateGCPPubSub)` **Removed** (Breaking ⚠️) + - `union(DestinationUpdateHookdeck)` **Removed** (Breaking ⚠️) + - `union(DestinationUpdateKafka)` **Removed** (Breaking ⚠️) + - `union(DestinationUpdateRabbitMQ)` **Removed** (Breaking ⚠️) + - `union(DestinationUpdateWebhook)` **Removed** (Breaking ⚠️) + - `union(aws_kinesis)` **Added** + - `union(aws_s3)` **Added** + - `union(aws_sqs)` **Added** + - `union(azure_servicebus)` **Added** + - `union(gcp_pubsub)` **Added** + - `union(hookdeck)` **Added** + - `union(kafka)` **Added** + - `union(rabbitmq)` **Added** + - `union(webhook)` **Added** diff --git a/.speakeasy/logs/changes/new.openapi.yaml b/.speakeasy/logs/changes/new.openapi.yaml index 56656577..79155eb9 100644 --- a/.speakeasy/logs/changes/new.openapi.yaml +++ b/.speakeasy/logs/changes/new.openapi.yaml @@ -1755,8 +1755,25 @@ components: gcp_pubsub: "#/components/schemas/DestinationCreateGCPPubSub" kafka: "#/components/schemas/DestinationCreateKafka" # Type-Specific Destination Update Schemas (for Request Bodies) + # Type-Specific Partial Schemas for PATCH Request Bodies + # All fields are optional — RFC 7396 JSON merge-patch semantics apply: + # omit a field to leave it unchanged; include a field to update it in place. + WebhookConfigUpdate: + type: object + description: Partial Webhook config for PATCH updates (RFC 7396 merge-patch). + properties: + url: + type: string + format: url + description: The URL to send the webhook events to. + example: "https://example.com/webhooks/user" + custom_headers: + type: string + description: JSON string of custom HTTP headers to include with every webhook request. + example: '{"x-api-key":"secret123","x-tenant-id":"customer-456"}' WebhookCredentialsUpdate: type: object + description: Partial Webhook credentials for PATCH updates (RFC 7396 merge-patch). properties: secret: type: string @@ -1771,17 +1788,206 @@ components: rotate_secret: type: boolean description: Set to true to rotate the secret. The current secret becomes the previous_secret, and a new secret is generated. `previous_secret_invalid_at` defaults to 24h if not provided. + AWSSQSConfigUpdate: + type: object + description: Partial AWS SQS config for PATCH updates (RFC 7396 merge-patch). + properties: + endpoint: + type: string + format: url + description: Optional. Custom AWS endpoint URL (e.g., for LocalStack or specific regions). + example: "https://sqs.us-east-1.amazonaws.com" + queue_url: + type: string + format: url + description: The URL of the SQS queue. + example: "https://sqs.us-east-1.amazonaws.com/123456789012/my-queue" + AWSSQSCredentialsUpdate: + type: object + description: Partial AWS SQS credentials for PATCH updates (RFC 7396 merge-patch). + properties: + key: + type: string + description: AWS Access Key ID. + secret: + type: string + description: AWS Secret Access Key. + session: + type: string + description: Optional AWS Session Token (for temporary credentials). + RabbitMQConfigUpdate: + type: object + description: Partial RabbitMQ config for PATCH updates (RFC 7396 merge-patch). + properties: + server_url: + type: string + description: RabbitMQ server address (host:port). + exchange: + type: string + description: The exchange to publish messages to. + tls: + type: string + enum: ["true", "false"] + description: Whether to use TLS connection (amqps). + RabbitMQCredentialsUpdate: + type: object + description: Partial RabbitMQ credentials for PATCH updates (RFC 7396 merge-patch). + properties: + username: + type: string + description: RabbitMQ username. + password: + type: string + description: RabbitMQ password. + HookdeckCredentialsUpdate: + type: object + description: Partial Hookdeck credentials for PATCH updates (RFC 7396 merge-patch). + properties: + token: + type: string + description: Hookdeck authentication token. + AWSKinesisConfigUpdate: + type: object + description: Partial AWS Kinesis config for PATCH updates (RFC 7396 merge-patch). + properties: + stream_name: + type: string + description: The name of the AWS Kinesis stream. + region: + type: string + description: The AWS region where the Kinesis stream is located. + endpoint: + type: string + format: url + description: Optional. Custom AWS endpoint URL (e.g., for LocalStack or VPC endpoints). + partition_key_template: + type: string + description: Optional. JMESPath template to extract the partition key from the event payload. + AWSKinesisCredentialsUpdate: + type: object + description: Partial AWS Kinesis credentials for PATCH updates (RFC 7396 merge-patch). + properties: + key: + type: string + description: AWS Access Key ID. + secret: + type: string + description: AWS Secret Access Key. + session: + type: string + description: Optional AWS Session Token (for temporary credentials). + AzureServiceBusConfigUpdate: + type: object + description: Partial Azure Service Bus config for PATCH updates (RFC 7396 merge-patch). + properties: + name: + type: string + description: The name of the Azure Service Bus queue or topic to publish messages to. + AzureServiceBusCredentialsUpdate: + type: object + description: Partial Azure Service Bus credentials for PATCH updates (RFC 7396 merge-patch). + properties: + connection_string: + type: string + description: The connection string for the Azure Service Bus namespace. + AWSS3ConfigUpdate: + type: object + description: Partial AWS S3 config for PATCH updates (RFC 7396 merge-patch). + properties: + bucket: + type: string + description: The name of your AWS S3 bucket. + region: + type: string + pattern: "^[a-z]{2}-[a-z]+-[0-9]+$" + description: The AWS region where your bucket is located. + key_template: + type: string + description: JMESPath expression for generating S3 object keys. + storage_class: + type: string + description: The storage class for the S3 objects. + AWSS3CredentialsUpdate: + type: object + description: Partial AWS S3 credentials for PATCH updates (RFC 7396 merge-patch). + properties: + key: + type: string + description: AWS Access Key ID. + secret: + type: string + description: AWS Secret Access Key. + session: + type: string + description: Optional AWS Session Token (for temporary credentials). + GCPPubSubConfigUpdate: + type: object + description: Partial GCP Pub/Sub config for PATCH updates (RFC 7396 merge-patch). + properties: + project_id: + type: string + description: The GCP project ID. + topic: + type: string + description: The Pub/Sub topic name. + endpoint: + type: string + description: Optional. Custom endpoint URL (e.g., localhost:8085 for emulator). + GCPPubSubCredentialsUpdate: + type: object + description: Partial GCP Pub/Sub credentials for PATCH updates (RFC 7396 merge-patch). + properties: + service_account_json: + type: string + description: Service account key JSON. The entire JSON key file content as a string. + KafkaConfigUpdate: + type: object + description: Partial Kafka config for PATCH updates (RFC 7396 merge-patch). + properties: + brokers: + type: string + description: Comma-separated list of Kafka broker addresses. + topic: + type: string + description: The Kafka topic to publish messages to. + sasl_mechanism: + type: string + enum: [plain, scram-sha-256, scram-sha-512] + description: SASL authentication mechanism. + tls: + type: string + enum: ["true", "false"] + description: Whether to enable TLS for the connection. + partition_key_template: + type: string + description: Optional JMESPath template to extract the partition key from the event payload. + KafkaCredentialsUpdate: + type: object + description: Partial Kafka credentials for PATCH updates (RFC 7396 merge-patch). + properties: + username: + type: string + description: SASL username for authentication. + password: + type: string + description: SASL password for authentication. DestinationUpdateWebhook: type: object x-docs-type: "Webhook" # Properties duplicated from DestinationUpdateBase + required: [type] properties: + type: + type: string + enum: [webhook] + description: Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + example: "webhook" topics: $ref: "#/components/schemas/Topics" filter: $ref: "#/components/schemas/Filter" config: - $ref: "#/components/schemas/WebhookConfig" # URL is required here, but PATCH means it's optional in the request + $ref: "#/components/schemas/WebhookConfigUpdate" credentials: $ref: "#/components/schemas/WebhookCredentialsUpdate" delivery_metadata: @@ -1815,15 +2021,21 @@ components: type: object x-docs-type: "AWS SQS" # Properties duplicated from DestinationUpdateBase + required: [type] properties: + type: + type: string + enum: [aws_sqs] + description: Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + example: "aws_sqs" topics: $ref: "#/components/schemas/Topics" filter: $ref: "#/components/schemas/Filter" config: - $ref: "#/components/schemas/AWSSQSConfig" # queue_url is required here, but PATCH means it's optional + $ref: "#/components/schemas/AWSSQSConfigUpdate" credentials: - $ref: "#/components/schemas/AWSSQSCredentials" # key/secret required here, but PATCH means optional + $ref: "#/components/schemas/AWSSQSCredentialsUpdate" delivery_metadata: type: object additionalProperties: @@ -1855,15 +2067,21 @@ components: type: object x-docs-type: "RabbitMQ" # Properties duplicated from DestinationUpdateBase + required: [type] properties: + type: + type: string + enum: [rabbitmq] + description: Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + example: "rabbitmq" topics: $ref: "#/components/schemas/Topics" filter: $ref: "#/components/schemas/Filter" config: - $ref: "#/components/schemas/RabbitMQConfig" # server_url/exchange required here, but PATCH means optional + $ref: "#/components/schemas/RabbitMQConfigUpdate" credentials: - $ref: "#/components/schemas/RabbitMQCredentials" # username/password required here, but PATCH means optional + $ref: "#/components/schemas/RabbitMQCredentialsUpdate" delivery_metadata: type: object additionalProperties: @@ -1895,14 +2113,20 @@ components: type: object x-docs-type: "Hookdeck Event Gateway" # Properties duplicated from DestinationUpdateBase + # Hookdeck has no updatable `config`. + required: [type] properties: + type: + type: string + enum: [hookdeck] + description: Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + example: "hookdeck" topics: $ref: "#/components/schemas/Topics" filter: $ref: "#/components/schemas/Filter" - config: {} # Empty config, cannot be updated credentials: - $ref: "#/components/schemas/HookdeckCredentials" # token required here, but PATCH means optional + $ref: "#/components/schemas/HookdeckCredentialsUpdate" delivery_metadata: type: object additionalProperties: @@ -1934,15 +2158,21 @@ components: type: object x-docs-type: "AWS Kinesis" # Properties duplicated from DestinationUpdateBase + required: [type] properties: + type: + type: string + enum: [aws_kinesis] + description: Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + example: "aws_kinesis" topics: $ref: "#/components/schemas/Topics" filter: $ref: "#/components/schemas/Filter" config: - $ref: "#/components/schemas/AWSKinesisConfig" # stream_name/region required here, but PATCH means optional + $ref: "#/components/schemas/AWSKinesisConfigUpdate" credentials: - $ref: "#/components/schemas/AWSKinesisCredentials" # key/secret required here, but PATCH means optional + $ref: "#/components/schemas/AWSKinesisCredentialsUpdate" delivery_metadata: type: object additionalProperties: @@ -1974,15 +2204,21 @@ components: type: object x-docs-type: "Azure Service Bus" # Properties duplicated from DestinationUpdateBase + required: [type] properties: + type: + type: string + enum: [azure_servicebus] + description: Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + example: "azure_servicebus" topics: $ref: "#/components/schemas/Topics" filter: $ref: "#/components/schemas/Filter" config: - $ref: "#/components/schemas/AzureServiceBusConfig" # name required here, but PATCH means optional + $ref: "#/components/schemas/AzureServiceBusConfigUpdate" credentials: - $ref: "#/components/schemas/AzureServiceBusCredentials" # connection_string required here, but PATCH means optional + $ref: "#/components/schemas/AzureServiceBusCredentialsUpdate" delivery_metadata: type: object additionalProperties: @@ -2014,15 +2250,21 @@ components: type: object x-docs-type: "AWS S3" # Properties duplicated from DestinationUpdateBase + required: [type] properties: + type: + type: string + enum: [aws_s3] + description: Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + example: "aws_s3" topics: $ref: "#/components/schemas/Topics" filter: $ref: "#/components/schemas/Filter" config: - $ref: "#/components/schemas/AWSS3Config" # bucket/region required here, but PATCH means optional + $ref: "#/components/schemas/AWSS3ConfigUpdate" credentials: - $ref: "#/components/schemas/AWSS3Credentials" # key/secret required here, but PATCH means optional + $ref: "#/components/schemas/AWSS3CredentialsUpdate" delivery_metadata: type: object additionalProperties: @@ -2054,15 +2296,21 @@ components: type: object x-docs-type: "GCP PubSub" # Properties duplicated from DestinationUpdateBase + required: [type] properties: + type: + type: string + enum: [gcp_pubsub] + description: Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + example: "gcp_pubsub" topics: $ref: "#/components/schemas/Topics" filter: $ref: "#/components/schemas/Filter" config: - $ref: "#/components/schemas/GCPPubSubConfig" # project_id/topic required here, but PATCH means optional + $ref: "#/components/schemas/GCPPubSubConfigUpdate" credentials: - $ref: "#/components/schemas/GCPPubSubCredentials" # service_account_json required here, but PATCH means optional + $ref: "#/components/schemas/GCPPubSubCredentialsUpdate" delivery_metadata: type: object additionalProperties: @@ -2094,15 +2342,21 @@ components: type: object x-docs-type: "Apache Kafka" # Properties duplicated from DestinationUpdateBase + required: [type] properties: + type: + type: string + enum: [kafka] + description: Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + example: "kafka" topics: $ref: "#/components/schemas/Topics" filter: $ref: "#/components/schemas/Filter" config: - $ref: "#/components/schemas/KafkaConfig" # brokers/topic/sasl_mechanism required here, but PATCH means optional + $ref: "#/components/schemas/KafkaConfigUpdate" credentials: - $ref: "#/components/schemas/KafkaCredentials" # username/password required here, but PATCH means optional + $ref: "#/components/schemas/KafkaCredentialsUpdate" delivery_metadata: type: object additionalProperties: @@ -2142,6 +2396,18 @@ components: - $ref: "#/components/schemas/DestinationUpdateGCPPubSub" - $ref: "#/components/schemas/DestinationUpdateRabbitMQ" - $ref: "#/components/schemas/DestinationUpdateKafka" + discriminator: + propertyName: type + mapping: + webhook: "#/components/schemas/DestinationUpdateWebhook" + aws_sqs: "#/components/schemas/DestinationUpdateAWSSQS" + rabbitmq: "#/components/schemas/DestinationUpdateRabbitMQ" + hookdeck: "#/components/schemas/DestinationUpdateHookdeck" + aws_kinesis: "#/components/schemas/DestinationUpdateAWSKinesis" + azure_servicebus: "#/components/schemas/DestinationUpdateAzureServiceBus" + aws_s3: "#/components/schemas/DestinationUpdateAWSS3" + gcp_pubsub: "#/components/schemas/DestinationUpdateGCPPubSub" + kafka: "#/components/schemas/DestinationUpdateKafka" # Event Schemas PublishRequest: type: object @@ -2307,8 +2573,8 @@ components: event: nullable: true oneOf: - - $ref: "#/components/schemas/EventSummary" - $ref: "#/components/schemas/EventFull" + - $ref: "#/components/schemas/EventSummary" description: The associated event object. Only present when include=event or include=event.data. destination: nullable: true @@ -3018,11 +3284,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter tenants by ID(s). Use bracket notation for multiple values (e.g., `id[0]=t1&id[1]=t2` or `id[]=t1&id[]=t2`). - name: limit in: query @@ -3098,18 +3362,6 @@ paths: x-speakeasy-max-method-params: 0 security: - BearerAuth: [] - x-speakeasy-pagination: - type: cursor - inputs: - - name: next - in: parameters - type: cursor - - name: limit - in: parameters - type: limit - outputs: - nextCursor: $.pagination.next - results: $.models /tenants/{tenant_id}: parameters: - name: tenant_id @@ -3234,21 +3486,17 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter events by ID(s). Use bracket notation for multiple values (e.g., `id[0]=abc&id[1]=def`). - name: tenant_id in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: | Filter events by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`). When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used. @@ -3267,11 +3515,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter events by topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). - name: time in: query @@ -3356,18 +3602,6 @@ paths: x-speakeasy-name-override: list security: - BearerAuth: [] - x-speakeasy-pagination: - type: cursor - inputs: - - name: next - in: parameters - type: cursor - - name: limit - in: parameters - type: limit - outputs: - nextCursor: $.pagination.next - results: $.models /events/{event_id}: parameters: - name: event_id @@ -3431,11 +3665,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: | Filter attempts by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`). When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used. @@ -3444,21 +3676,17 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`). - name: destination_id in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter attempts by destination ID(s). Use bracket notation for multiple values (e.g., `destination_id[0]=d1&destination_id[1]=d2`). - name: destination_type in: query @@ -3481,11 +3709,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). - name: time in: query @@ -3520,11 +3746,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) @@ -3608,18 +3832,6 @@ paths: x-speakeasy-name-override: list security: - BearerAuth: [] - x-speakeasy-pagination: - type: cursor - inputs: - - name: next - in: parameters - type: cursor - - name: limit - in: parameters - type: limit - outputs: - nextCursor: $.pagination.next - results: $.models /attempts/{attempt_id}: parameters: - name: attempt_id @@ -3648,11 +3860,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) @@ -3802,21 +4012,17 @@ paths: in: query required: false schema: - oneOf: - - $ref: "#/components/schemas/DestinationType" - - type: array - items: - $ref: "#/components/schemas/DestinationType" + type: array + items: + $ref: "#/components/schemas/DestinationType" description: Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`). - name: topics in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`). responses: "200": @@ -4166,11 +4372,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`). - name: status in: query @@ -4183,11 +4387,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). - name: time in: query @@ -4222,11 +4424,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) @@ -4287,18 +4487,6 @@ paths: "500": $ref: "#/components/responses/InternalServerError" x-speakeasy-name-override: listAttempts - x-speakeasy-pagination: - type: cursor - inputs: - - name: next - in: parameters - type: cursor - - name: limit - in: parameters - type: limit - outputs: - nextCursor: $.pagination.next - results: $.models /tenants/{tenant_id}/destinations/{destination_id}/attempts/{attempt_id}: parameters: - name: tenant_id @@ -4329,11 +4517,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary diff --git a/.speakeasy/logs/changes/old.openapi.yaml b/.speakeasy/logs/changes/old.openapi.yaml index 630ae2a6..7ed45c5c 100644 --- a/.speakeasy/logs/changes/old.openapi.yaml +++ b/.speakeasy/logs/changes/old.openapi.yaml @@ -1262,6 +1262,27 @@ components: nullable: true description: Arbitrary contextual information stored with the destination. example: {"internal-id": "123", "team": "platform"} + created_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the creation timestamp. Intended for importing destinations from another system. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to the current time when omitted. + example: "2024-02-15T10:00:00Z" + updated_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the last-updated timestamp. Intended for importing destinations. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to created_at when omitted. + example: "2024-02-15T10:00:00Z" + disabled_at: + type: string + format: date-time + nullable: true + description: >- + If set, the destination is created in a disabled state with this timestamp. Must not be in the future. Defaults to null (enabled). + example: null DestinationCreateAWSSQS: type: object x-docs-type: "AWS SQS" @@ -1297,6 +1318,27 @@ components: nullable: true description: Arbitrary contextual information stored with the destination. example: {"internal-id": "123", "team": "platform"} + created_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the creation timestamp. Intended for importing destinations from another system. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to the current time when omitted. + example: "2024-02-15T10:00:00Z" + updated_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the last-updated timestamp. Intended for importing destinations. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to created_at when omitted. + example: "2024-02-15T10:00:00Z" + disabled_at: + type: string + format: date-time + nullable: true + description: >- + If set, the destination is created in a disabled state with this timestamp. Must not be in the future. Defaults to null (enabled). + example: null DestinationCreateRabbitMQ: type: object x-docs-type: "RabbitMQ" @@ -1332,6 +1374,27 @@ components: nullable: true description: Arbitrary contextual information stored with the destination. example: {"internal-id": "123", "team": "platform"} + created_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the creation timestamp. Intended for importing destinations from another system. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to the current time when omitted. + example: "2024-02-15T10:00:00Z" + updated_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the last-updated timestamp. Intended for importing destinations. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to created_at when omitted. + example: "2024-02-15T10:00:00Z" + disabled_at: + type: string + format: date-time + nullable: true + description: >- + If set, the destination is created in a disabled state with this timestamp. Must not be in the future. Defaults to null (enabled). + example: null DestinationCreateHookdeck: type: object x-docs-type: "Hookdeck Event Gateway" @@ -1366,6 +1429,27 @@ components: nullable: true description: Arbitrary contextual information stored with the destination. example: {"internal-id": "123", "team": "platform"} + created_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the creation timestamp. Intended for importing destinations from another system. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to the current time when omitted. + example: "2024-02-15T10:00:00Z" + updated_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the last-updated timestamp. Intended for importing destinations. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to created_at when omitted. + example: "2024-02-15T10:00:00Z" + disabled_at: + type: string + format: date-time + nullable: true + description: >- + If set, the destination is created in a disabled state with this timestamp. Must not be in the future. Defaults to null (enabled). + example: null DestinationCreateAWSKinesis: type: object x-docs-type: "AWS Kinesis" @@ -1401,6 +1485,27 @@ components: nullable: true description: Arbitrary contextual information stored with the destination. example: {"internal-id": "123", "team": "platform"} + created_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the creation timestamp. Intended for importing destinations from another system. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to the current time when omitted. + example: "2024-02-15T10:00:00Z" + updated_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the last-updated timestamp. Intended for importing destinations. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to created_at when omitted. + example: "2024-02-15T10:00:00Z" + disabled_at: + type: string + format: date-time + nullable: true + description: >- + If set, the destination is created in a disabled state with this timestamp. Must not be in the future. Defaults to null (enabled). + example: null DestinationCreateAzureServiceBus: type: object x-docs-type: "Azure Service Bus" @@ -1436,6 +1541,27 @@ components: nullable: true description: Arbitrary contextual information stored with the destination. example: {"internal-id": "123", "team": "platform"} + created_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the creation timestamp. Intended for importing destinations from another system. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to the current time when omitted. + example: "2024-02-15T10:00:00Z" + updated_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the last-updated timestamp. Intended for importing destinations. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to created_at when omitted. + example: "2024-02-15T10:00:00Z" + disabled_at: + type: string + format: date-time + nullable: true + description: >- + If set, the destination is created in a disabled state with this timestamp. Must not be in the future. Defaults to null (enabled). + example: null DestinationCreateAWSS3: type: object x-docs-type: "AWS S3" @@ -1471,6 +1597,27 @@ components: nullable: true description: Arbitrary contextual information stored with the destination. example: {"internal-id": "123", "team": "platform"} + created_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the creation timestamp. Intended for importing destinations from another system. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to the current time when omitted. + example: "2024-02-15T10:00:00Z" + updated_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the last-updated timestamp. Intended for importing destinations. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to created_at when omitted. + example: "2024-02-15T10:00:00Z" + disabled_at: + type: string + format: date-time + nullable: true + description: >- + If set, the destination is created in a disabled state with this timestamp. Must not be in the future. Defaults to null (enabled). + example: null DestinationCreateGCPPubSub: type: object x-docs-type: "GCP PubSub" @@ -1506,6 +1653,27 @@ components: nullable: true description: Arbitrary contextual information stored with the destination. example: {"internal-id": "123", "team": "platform"} + created_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the creation timestamp. Intended for importing destinations from another system. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to the current time when omitted. + example: "2024-02-15T10:00:00Z" + updated_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the last-updated timestamp. Intended for importing destinations. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to created_at when omitted. + example: "2024-02-15T10:00:00Z" + disabled_at: + type: string + format: date-time + nullable: true + description: >- + If set, the destination is created in a disabled state with this timestamp. Must not be in the future. Defaults to null (enabled). + example: null DestinationCreateKafka: type: object x-docs-type: "Apache Kafka" @@ -1541,6 +1709,27 @@ components: nullable: true description: Arbitrary contextual information stored with the destination. example: {"internal-id": "123", "team": "platform"} + created_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the creation timestamp. Intended for importing destinations from another system. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to the current time when omitted. + example: "2024-02-15T10:00:00Z" + updated_at: + type: string + format: date-time + nullable: true + description: >- + Optional override for the last-updated timestamp. Intended for importing destinations. Must not be in the future. **Admin (API key) auth only — sending this with JWT auth returns 403.** Defaults to created_at when omitted. + example: "2024-02-15T10:00:00Z" + disabled_at: + type: string + format: date-time + nullable: true + description: >- + If set, the destination is created in a disabled state with this timestamp. Must not be in the future. Defaults to null (enabled). + example: null # Polymorphic Destination Creation Schema (for Request Bodies) DestinationCreate: oneOf: @@ -1615,6 +1804,13 @@ components: description: >- Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. example: {"internal-id": "123", "team": "platform"} + disabled_at: + type: string + format: date-time + nullable: true + description: >- + Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. + example: null DestinationUpdateAWSSQS: type: object x-docs-type: "AWS SQS" @@ -1648,6 +1844,13 @@ components: description: >- Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. example: {"internal-id": "123", "team": "platform"} + disabled_at: + type: string + format: date-time + nullable: true + description: >- + Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. + example: null DestinationUpdateRabbitMQ: type: object x-docs-type: "RabbitMQ" @@ -1681,6 +1884,13 @@ components: description: >- Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. example: {"internal-id": "123", "team": "platform"} + disabled_at: + type: string + format: date-time + nullable: true + description: >- + Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. + example: null DestinationUpdateHookdeck: type: object x-docs-type: "Hookdeck Event Gateway" @@ -1713,6 +1923,13 @@ components: description: >- Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. example: {"internal-id": "123", "team": "platform"} + disabled_at: + type: string + format: date-time + nullable: true + description: >- + Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. + example: null DestinationUpdateAWSKinesis: type: object x-docs-type: "AWS Kinesis" @@ -1746,6 +1963,13 @@ components: description: >- Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. example: {"internal-id": "123", "team": "platform"} + disabled_at: + type: string + format: date-time + nullable: true + description: >- + Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. + example: null DestinationUpdateAzureServiceBus: type: object x-docs-type: "Azure Service Bus" @@ -1779,6 +2003,13 @@ components: description: >- Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. example: {"internal-id": "123", "team": "platform"} + disabled_at: + type: string + format: date-time + nullable: true + description: >- + Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. + example: null DestinationUpdateAWSS3: type: object x-docs-type: "AWS S3" @@ -1812,6 +2043,13 @@ components: description: >- Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. example: {"internal-id": "123", "team": "platform"} + disabled_at: + type: string + format: date-time + nullable: true + description: >- + Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. + example: null DestinationUpdateGCPPubSub: type: object x-docs-type: "GCP PubSub" @@ -1845,6 +2083,13 @@ components: description: >- Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. example: {"internal-id": "123", "team": "platform"} + disabled_at: + type: string + format: date-time + nullable: true + description: >- + Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. + example: null DestinationUpdateKafka: type: object x-docs-type: "Apache Kafka" @@ -1878,6 +2123,13 @@ components: description: >- Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. example: {"internal-id": "123", "team": "platform"} + disabled_at: + type: string + format: date-time + nullable: true + description: >- + Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. + example: null # Polymorphic Destination Update Schema (for Request Bodies) DestinationUpdate: oneOf: @@ -2729,11 +2981,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter tenants by ID(s). Use bracket notation for multiple values (e.g., `id[0]=t1&id[1]=t2` or `id[]=t1&id[]=t2`). - name: limit in: query @@ -2945,21 +3195,17 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter events by ID(s). Use bracket notation for multiple values (e.g., `id[0]=abc&id[1]=def`). - name: tenant_id in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: | Filter events by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`). When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used. @@ -2978,11 +3224,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter events by topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). - name: time in: query @@ -3142,11 +3386,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: | Filter attempts by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`). When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used. @@ -3155,21 +3397,17 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`). - name: destination_id in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter attempts by destination ID(s). Use bracket notation for multiple values (e.g., `destination_id[0]=d1&destination_id[1]=d2`). - name: destination_type in: query @@ -3192,11 +3430,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). - name: time in: query @@ -3231,11 +3467,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) @@ -3359,11 +3593,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) @@ -3513,21 +3745,17 @@ paths: in: query required: false schema: - oneOf: - - $ref: "#/components/schemas/DestinationType" - - type: array - items: - $ref: "#/components/schemas/DestinationType" + type: array + items: + $ref: "#/components/schemas/DestinationType" description: Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`). - name: topics in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`). responses: "200": @@ -3877,11 +4105,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`). - name: status in: query @@ -3894,11 +4120,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). - name: time in: query @@ -3933,11 +4157,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) @@ -4040,11 +4262,9 @@ paths: in: query required: false schema: - oneOf: - - type: string - - type: array - items: - type: string + type: array + items: + type: string description: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index cef61aa1..c94d8285 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -9,8 +9,8 @@ sources: - 0.0.1 Outpost API (Go): sourceNamespace: outpost-api - sourceRevisionDigest: sha256:3dcedd941c02dca57d321a9ff9549ad3e4c06f4b05fce54b1db4518ae1525926 - sourceBlobDigest: sha256:26aa19602e299ca2b312093a0ae81958402522a9d8a1f900742904197648c5ed + sourceRevisionDigest: sha256:fa0463ed9fac6e1ea1d4d27ca3c8fd28f250c107549edc96fc3130dce2fa2591 + sourceBlobDigest: sha256:66aab8b551893e83f5702de4ab4d57f24cdc1a68c4a17efa0e51b0d4249aa83b tags: - latest - 0.0.1 @@ -25,10 +25,10 @@ targets: outpost-go: source: Outpost API (Go) sourceNamespace: outpost-api - sourceRevisionDigest: sha256:3dcedd941c02dca57d321a9ff9549ad3e4c06f4b05fce54b1db4518ae1525926 - sourceBlobDigest: sha256:26aa19602e299ca2b312093a0ae81958402522a9d8a1f900742904197648c5ed + sourceRevisionDigest: sha256:fa0463ed9fac6e1ea1d4d27ca3c8fd28f250c107549edc96fc3130dce2fa2591 + sourceBlobDigest: sha256:66aab8b551893e83f5702de4ab4d57f24cdc1a68c4a17efa0e51b0d4249aa83b codeSamplesNamespace: outpost-api-go-code-samples - codeSamplesRevisionDigest: sha256:0244d7a112aba384de02c70dfbb3db6c48c858e36f29dba6006d1281ebc8d7bf + codeSamplesRevisionDigest: sha256:57c198724b8e924a4d7b2aa692412b0ce003c66999d46bd45ab6f8e129218c2d outpost-python: source: Outpost API (Python) sourceNamespace: outpost-api @@ -54,7 +54,6 @@ workflow: - location: ./sdks/schemas/speakeasy-modifications-overlay.yaml - location: ./sdks/schemas/security-collapse-overlay.yaml - location: ./sdks/schemas/error-types.yaml - - location: ./sdks/schemas/pagination-config-overlay.yaml registry: location: registry.speakeasyapi.dev/hookdeck-dev/outpost/outpost-api Outpost API (Go): @@ -64,7 +63,6 @@ workflow: - location: ./sdks/schemas/speakeasy-modifications-overlay.yaml - location: ./sdks/schemas/security-collapse-overlay.yaml - location: ./sdks/schemas/error-types.yaml - - location: ./sdks/schemas/pagination-config-overlay.yaml - location: ./sdks/schemas/go-array-params-overlay.yaml registry: location: registry.speakeasyapi.dev/hookdeck-dev/outpost/outpost-api @@ -75,7 +73,6 @@ workflow: - location: ./sdks/schemas/speakeasy-modifications-overlay.yaml - location: ./sdks/schemas/security-collapse-overlay.yaml - location: ./sdks/schemas/error-types.yaml - - location: ./sdks/schemas/pagination-config-overlay.yaml - location: ./sdks/schemas/python-pagination-fixes-overlay.yaml registry: location: registry.speakeasyapi.dev/hookdeck-dev/outpost/outpost-api diff --git a/sdks/outpost-go/.speakeasy/gen.lock b/sdks/outpost-go/.speakeasy/gen.lock index 7537995b..6b24a114 100644 --- a/sdks/outpost-go/.speakeasy/gen.lock +++ b/sdks/outpost-go/.speakeasy/gen.lock @@ -1,19 +1,19 @@ lockVersion: 2.0.0 id: f0627709-5a00-43ac-8678-ca716d6f379c management: - docChecksum: 56b3afb457a31662f570518662cc8faf + docChecksum: 59653b88754ae178057b100551d5c49e docVersion: 0.0.1 speakeasyVersion: 1.763.0 generationVersion: 2.884.0 - releaseVersion: 1.3.0 - configChecksum: 15d9d37ca486be8d70ac88bd0bf96529 + releaseVersion: 1.4.0 + configChecksum: ba7a328eae8a56894b30bc9f473aa6e8 repoURL: https://github.com/hookdeck/outpost.git repoSubDirectory: sdks/outpost-go installationURL: https://github.com/hookdeck/outpost persistentEdits: - generation_id: 3fe84976-864e-41c3-ac28-e178ede67f2a - pristine_commit_hash: 86e68cbd4c1bf77a23d24daed84ac23efdd80590 - pristine_tree_hash: 32259f846488c50b5217e6411dc0b041fc0af460 + generation_id: a23ea2b9-7dcc-4eee-8417-9db77c8080f5 + pristine_commit_hash: 430200e7d130958c5d51da5b8f76aaac7c11c33e + pristine_tree_hash: efdbe2e1c4fbd7d832698c7e7b2a93c9a6956b17 features: go: additionalDependencies: 0.1.0 @@ -31,7 +31,6 @@ features: intellisenseMarkdownSupport: 0.1.0 nameOverrides: 2.81.4 nullables: 0.2.1 - pagination: 2.82.7 responseFormat: 0.1.2 retries: 2.84.2 sdkHooks: 0.3.0 @@ -47,16 +46,16 @@ trackedFiles: pristine_git_object: 11e83e8fe93b1d800a77442a237ee175f0974898 attempts.go: id: f21bf72dadf3 - last_write_checksum: sha1:72bcbd65b797fbce1f77300703b05974ae8117b0 - pristine_git_object: e64c94d927e370e9bea1a33d447713a40a10d03f + last_write_checksum: sha1:6608192edd4e29f668c3639e2afce4a5d3554b6e + pristine_git_object: 4f0f7cc83974c70feb3bf001857a9d7bb05496ea configuration.go: id: 2fa188bb678a last_write_checksum: sha1:17e8a529a3cd5e3792b0eedf82f99f88535816a3 pristine_git_object: 45a8e331db8d999af9a63cbb930d10317926097a destinations.go: id: c850727f8555 - last_write_checksum: sha1:98b643e72f6991bed8ada74e8a1e87acdd5dc291 - pristine_git_object: 6e9ec6907e26b8a7b96afcd55c1c4451611216dd + last_write_checksum: sha1:f7fca41ff9875b0ba47a4199ad2df5e6a531815e + pristine_git_object: 4423c0b6a2e3d19502b6ee1079034886b5c655c8 docs/models/apierrors/apierrorresponse.md: id: 739350d59d57 last_write_checksum: sha1:f4f3ad72f98c6ddcc7f0af8fe5f3ba8504de4295 @@ -105,34 +104,66 @@ trackedFiles: id: e1381238f2b5 last_write_checksum: sha1:6f93858ba7363c4eec23d1988ae162b2fe3dd058 pristine_git_object: 93c706e4395ba6289e625dd569ed82928cf5a173 + docs/models/components/awskinesisconfigupdate.md: + id: 2d804c2e4278 + last_write_checksum: sha1:30c10a2d83ebb818ea22cb5fbfda4fdc6aa2c84b + pristine_git_object: 72212aa09bd36f022e202f21dafec323742b1ce3 docs/models/components/awskinesiscredentials.md: id: 3ab813efa2d5 last_write_checksum: sha1:d01fc75779c26e538f05e4866860d4b48e7ae7a4 pristine_git_object: 1b663ee36803916e875deeee467fcc5748d5f9ec + docs/models/components/awskinesiscredentialsupdate.md: + id: efce369f1c02 + last_write_checksum: sha1:36a1449945a8753b7bf2ac8b62cbd5226bfd89bd + pristine_git_object: c6707f0960cf16fc741268ec966f6c1e248216a9 docs/models/components/awss3config.md: id: 14eb9dea39a9 last_write_checksum: sha1:38927f15e08eca9bb47e5f9ce6062544047bbd57 pristine_git_object: 0fd08f477b94eddee7901d14f9bf92f2fa87030d + docs/models/components/awss3configupdate.md: + id: b96f7ec29f3f + last_write_checksum: sha1:c53a6d30bc4cc85dec1ecbacc5d467f356ed5f35 + pristine_git_object: fa1afee51f3c058c9d1f643c692651e666f81722 docs/models/components/awss3credentials.md: id: b95017cfda5f last_write_checksum: sha1:9e7f47ecba1064606896318188f6827b7e58e561 pristine_git_object: 50d1f119b9195ab936f6e2849c8c13c142bf1a16 + docs/models/components/awss3credentialsupdate.md: + id: 2dc52c523062 + last_write_checksum: sha1:2d0d9aba4d1068c91dd6300558386399bd404409 + pristine_git_object: 73278db89864b1b3201dd47436abebf1eae42af1 docs/models/components/awssqsconfig.md: id: ea7025d155f5 last_write_checksum: sha1:0ff93a47a64a15f5d2ebaa2ca7eee741161fd5be pristine_git_object: e0844ae444c4442bd2d504e22ee5b975b758ed15 + docs/models/components/awssqsconfigupdate.md: + id: 068d746a7766 + last_write_checksum: sha1:952832f42c88eb1921302cdd05e7646407385a33 + pristine_git_object: 68582e43cc7fcf0621724d8e3462bfab8966b664 docs/models/components/awssqscredentials.md: id: d0c7fdf810bb last_write_checksum: sha1:1639d457c352cae099c9ee68d5b85680343ee2dd pristine_git_object: 7af5f6c8ff8e9f454abc72ceb9b62b027d941320 + docs/models/components/awssqscredentialsupdate.md: + id: 946f8c0e94e6 + last_write_checksum: sha1:f0a0616e3353ee42d2fb7f4d511f332f32efbc80 + pristine_git_object: 1fea6dd0f3cf331896e6b33c29ab8c25f24e5bcd docs/models/components/azureservicebusconfig.md: id: b59836904ced last_write_checksum: sha1:d988307df4a3cab9943c12e1a62ae32a2811fc55 pristine_git_object: d4e218a9ac1afb346cc7abcd953ca6ce84058d72 + docs/models/components/azureservicebusconfigupdate.md: + id: a2e1e3b1e5f8 + last_write_checksum: sha1:aff8b7b405065f6808372e63f0fc5b10b957a4a3 + pristine_git_object: 483034eb64ba1281f229953b51c84e1443a5399a docs/models/components/azureservicebuscredentials.md: id: 321716ccc7a5 last_write_checksum: sha1:cdf548b245892d38b3ec22a95e49ce3d0972da93 pristine_git_object: 3df747ff9a9b803700fd61cf4183978b3e9cdeef + docs/models/components/azureservicebuscredentialsupdate.md: + id: 1104f5cc1c5e + last_write_checksum: sha1:b97d81f720812c997b16ac2fe60879a174a72ae1 + pristine_git_object: 0c5cf9110a93fc08a05f029a72f99c35159e752e docs/models/components/destination.md: id: e8bd99c21e69 last_write_checksum: sha1:60aea86cc7fcb4e21e74af025332a4b73b1e878a @@ -295,44 +326,80 @@ trackedFiles: pristine_git_object: c35132a2140544d1e0ffb52b86a5a42ba175f5f7 docs/models/components/destinationupdate.md: id: b3a23ab3e68a - last_write_checksum: sha1:3cf1f2a494196a329dfdac0ec1f6ca805e22b20e - pristine_git_object: 3aee7e4bee00df52fe6128ead83cd1f1598a5614 + last_write_checksum: sha1:2ede566a49f639d7061881daeecac3e56d98f829 + pristine_git_object: 52c6589fb259bf449d607a4c0e70092de449e9d1 docs/models/components/destinationupdateawskinesis.md: id: e0a4842ef74c - last_write_checksum: sha1:897a0267e63e3b6c90680da2add18f5e5edf056c - pristine_git_object: e2901ea801230ff99e3d0efda5e0c340df143b0b + last_write_checksum: sha1:a33b4d01f1afee3c2a713acb6b01565ff8ed5945 + pristine_git_object: 9699af9313ca72bc83b1f3a93dcaee188fdb4a66 + docs/models/components/destinationupdateawskinesistype.md: + id: b950376a277c + last_write_checksum: sha1:3a40b845ecffff83f424b58bc0349d9095f8cd0d + pristine_git_object: d1c5388c97e7a3bee929d478007a3ec7f77ab966 docs/models/components/destinationupdateawss3.md: id: c250ff90df94 - last_write_checksum: sha1:994835785c33770118f54c94ba68f01d9ab8ccc4 - pristine_git_object: 5da69e367cb79dd9d093af2a921bba846e75c0f6 + last_write_checksum: sha1:13c1eb59de053c8e74bab368702d4dcf921f7118 + pristine_git_object: be5ec60fd1ab6026bdad94bf87faefb5390552d8 + docs/models/components/destinationupdateawss3type.md: + id: e12ac4e5e869 + last_write_checksum: sha1:c00d84e82cc700b16744e6892f720aed2465934e + pristine_git_object: b92ee289dbc4851b63ff893484ad1c3965597b0b docs/models/components/destinationupdateawssqs.md: id: e2401ded4e44 - last_write_checksum: sha1:26f525ce6dcb8fc18c5c2a8cf37b8afe1d8c8a0d - pristine_git_object: 6bd68cf26d6895ce017d82e5a31164fc40ffa327 + last_write_checksum: sha1:d2be2498efa6e00753db56ab8f36218fbac10a51 + pristine_git_object: 2fe94de104bbc1cb7cf4a26709d1b0111f934216 + docs/models/components/destinationupdateawssqstype.md: + id: 5cc2dc65e193 + last_write_checksum: sha1:d8355ac4ab61cfb06d7267b8834fc9fc8f73dbeb + pristine_git_object: 3328adc71892ee38dfdb36e119d226c0daa624b2 docs/models/components/destinationupdateazureservicebus.md: id: f230709db383 - last_write_checksum: sha1:4a2826cf093f90d545fe38760ee4a9ec8a79b713 - pristine_git_object: 09a2d036460949654cc8af7a4474c9288f98d1d1 + last_write_checksum: sha1:ee076dd3ea4b3aa469cead07357420c523ef1460 + pristine_git_object: 125aac4e8ba1f86c1d6bf4df342443700fd32190 + docs/models/components/destinationupdateazureservicebustype.md: + id: 19c362ba1ced + last_write_checksum: sha1:34d5a3f9a4322af44d8d16eae95f312242b8f8f1 + pristine_git_object: 68e5914e0d60b4cc7b2c4a4be5767e133b5b2772 docs/models/components/destinationupdategcppubsub.md: id: dfb954a0431a - last_write_checksum: sha1:f19edd7777e503d45707604cd6f1e4a4afcdda03 - pristine_git_object: 4878a979825f81ca8c86ec4045c3280a0108637f + last_write_checksum: sha1:6b3f9b13b5d59af603630813d9ff9da7d5ad5572 + pristine_git_object: 4c5443d092bfde7975828d0018a298328ee78e58 + docs/models/components/destinationupdategcppubsubtype.md: + id: a095172171c7 + last_write_checksum: sha1:968f650186995d3daab1ea06ac9f41f9624484b4 + pristine_git_object: 307a428b2713172d770cafcc12f1762c27be6420 docs/models/components/destinationupdatehookdeck.md: id: 2d0fe3ebe94f - last_write_checksum: sha1:06542bae4d63b4e98e0c2cb98c6baa4811c71690 - pristine_git_object: 314d1c38924ac78834cb9a8da1e60b019da27016 + last_write_checksum: sha1:d8d46f37811fb917b097cb7cc1d6d68773ec3941 + pristine_git_object: 1e4b82b2891e5ecf813f620cac2adbcee583e961 + docs/models/components/destinationupdatehookdecktype.md: + id: a611289cdb0e + last_write_checksum: sha1:97870de8f50423e6b3f2181bb7ddafcaccc88d7f + pristine_git_object: dcb4cf55719ec5a4e714a7646baaa232a2789a69 docs/models/components/destinationupdatekafka.md: id: 10be812cf1c0 - last_write_checksum: sha1:4f5085f6d429510c61b03bb96cef53eea5d2209b - pristine_git_object: 98e8155afc6c01bdbe7674da2fbcbf1b88c1bbc5 + last_write_checksum: sha1:51d725802868184a62bff1acb9382376bc31c1d2 + pristine_git_object: 978c8a78c02b4d90dec4f8fbf49d8a6df365a736 + docs/models/components/destinationupdatekafkatype.md: + id: 577718f3b8d0 + last_write_checksum: sha1:d56c73c4f2de8bd9daf5bb2cdfe256811da48d0d + pristine_git_object: 7aef17a3e134fec7ca61c0aef0f66dc00c4c17cd docs/models/components/destinationupdaterabbitmq.md: id: 75ae8e40dfd5 - last_write_checksum: sha1:daa634a650c1dd64418de3fcfffaa4e73cfe2b02 - pristine_git_object: bd66eda49bfe381d826c413e3666b54c5897c84a + last_write_checksum: sha1:d5ac7df3ec095cd9cea68713f2ff96153d26127a + pristine_git_object: 4c859623c47d6e6ab8881abc7504f419a5cd9b14 + docs/models/components/destinationupdaterabbitmqtype.md: + id: e7d99db9e418 + last_write_checksum: sha1:58323c14c9f1fd64ecf8cc7146b193b2d58edeec + pristine_git_object: a1807b457d8f49163eb31fa048372fe73b4e65b9 docs/models/components/destinationupdatewebhook.md: id: 86013f6d41fd - last_write_checksum: sha1:d9d8229a5b1bb55016381994adf84cb5b0bc4fae - pristine_git_object: e3ca041c61c0edaa047dac616a196f974b4872a8 + last_write_checksum: sha1:79d4cdf6b645c2294aaabade0c1a03e59ea7339b + pristine_git_object: 2e7257013e6a3fdab68eaa8c6bc5e5f27a762554 + docs/models/components/destinationupdatewebhooktype.md: + id: d6c44fdc6bcf + last_write_checksum: sha1:cbaf0cdcdafd54c19e9115acf0f4157f1234b698 + pristine_git_object: 1124d415c33ab8f7582d6b0072f25f1ac9bde2d6 docs/models/components/destinationwebhook.md: id: 1b6ca867dbc9 last_write_checksum: sha1:5dd9693db96dae3adf383dfd0a7185a511e96935 @@ -363,36 +430,68 @@ trackedFiles: pristine_git_object: 59b4011324fab9a15573595892cf08b864962d11 docs/models/components/eventunion.md: id: c1dabc25bfe2 - last_write_checksum: sha1:c56149d6871c5abf055706ac29e716ad83a90f17 - pristine_git_object: 1cd39c4db1faa073fd9c0247aef881dbf690b78e + last_write_checksum: sha1:e351b98e87a519cfff802a80a4444ac98ff4c820 + pristine_git_object: aab96ab1561353764af47805f8cabc19edf75a8e docs/models/components/gcppubsubconfig.md: id: 77b79c449da7 last_write_checksum: sha1:34a7e4539a20119564f02f26f9ef272031b9db94 pristine_git_object: a8f579fb83f8b289bda50e5d677931872b5fabc4 + docs/models/components/gcppubsubconfigupdate.md: + id: e9bcb09eebe0 + last_write_checksum: sha1:f9f107af8d35ba1f829aa2d9e27703cda6ba0aa8 + pristine_git_object: 4a89e24e76d411ea766baac896e046bf247e41e7 docs/models/components/gcppubsubcredentials.md: id: 5d3ac2925858 last_write_checksum: sha1:90d77e50a5033b11b1150febda74cf999f3bf19e pristine_git_object: 605e1019e4f6d0d04d2b8ca8dd3872a08bf4505c + docs/models/components/gcppubsubcredentialsupdate.md: + id: 3d18a8ff6b80 + last_write_checksum: sha1:8cefad2aff022ec933e7422f1344a9dc3ab91c30 + pristine_git_object: 7d676bfffe4dc3a94eb647320ce919ba78dd25c8 docs/models/components/hookdeckcredentials.md: id: a80eb3867695 last_write_checksum: sha1:dc3df301aa6c8f57df9b9ae44bbf49e388bffba7 pristine_git_object: e35047829e62a8aeddd197a41a9c6fcc1b80ccb7 + docs/models/components/hookdeckcredentialsupdate.md: + id: 7832ec0ef249 + last_write_checksum: sha1:98ccd71f1ecc20862a2cdefdc7e8d8bc53c1a7cb + pristine_git_object: 0b17f684b2804fc872ed8c384b238aa81fbaba33 docs/models/components/httpmetadata.md: id: 728948c70168 last_write_checksum: sha1:7c40945dac218ce5e5e11e7c907d27a3ea14c417 pristine_git_object: df1fdd59f3c85e4ba70573ff7954b12ac1d33d08 docs/models/components/kafkaconfig.md: id: 366e6f036641 - last_write_checksum: sha1:1dff12537d6ad4d035b90ac3bfec357d7b9fdff2 - pristine_git_object: 79033c4eee35f4dd5d48cd5bd5b4e1a3ef54f9fd + last_write_checksum: sha1:7614e425b6d4ba09f2ce27d43418d3fc146468c3 + pristine_git_object: 8c1aea5b30a0acf499e1ba2936f2e63e5515f0c0 + docs/models/components/kafkaconfigsaslmechanism.md: + id: c9b7a0021b4d + last_write_checksum: sha1:a1bc3ab514262de64219b0522b7bbedd46006b1a + pristine_git_object: 0e1b4323dc59ad3c551c38e3c2515acbe61cf4f2 docs/models/components/kafkaconfigtls.md: id: 11f2b36eb1e1 last_write_checksum: sha1:629d99fdcd48f634de0d64bd5f27bc4ee99d8563 pristine_git_object: 45035d3d0b8394af0d99e2115eed0e1143c16b90 + docs/models/components/kafkaconfigupdate.md: + id: d8983e21a0b7 + last_write_checksum: sha1:7b6167f2b95db8357c66549fb399bc24556e2271 + pristine_git_object: f8aed71c4bb26ba28cf83fc06860ffc837c1a299 + docs/models/components/kafkaconfigupdatesaslmechanism.md: + id: e52721165110 + last_write_checksum: sha1:c0eeed069d621208d02c8d861ac6be9bfffae36a + pristine_git_object: e98ab667e11749e9ffd3b9f1746cf035ed051276 + docs/models/components/kafkaconfigupdatetls.md: + id: f4e2810f1ee2 + last_write_checksum: sha1:f1042bdd7288e97054e1a2e459c063c1a5d13a7a + pristine_git_object: 079c1ae1c628c7cc9b07a5ebfabf1031c22aee56 docs/models/components/kafkacredentials.md: id: 3d602fcd953c last_write_checksum: sha1:76905d936e57ede0a8e13d64ed4a4cdbfc996224 pristine_git_object: ec7ab7aca0b91b5d86ca6893416bc8c620a1d1d8 + docs/models/components/kafkacredentialsupdate.md: + id: f51a95bb0fd9 + last_write_checksum: sha1:74405951591ba8e0b6e13224924fcbd699eccd31 + pristine_git_object: d1141a02d60743c7339302652f66bb64c71fe2fc docs/models/components/managedconfig.md: id: f5084f1c1f7a last_write_checksum: sha1:d75c5c0ca295d5557f9ad7531cb35d4df8ad58bb @@ -437,18 +536,26 @@ trackedFiles: id: d5fd15de673d last_write_checksum: sha1:cf688b492a128166ff875772c30c13bac35740a2 pristine_git_object: 79b700f898459bab39476e2e4e92a79e4382dafd + docs/models/components/rabbitmqconfigupdate.md: + id: 171bce6b0553 + last_write_checksum: sha1:db80cba992ab68594905994f46f688f2f8997eb2 + pristine_git_object: 4408572ed0b9d78408d3f351e21a1890e5f68cd7 + docs/models/components/rabbitmqconfigupdatetls.md: + id: 7731e6af061d + last_write_checksum: sha1:53c75358bdf6a61e2b7d469f3e798eef4bc2ad60 + pristine_git_object: d78667f46f11371a98792554cda76d10d6a3f5a3 docs/models/components/rabbitmqcredentials.md: id: ff67acc94cd3 last_write_checksum: sha1:e26e1289e89e5810c959eb1f34b90e3620edb325 pristine_git_object: 6ac827d5ab899d9aaf8e27777ebafe979e90152d + docs/models/components/rabbitmqcredentialsupdate.md: + id: 8efdc118c33e + last_write_checksum: sha1:68a5b048df690991437a7306b2daf7bf0cbb1dca + pristine_git_object: 52f852ac0abb1f3e4fa260d7ae7490e11281735d docs/models/components/retryrequest.md: id: c8b7d065a709 last_write_checksum: sha1:3b8705ea15f8cd0e9ed84423a892e7a658776fc1 pristine_git_object: e6cf5862b3eb9921c6fda83d135eedd32abbcd07 - docs/models/components/saslmechanism.md: - id: cb8d6f18668c - last_write_checksum: sha1:de22efdb5c64199947f98c972be4617d9834b0ff - pristine_git_object: aa463fb255bc8d30ee973dde2d9c23c4c8caaf5c docs/models/components/security.md: id: 54906b49ea28 last_write_checksum: sha1:17e398b2abd89b7459f07c9ff820a7cc7c7b7bb7 @@ -497,14 +604,18 @@ trackedFiles: id: a93975601f79 last_write_checksum: sha1:e0e3dfba72bc04c8d3938f90a1786cf348c6c8df pristine_git_object: 5f3cc3a4653516ad890c61bf0a63341cb9fbbc0a + docs/models/components/webhookconfigupdate.md: + id: 51de8874c48e + last_write_checksum: sha1:33211d7027635f099ce4402619768a2be69c20cf + pristine_git_object: e69dec50b32da2d1e2dffb181289b13f75f86dbf docs/models/components/webhookcredentials.md: id: b84a317af170 last_write_checksum: sha1:06c160a190fc8005b0b53c4709f222b757aa43d1 pristine_git_object: 783f3213b1cabda05d8823ba0036d8eff33e42d2 docs/models/components/webhookcredentialsupdate.md: id: d6b56d9278f9 - last_write_checksum: sha1:711923e4fb24ec7c0a87ec739a666b17b6637355 - pristine_git_object: c5936f725544c984490156b434ed85e43ef10138 + last_write_checksum: sha1:76250dd06e1e6d47b736e50c16fb124e47f87237 + pristine_git_object: bc70708efd37398e10dec220d97ac40d229fdb1a docs/models/operations/createtenantdestinationrequest.md: id: 5c201a2c92c3 last_write_checksum: sha1:8dd042b531abcb627382e368225734706dbcc4aa @@ -895,20 +1006,20 @@ trackedFiles: pristine_git_object: 2ee4dd095128cac6926139658e39e3e815e51396 docs/sdks/attempts/README.md: id: 41a6f5edd623 - last_write_checksum: sha1:e0e0e6f2ea04ded57043ea100086e7f59e058038 - pristine_git_object: 2956c73ac59274dba04d4bbadb4edd30529ba8c5 + last_write_checksum: sha1:ef33ef0ca3b7c01fbf7878ddcdaa2fbd6d8919bd + pristine_git_object: 06017186dd6a4e4f135e1cdce91fc1a497dfe1c3 docs/sdks/configuration/README.md: id: d3a07ea941dd last_write_checksum: sha1:71cf31890dfc29862c2798cc694d5cd2f711321a pristine_git_object: a3af7c58b37413ca1d0863f9780e0da31b109147 docs/sdks/destinations/README.md: id: e83d288899aa - last_write_checksum: sha1:7df7d5e140077eb60ece275c757e7a6e2326a39b - pristine_git_object: 5c40399bf49de447c8f31623b33f852515bf4a61 + last_write_checksum: sha1:7a8f3c7666e96ff11f46ba9b4babc6ac6cf413ba + pristine_git_object: 8f09bdd6570a470c4316b0a0bb62547d80562086 docs/sdks/events/README.md: id: cf45a4390b9b - last_write_checksum: sha1:c0ffc03e194caeb6a135e0473081e19792421577 - pristine_git_object: 979e07c695eb16f3ab20be8bd9ce2ae1b2abc2bd + last_write_checksum: sha1:71b3fc4ef30544c33de21a5b74e51def29c7b9e7 + pristine_git_object: cf6ae2f6d971259c8203676325df979ff790f7f4 docs/sdks/health/README.md: id: 5082c50d5e82 last_write_checksum: sha1:fb606455f232d34b89baea0640a556799cd76fe1 @@ -927,20 +1038,20 @@ trackedFiles: pristine_git_object: f6b8340332c1c7b78ac47398ef7a7024f1f61020 docs/sdks/tenants/README.md: id: 68a2b19779b5 - last_write_checksum: sha1:19b70428238f52a303039c2f7442e2703d4777e4 - pristine_git_object: c59f3b2e13e3044a3a19c22aa974590d5ee71df6 + last_write_checksum: sha1:c7f5223acecff1cab1b2cbe418ba1b0dfacc857e + pristine_git_object: ec1b3d1debd6a82c67bf2e1157f57af607a0028d docs/sdks/topics/README.md: id: db4aff1adac3 last_write_checksum: sha1:78ab26801e18350c546cfc4a31a3d14a3e8e4f53 pristine_git_object: b4aa400e8e754bd03090180f6e04d117ae63294c events.go: id: fe26b3f87ab7 - last_write_checksum: sha1:c3b463fab7e54fc4aff05cd932a079d5c6f7bdf0 - pristine_git_object: e6919eff686f4519768429919ef3d77440ccda6d + last_write_checksum: sha1:065fe2c3f64636ac33eeeb5a7b865a097f868484 + pristine_git_object: bcbe6cd80ded6c1d55e249bed50f26ab37ea3cb5 go.mod: id: c47645c391ad - last_write_checksum: sha1:23351a3e9a83d12c4bfe2ddd96c828b326a00a2a - pristine_git_object: ca479d94dc00be26348e3bf15ff7e7d4e10986d9 + last_write_checksum: sha1:79dd70b8063184ec2aedf2a926c867febdda9263 + pristine_git_object: 5dd9b9351841dfcd9fb261d2f83a2f1884fd0753 health.go: id: ca291aa88e47 last_write_checksum: sha1:d84401562999c3e4ccb36facaf3c388da185ce90 @@ -1047,8 +1158,8 @@ trackedFiles: pristine_git_object: 7a24725d255c9bb5620dcd8e128b1b9b4965469b models/components/attempt.go: id: f1a7ba25d0ee - last_write_checksum: sha1:aad8facbe42b1f290ee322748fd886a2f99d2687 - pristine_git_object: fd52cb11fe677dcfc533891373e229f944c6e013 + last_write_checksum: sha1:3199c4f89a1ce03cb05bb719a28f0cd09bd32bf6 + pristine_git_object: 9b60a0ca5e6b961425e754af9bc8e2ac26d667a7 models/components/attemptpaginatedresult.go: id: 9540a56f5184 last_write_checksum: sha1:96a7782573d0d04417e8993960c363605500f0af @@ -1057,34 +1168,66 @@ trackedFiles: id: 8b76da890cd1 last_write_checksum: sha1:f29a7389f3ff97c3d1ef8c9eb0563b545763da48 pristine_git_object: 59f71467966fd71b750e9c151729fb27c395c39b + models/components/awskinesisconfigupdate.go: + id: 4eb7bc4c47ec + last_write_checksum: sha1:03210dc5d1b5208776d59f07fe1f4af093c8e08d + pristine_git_object: 37cdda69026f0adf429a64b016977065bc6e05b2 models/components/awskinesiscredentials.go: id: 200646bde776 last_write_checksum: sha1:865cb496ca2e4e997dc4d586835cdad736e73cba pristine_git_object: 9b55f6eb047efd60eac85c1791215d632c291cdf + models/components/awskinesiscredentialsupdate.go: + id: f298f6e5f9bf + last_write_checksum: sha1:a0e9fb1c720a49ed8376cd1a22db7fd8ce6ff63d + pristine_git_object: 42d9055ffe23072ee123fc236e0045b67b1f18c4 models/components/awss3config.go: id: 197d430bd23e last_write_checksum: sha1:ff386b42efb9e0c6beee5064bc6c75937dd4d29b pristine_git_object: 5d1038ed7b208d01d207fec4d4bf238e97988259 + models/components/awss3configupdate.go: + id: b77eeb5f0ed3 + last_write_checksum: sha1:56aa81b6590c0efc5b229fee3528270f09834e41 + pristine_git_object: 506ecff5ac587d559bea881f8ac30b57ec0f8a37 models/components/awss3credentials.go: id: d2abe7d8a2c5 last_write_checksum: sha1:2a80cfe70334e1d5254148ff9dc7fcd5f24336ed pristine_git_object: ba18009808ee662c4e5d3b94a081ef79fa827fb6 + models/components/awss3credentialsupdate.go: + id: 019af61b5b3d + last_write_checksum: sha1:175b36ed5345e0fcb2535f1af12336d96e9feb12 + pristine_git_object: d4086c706c05047b1a8f6707f1abc67b28ec514d models/components/awssqsconfig.go: id: c5bfa0616d45 last_write_checksum: sha1:5d39dcd9cf597f7c7daedcc0bd84f0167cb80198 pristine_git_object: 4e4c3e69c829337ce74a498c43da281e41e3428a + models/components/awssqsconfigupdate.go: + id: b5944fbf81a4 + last_write_checksum: sha1:395bcdbd7585a49d956439bfcafe504e799a8082 + pristine_git_object: 2072ed3ebd7ba543a6a7df713ca4f62e1848fdd1 models/components/awssqscredentials.go: id: 82ff879c37ef last_write_checksum: sha1:818d1a5d9ee2eb74af3cc2023b28aa78fdf2cb97 pristine_git_object: 928726dd3ba772963977562e2861b22c8225e495 + models/components/awssqscredentialsupdate.go: + id: b46029dd5541 + last_write_checksum: sha1:637929e35ad129db9280155a36297b197b266bf6 + pristine_git_object: 4f00fb6f6ae8e9c63e69e8fda41616584e0fd72b models/components/azureservicebusconfig.go: id: 3a89311132b1 last_write_checksum: sha1:dc322c63000839f85738412b92771682a7dc75e5 pristine_git_object: 59adc2eaccdbdbabe63a8fd4dc4f07b5f39df81b + models/components/azureservicebusconfigupdate.go: + id: 6126fa4f8e62 + last_write_checksum: sha1:8737cb790f349ca1118363f0a1e6e05352527bd9 + pristine_git_object: e6f144d7e177472bc105ea455e6ff36d33c1e71f models/components/azureservicebuscredentials.go: id: 86d7936a478b last_write_checksum: sha1:aaa8e7d6a638df94096aca0cd23b25a730897343 pristine_git_object: 1fbdfce89dbeb47dc3151d1f6c1123fae0af6654 + models/components/azureservicebuscredentialsupdate.go: + id: d02b5adc523a + last_write_checksum: sha1:7c149528c434b56a0b94aa6acfb6077f7afa0c47 + pristine_git_object: 5ece3e35a7e255fe772abb2ad932ae51a8fadde6 models/components/destination.go: id: fb3cf6ee9049 last_write_checksum: sha1:257361e3d33d8520f5a1e9f2ad90e90d8cda42da @@ -1175,44 +1318,44 @@ trackedFiles: pristine_git_object: 6be52ffab7a036f77a09e93c660c65260fdf0060 models/components/destinationupdate.go: id: eada8377c48d - last_write_checksum: sha1:cbe2e8ee687b4439902ba6f8f0520798ffbae3c6 - pristine_git_object: a85aeba7a853846403cd5283171677cd269d07d9 + last_write_checksum: sha1:e7732fb9816f292fa6bbc339254181c5db4d3657 + pristine_git_object: 9fddf42e7ee8ee131b871224cc98ac7b24ce26ad models/components/destinationupdateawskinesis.go: id: 3282bcbfd9da - last_write_checksum: sha1:ac227a0c676519effb4422975280d70744cd366a - pristine_git_object: f02a4bf525caf1e3ddab556ad7f0e2da702095f9 + last_write_checksum: sha1:16560947576c2c7922ee421b7386a9d37236a280 + pristine_git_object: 318bfc9011939db45cfa3cd5c920b27d85bf4eca models/components/destinationupdateawss3.go: id: 79a4859f0cea - last_write_checksum: sha1:a0ff7807190ea44bb7b0f71ce424f08fc6ec4094 - pristine_git_object: 7e53db2db05b91b34243e0953964e770d5b36e8f + last_write_checksum: sha1:f70b7f57abb5919da549c7230116a885e3d4f9c8 + pristine_git_object: 836e7c83683e651048961ee8a027b5fcb604e144 models/components/destinationupdateawssqs.go: id: 23190d1a3d21 - last_write_checksum: sha1:ed375146b12ee887a56531b29114a57f1698824e - pristine_git_object: 484a76eee1553b9bc44dc76cec32a89793a133d3 + last_write_checksum: sha1:70d986dd7ae71f1b27056e65d8a51306152aa6fd + pristine_git_object: 6d0452e985295924a0fb0c6800962674b25e7a59 models/components/destinationupdateazureservicebus.go: id: b83a9c557a38 - last_write_checksum: sha1:798ce98467c05e42a07f0bb4033304fc0d7cde5b - pristine_git_object: f7cfdbbe4c8aa89f8afbb6a761a6d93c5b203d38 + last_write_checksum: sha1:8bc42abd324981c64ee900bc4eb9dbebe591d2cd + pristine_git_object: 86989834a1c2fde5db4b32da2ad73ecb851b83f8 models/components/destinationupdategcppubsub.go: id: c1fdf179507b - last_write_checksum: sha1:582cb035476f38612aad8defb3be954c6f0de368 - pristine_git_object: b5987b92be26296a3f8ce5e7eeb682ae62c63331 + last_write_checksum: sha1:8492b5700c2d36ff1c837f3c6773b1b6d47e985e + pristine_git_object: abae07fc35472e3d8b98f61a2e6b680642d61a6a models/components/destinationupdatehookdeck.go: id: 03124d06038b - last_write_checksum: sha1:2ecd177ea51637788e4786c44daed3154c9fc564 - pristine_git_object: 9af1a2b093677e9a232f32800ce350e888ec2fa0 + last_write_checksum: sha1:dc4007c987afaae034a3ba25306961bba451b751 + pristine_git_object: 523109aa49283ae64dbcad1b3a9c860cf50caa58 models/components/destinationupdatekafka.go: id: 0a553d96d90c - last_write_checksum: sha1:a2767968be6fd54f24e53d4038f3da15acf025f9 - pristine_git_object: a9079063fb35067d3bf146a02949fbced323ad75 + last_write_checksum: sha1:5033cb16fd5e5c705c4f8bef990a716165069bc5 + pristine_git_object: 905e69da275b84502c2528c3211e6745612b3311 models/components/destinationupdaterabbitmq.go: id: 4ee793e05609 - last_write_checksum: sha1:bac782ab61f104804743c6a8b45aae7b627848d1 - pristine_git_object: 488420215c2e12dc37b014f816638f6c1139a8cf + last_write_checksum: sha1:67724ee7ffa6863519dd911116fc31aac6ebf93f + pristine_git_object: d63e5f1e5d03ba1626def7a4f716c5a5de3946e2 models/components/destinationupdatewebhook.go: id: b4c8c0a38df5 - last_write_checksum: sha1:4e7ff5adf3c06abd227c11312ca48bcb8e392003 - pristine_git_object: 1c93fa6986fbb2fc4554a106d12a1ec281e8eed2 + last_write_checksum: sha1:1d13eba09a30f03167fac1efcbd2e4a0c7ae6056 + pristine_git_object: e416c6dbeb057b9db89c32b0676603e1fc59eefc models/components/destinationwebhook.go: id: 34f9436369a5 last_write_checksum: sha1:a766e853cb1d0bee00ddb94c4e08ed9aefce84e9 @@ -1229,26 +1372,46 @@ trackedFiles: id: d2d3b56c9d41 last_write_checksum: sha1:2e170005719447bbd61e4c38b30280cf83aaa7cf pristine_git_object: 9dd5995b62aa2fd5e9eb38e2da8c745a9a32509b + models/components/gcppubsubconfigupdate.go: + id: e201b262a625 + last_write_checksum: sha1:74d5109a8f3ce03842227f6068deb34ec23cf339 + pristine_git_object: 659e346edbf7fa1ad29ae3e92876e210f20bae23 models/components/gcppubsubcredentials.go: id: b27e3aa1a09e last_write_checksum: sha1:92451911a46afea75e0d95223fec41e13be6f477 pristine_git_object: 3e0cbe6716f9690962217a3f3e428dc0918901e9 + models/components/gcppubsubcredentialsupdate.go: + id: 54c8fe960309 + last_write_checksum: sha1:74521667228b7b64c2226c4bd20f8bb4a15f91a5 + pristine_git_object: 9fff549abe4ef6279b1f6fd0770c931ec7385cbe models/components/hookdeckcredentials.go: id: cb8f8a273a4d last_write_checksum: sha1:e1cdf884d2a7ebe1d27369ca2284f66958159ab3 pristine_git_object: 1fc05365cb9c7823fc9e6e13824816d683916f8b + models/components/hookdeckcredentialsupdate.go: + id: 2648fb4413ef + last_write_checksum: sha1:f96442b962c2592d030a0ef8691ae5be09774df3 + pristine_git_object: ca65d9caf2ce53fb82205172ce56f1737e61b910 models/components/httpmetadata.go: id: 790bad4a7abb last_write_checksum: sha1:01a20fcff33179809ff9920ee431c7adabbd98f1 pristine_git_object: 148ec47fb2dea6c188ec68eb3532d93169608168 models/components/kafkaconfig.go: id: 02a90d16a070 - last_write_checksum: sha1:ffdf2611a02367bc63dca164dd31738e9593b97c - pristine_git_object: 07c9c78702d70ff66012a8c4acb1aee3fa24965a + last_write_checksum: sha1:3fd6d0568e742bbd8a21d834ff729c9068d38891 + pristine_git_object: 2e8a92140156216ad74e3cedabc95d4ed4209063 + models/components/kafkaconfigupdate.go: + id: 054ee6935400 + last_write_checksum: sha1:170dab52bbf9c92be131b7d9a6ad81f00212f6a2 + pristine_git_object: b15fa0920f30102852a09dce227494e2abf7c6af models/components/kafkacredentials.go: id: 3610f7532e7b last_write_checksum: sha1:fb056db469a4d1ec1bb904a43f008ca22d6dbe41 pristine_git_object: db07ea805b2c6b3e4ccae50b15996200c2ade35a + models/components/kafkacredentialsupdate.go: + id: 455bd7b51325 + last_write_checksum: sha1:aaa58b82a737137ca66cced64eca9a15785c7626 + pristine_git_object: 820239d134351f7b2189ee6f5b95c1619f05190a models/components/managedconfig.go: id: 183ca33f4b26 last_write_checksum: sha1:b8d16ee3380394ecdc94d1b5825fd8e9e6199c64 @@ -1285,10 +1448,18 @@ trackedFiles: id: cf01b62b640c last_write_checksum: sha1:4a1537366cb19810068cfe1d47bafadca74048db pristine_git_object: bcb522e119dca9a0c7c7296383fba6754715f8c7 + models/components/rabbitmqconfigupdate.go: + id: 812e353db05a + last_write_checksum: sha1:5a00dbb5093ea28db86ef2f562cdc7246103b36c + pristine_git_object: a7f046fb345d1007a60513fb1fcdeda205794913 models/components/rabbitmqcredentials.go: id: f7023a3bd395 last_write_checksum: sha1:f6afa39dad66d9e40e0b1f6cade0be69384717e1 pristine_git_object: 6065ea96ab2ae9ee8be1dede77503150d2caf31e + models/components/rabbitmqcredentialsupdate.go: + id: 843a9d7b1314 + last_write_checksum: sha1:eaec67fc5f141f6e3aeb201d54a17ee73779ed87 + pristine_git_object: 4644171f9109b311b1b79aab33e09566e16acda1 models/components/retryrequest.go: id: dc9fcb15ba13 last_write_checksum: sha1:e40a06cdd5ddaa6e8dd3353a243cfacaea5114f3 @@ -1329,14 +1500,18 @@ trackedFiles: id: 081453a752c7 last_write_checksum: sha1:bba801085d750e7808a3a570de6e1238e83475d5 pristine_git_object: 6b0b2ca94aa3f1b93fff9f8512e9dfe225c3bead + models/components/webhookconfigupdate.go: + id: dc68c257b6bb + last_write_checksum: sha1:4852c61eac16ed7fed5c2979b6afd0d10115df52 + pristine_git_object: 292ea89e1aa4163dc26eb5e44ea3cdfd79eff25e models/components/webhookcredentials.go: id: d4bd99503995 last_write_checksum: sha1:029c1203609eb6869377f482ae1ffafbb2760ef8 pristine_git_object: dd53e67794698ca46857f0e7354b4b4e86652d84 models/components/webhookcredentialsupdate.go: id: eec1dd2333b6 - last_write_checksum: sha1:ff5c706fa042109b7364a1c9f0749c3ff9f35016 - pristine_git_object: 4cf95e6375feebad8fac43c150cf86f3e8a4fbe3 + last_write_checksum: sha1:21ebf0e20e56a11ef8ba437dbf5aed909bcb7341 + pristine_git_object: 570e811709036cb186b7f7c6af36a89e2c81d4be models/operations/createtenantdestination.go: id: 3e498dd32fa9 last_write_checksum: sha1:34d121e2d47963a2db5cccddc8514979a295ab99 @@ -1407,28 +1582,28 @@ trackedFiles: pristine_git_object: 0dd35327c5d50f6989eb6efc122bbc494a2321fe models/operations/listattempts.go: id: 2aa25aef61af - last_write_checksum: sha1:c61c67038aad79c8efa9d3d9ffd3d1376677cc50 - pristine_git_object: 1263d5707e1c8dfa1c50c5c4b3dd1316313e2fdd + last_write_checksum: sha1:2dc87445dc1a88a3a6dd607fb7f01646f8a5720f + pristine_git_object: ea807f63f840a9c7f70ede696328bf4c591613f6 models/operations/listdestinationtypeschemas.go: id: d2e665967050 last_write_checksum: sha1:a001a482905b714996e6379d376970e46f67980e pristine_git_object: defe9931af9a8695ac03a6110614eeb7f8c954b7 models/operations/listevents.go: id: 798ff0fb0954 - last_write_checksum: sha1:8f7af7413413efba223e26333c06702dd2f91491 - pristine_git_object: e28c250c55316cee1ccef86a01d8673178c1c8eb + last_write_checksum: sha1:e1a633b98ef9f13e496e3a3f147e9217c4bb83dc + pristine_git_object: b0d8a0435fcfe3486e34a6c131e92dfd7716afa9 models/operations/listtenantdestinationattempts.go: id: d8e07f679505 - last_write_checksum: sha1:c5d57e1cb13d15bded6dc7588530a54688747b3e - pristine_git_object: d4e57b96dfad408a622f9db4db7598ea5de7b1c3 + last_write_checksum: sha1:e9915f8da1adcd52016c2d3104757eace935457c + pristine_git_object: ac6aed75d08365a86b60cb6f22f95e24d6f9dae1 models/operations/listtenantdestinations.go: id: ce62042d8804 last_write_checksum: sha1:65aa11c2afd66d0e3b37adfa188d51d94808374c pristine_git_object: ecefb99cf31be2f76c174bc1107ff8838142d057 models/operations/listtenants.go: id: 1d503b0f52be - last_write_checksum: sha1:a7a03850aab9453f8f2f9d4bea2b1e894400d84b - pristine_git_object: 214fc5b0c5b595cc1b70111e865df2e023b63d8b + last_write_checksum: sha1:36948f0a657cbe5a9d88a0bae535020fb616c094 + pristine_git_object: 14059e7055dfff1662fd6bcf81f1410eed8468d3 models/operations/listtopics.go: id: 512c7390c9df last_write_checksum: sha1:9386b5f1d2bd1b456f33b0c279f38d75a10d9d1f @@ -1451,8 +1626,8 @@ trackedFiles: pristine_git_object: 5310ddf0c9d1568f4ac10d71d3f2dd67def673bb models/operations/updatetenantdestination.go: id: 3edf01e2b712 - last_write_checksum: sha1:5d89d33200db4d5b3a938d5458fcee9f1df2c722 - pristine_git_object: c8b9a718d6b306eaaf7a74705d19993a5c49d7b0 + last_write_checksum: sha1:503bdef9258899b5578a748fc6bb16904ae3cf11 + pristine_git_object: 59d4501a5f8dd66ce0a6fb1a8057fe6386324fa1 models/operations/upserttenant.go: id: 309f717443f9 last_write_checksum: sha1:8c468ff0fac5a54ea1dc6f37d2e1c5d0b1ff035f @@ -1467,8 +1642,8 @@ trackedFiles: pristine_git_object: e6e5a01c6e721e879e24a38a1f97e3e27d4686d4 outpost.go: id: 7aebc57e3f81 - last_write_checksum: sha1:02253c52eb8ba47c942430c4606e2fdb00fb3486 - pristine_git_object: add31676a1fa8a09d64af1a913d2ca77e3057ea1 + last_write_checksum: sha1:95fbe1078067689ac8c27ffc7d6e4a191a7c59be + pristine_git_object: 80f42bb3dbb0a124ce9aa5c5203f1819400192b3 retry/config.go: id: 82d673cb0389 last_write_checksum: sha1:7f7d96b59a18e95bac847ae09c63bbd911ee8432 @@ -1479,8 +1654,8 @@ trackedFiles: pristine_git_object: 570fa4c0d4111dfb04025d4285bfcb64f758138a tenants.go: id: 391d6dd7cdcc - last_write_checksum: sha1:19b44352a2701b11273fefb046933572410a414b - pristine_git_object: 18dacffe456861d47534f7885d8da0c6b79176d0 + last_write_checksum: sha1:5daa3c7bddcf31edb983f4653eac458c626cbb40 + pristine_git_object: a10d381a4347abf992bf75d4862f85e5405de507 topics.go: id: 75500a830fc2 last_write_checksum: sha1:e471c120e6fc97395c0e16fb61257aad5b7dd876 @@ -1648,7 +1823,7 @@ examples: tenant_id: "" destination_id: "" requestBody: - application/json: {"topics": "*", "config": {"server_url": "localhost:5672", "exchange": "my-exchange", "tls": "false"}, "credentials": {"username": "guest", "password": "guest"}} + application/json: {"type": "kafka"} responses: "200": application/json: {"id": "des_webhook_123", "type": "webhook", "topics": ["user.created"], "disabled_at": null, "created_at": "2024-02-15T10:00:00Z", "updated_at": "2024-02-15T10:00:00Z", "config": {"url": "https://my-service.com/webhook/new-handler"}, "credentials": {"secret": "whsec_abc123def456", "previous_secret": "whsec_prev789xyz012", "previous_secret_invalid_at": "2024-02-16T10:00:00Z"}} @@ -1658,7 +1833,7 @@ examples: tenant_id: "" destination_id: "" requestBody: - application/json: {"topics": ["user.created"], "config": {"url": "https://my-service.com/webhook/new-handler"}} + application/json: {"type": "hookdeck"} responses: "200": application/json: {"id": "des_webhook_123", "type": "webhook", "topics": ["user.created", "order.shipped"], "disabled_at": null, "created_at": "2024-02-15T10:00:00Z", "updated_at": "2024-02-15T10:00:00Z", "config": {"url": "https://my-service.com/webhook/handler"}, "credentials": {"secret": "whsec_abc123def456", "previous_secret": "whsec_prev789xyz012", "previous_secret_invalid_at": "2024-02-16T10:00:00Z"}} @@ -2085,8 +2260,7 @@ examplesVersion: 1.0.2 generatedTests: {} releaseNotes: | ## Go SDK Changes: - * `Outpost.Destinations.Create()`: `request.Body` **Changed** - * `Outpost.Destinations.Update()`: `request.Body` **Changed** + * `Outpost.Destinations.Update()`: `request.Body` **Changed** (Breaking ⚠️) generatedFiles: - .gitattributes - /models/apierrors/badrequesterror.go diff --git a/sdks/outpost-go/.speakeasy/gen.yaml b/sdks/outpost-go/.speakeasy/gen.yaml index 747506e6..be395d92 100644 --- a/sdks/outpost-go/.speakeasy/gen.yaml +++ b/sdks/outpost-go/.speakeasy/gen.yaml @@ -29,7 +29,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false go: - version: 1.3.0 + version: 1.4.0 additionalDependencies: {} allowUnknownFieldsInWeakUnions: false baseErrorName: OutpostError diff --git a/sdks/outpost-go/README.md b/sdks/outpost-go/README.md index 346c9621..ef51f919 100644 --- a/sdks/outpost-go/README.md +++ b/sdks/outpost-go/README.md @@ -23,7 +23,6 @@ Outpost API: The Outpost API is a REST-based JSON API for managing tenants, dest * [SDK Example Usage](#sdk-example-usage) * [Authentication](#authentication) * [Available Resources and Operations](#available-resources-and-operations) - * [Pagination](#pagination) * [Retries](#retries) * [Error Handling](#error-handling) * [Server Selection](#server-selection) @@ -210,55 +209,6 @@ func main() { - -## Pagination - -Some of the endpoints in this SDK support pagination. To use pagination, you make your SDK calls as usual, but the -returned response object will have a `Next` method that can be called to pull down the next group of results. If the -return value of `Next` is `nil`, then there are no more pages to be fetched. - -Here's an example of one such pagination call: -```go -package main - -import ( - "context" - outpostgo "github.com/hookdeck/outpost/sdks/outpost-go" - "github.com/hookdeck/outpost/sdks/outpost-go/models/operations" - "log" -) - -func main() { - ctx := context.Background() - - s := outpostgo.New( - outpostgo.WithSecurity(""), - ) - - res, err := s.Tenants.List(ctx, operations.ListTenantsRequest{}) - if err != nil { - log.Fatal(err) - } - if res.TenantPaginatedResult != nil { - for { - // handle items - - res, err = res.Next() - - if err != nil { - // handle error - } - - if res == nil { - break - } - } - } -} - -``` - - ## Retries diff --git a/sdks/outpost-go/RELEASES.md b/sdks/outpost-go/RELEASES.md index 4c9c502e..ae8c2fef 100644 --- a/sdks/outpost-go/RELEASES.md +++ b/sdks/outpost-go/RELEASES.md @@ -198,4 +198,14 @@ Based on: ### Generated - [go v1.3.0] sdks/outpost-go ### Releases -- [Go v1.3.0] https://github.com/hookdeck/outpost/releases/tag/sdks/outpost-go/v1.3.0 - sdks/outpost-go \ No newline at end of file +- [Go v1.3.0] https://github.com/hookdeck/outpost/releases/tag/sdks/outpost-go/v1.3.0 - sdks/outpost-go + +## 2026-05-29 18:30:44 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.763.0 (2.884.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [go v1.4.0] sdks/outpost-go +### Releases +- [Go v1.4.0] https://github.com/hookdeck/outpost/releases/tag/sdks/outpost-go/v1.4.0 - sdks/outpost-go \ No newline at end of file diff --git a/sdks/outpost-go/attempts.go b/sdks/outpost-go/attempts.go index e64c94d9..4f0f7cc8 100644 --- a/sdks/outpost-go/attempts.go +++ b/sdks/outpost-go/attempts.go @@ -13,11 +13,8 @@ import ( "github.com/hookdeck/outpost/sdks/outpost-go/models/components" "github.com/hookdeck/outpost/sdks/outpost-go/models/operations" "github.com/hookdeck/outpost/sdks/outpost-go/retry" - "github.com/spyzhov/ajson" "net/http" "net/url" - "strconv" - "strings" ) // Attempts represent individual delivery attempts of events to destinations. The attempts API provides an attempt-centric view of event processing. @@ -209,72 +206,6 @@ func (s *Attempts) List(ctx context.Context, request operations.ListAttemptsRequ Response: httpRes, }, } - res.Next = func() (*operations.ListAttemptsResponse, error) { - rawBody, err := utils.ConsumeRawBody(httpRes) - if err != nil { - return nil, err - } - - b, err := ajson.Unmarshal(rawBody) - if err != nil { - return nil, err - } - nC, err := ajson.Eval(b, "$.pagination.next") - if err != nil { - return nil, err - } - var nCVal string - - if nC.IsNumeric() { - numVal, err := nC.GetNumeric() - if err != nil { - return nil, err - } - // GetNumeric returns as float64 so convert to the appropriate type. - nCVal = strconv.FormatFloat(numVal, 'f', 0, 64) - } else { - val, err := nC.Value() - if err != nil { - return nil, err - } - if val == nil { - return nil, nil - } - nCVal = val.(string) - if strings.TrimSpace(nCVal) == "" { - return nil, nil - } - } - r, err := ajson.Eval(b, "$.models") - if err != nil { - return nil, err - } - if !r.IsArray() { - return nil, nil - } - arr, err := r.GetArray() - if err != nil { - return nil, err - } - if len(arr) == 0 { - return nil, nil - } - - l := 0 - if request.Limit != nil { - l = int(*request.Limit) - } - if len(arr) < l { - return nil, nil - } - request.Next = &nCVal - - return s.List( - ctx, - request, - opts..., - ) - } switch { case httpRes.StatusCode == 200: diff --git a/sdks/outpost-go/destinations.go b/sdks/outpost-go/destinations.go index 6e9ec690..4423c0b6 100644 --- a/sdks/outpost-go/destinations.go +++ b/sdks/outpost-go/destinations.go @@ -13,10 +13,7 @@ import ( "github.com/hookdeck/outpost/sdks/outpost-go/models/components" "github.com/hookdeck/outpost/sdks/outpost-go/models/operations" "github.com/hookdeck/outpost/sdks/outpost-go/retry" - "github.com/spyzhov/ajson" "net/http" - "strconv" - "strings" ) // Destinations are the endpoints where events are sent. Each destination is associated with a tenant and can be configured to receive specific event topics. @@ -2181,72 +2178,6 @@ func (s *Destinations) ListAttempts(ctx context.Context, request operations.List Response: httpRes, }, } - res.Next = func() (*operations.ListTenantDestinationAttemptsResponse, error) { - rawBody, err := utils.ConsumeRawBody(httpRes) - if err != nil { - return nil, err - } - - b, err := ajson.Unmarshal(rawBody) - if err != nil { - return nil, err - } - nC, err := ajson.Eval(b, "$.pagination.next") - if err != nil { - return nil, err - } - var nCVal string - - if nC.IsNumeric() { - numVal, err := nC.GetNumeric() - if err != nil { - return nil, err - } - // GetNumeric returns as float64 so convert to the appropriate type. - nCVal = strconv.FormatFloat(numVal, 'f', 0, 64) - } else { - val, err := nC.Value() - if err != nil { - return nil, err - } - if val == nil { - return nil, nil - } - nCVal = val.(string) - if strings.TrimSpace(nCVal) == "" { - return nil, nil - } - } - r, err := ajson.Eval(b, "$.models") - if err != nil { - return nil, err - } - if !r.IsArray() { - return nil, nil - } - arr, err := r.GetArray() - if err != nil { - return nil, err - } - if len(arr) == 0 { - return nil, nil - } - - l := 0 - if request.Limit != nil { - l = int(*request.Limit) - } - if len(arr) < l { - return nil, nil - } - request.Next = &nCVal - - return s.ListAttempts( - ctx, - request, - opts..., - ) - } switch { case httpRes.StatusCode == 200: diff --git a/sdks/outpost-go/docs/models/components/awskinesisconfigupdate.md b/sdks/outpost-go/docs/models/components/awskinesisconfigupdate.md new file mode 100644 index 00000000..72212aa0 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/awskinesisconfigupdate.md @@ -0,0 +1,13 @@ +# AWSKinesisConfigUpdate + +Partial AWS Kinesis config for PATCH updates (RFC 7396 merge-patch). + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `StreamName` | `*string` | :heavy_minus_sign: | The name of the AWS Kinesis stream. | +| `Region` | `*string` | :heavy_minus_sign: | The AWS region where the Kinesis stream is located. | +| `Endpoint` | `*string` | :heavy_minus_sign: | Optional. Custom AWS endpoint URL (e.g., for LocalStack or VPC endpoints). | +| `PartitionKeyTemplate` | `*string` | :heavy_minus_sign: | Optional. JMESPath template to extract the partition key from the event payload. | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/awskinesiscredentialsupdate.md b/sdks/outpost-go/docs/models/components/awskinesiscredentialsupdate.md new file mode 100644 index 00000000..c6707f09 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/awskinesiscredentialsupdate.md @@ -0,0 +1,12 @@ +# AWSKinesisCredentialsUpdate + +Partial AWS Kinesis credentials for PATCH updates (RFC 7396 merge-patch). + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `Key` | `*string` | :heavy_minus_sign: | AWS Access Key ID. | +| `Secret` | `*string` | :heavy_minus_sign: | AWS Secret Access Key. | +| `Session` | `*string` | :heavy_minus_sign: | Optional AWS Session Token (for temporary credentials). | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/awss3configupdate.md b/sdks/outpost-go/docs/models/components/awss3configupdate.md new file mode 100644 index 00000000..fa1afee5 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/awss3configupdate.md @@ -0,0 +1,13 @@ +# Awss3ConfigUpdate + +Partial AWS S3 config for PATCH updates (RFC 7396 merge-patch). + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | +| `Bucket` | `*string` | :heavy_minus_sign: | The name of your AWS S3 bucket. | +| `Region` | `*string` | :heavy_minus_sign: | The AWS region where your bucket is located. | +| `KeyTemplate` | `*string` | :heavy_minus_sign: | JMESPath expression for generating S3 object keys. | +| `StorageClass` | `*string` | :heavy_minus_sign: | The storage class for the S3 objects. | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/awss3credentialsupdate.md b/sdks/outpost-go/docs/models/components/awss3credentialsupdate.md new file mode 100644 index 00000000..73278db8 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/awss3credentialsupdate.md @@ -0,0 +1,12 @@ +# Awss3CredentialsUpdate + +Partial AWS S3 credentials for PATCH updates (RFC 7396 merge-patch). + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `Key` | `*string` | :heavy_minus_sign: | AWS Access Key ID. | +| `Secret` | `*string` | :heavy_minus_sign: | AWS Secret Access Key. | +| `Session` | `*string` | :heavy_minus_sign: | Optional AWS Session Token (for temporary credentials). | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/awssqsconfigupdate.md b/sdks/outpost-go/docs/models/components/awssqsconfigupdate.md new file mode 100644 index 00000000..68582e43 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/awssqsconfigupdate.md @@ -0,0 +1,11 @@ +# AWSSQSConfigUpdate + +Partial AWS SQS config for PATCH updates (RFC 7396 merge-patch). + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `Endpoint` | `*string` | :heavy_minus_sign: | Optional. Custom AWS endpoint URL (e.g., for LocalStack or specific regions). | https://sqs.us-east-1.amazonaws.com | +| `QueueURL` | `*string` | :heavy_minus_sign: | The URL of the SQS queue. | https://sqs.us-east-1.amazonaws.com/123456789012/my-queue | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/awssqscredentialsupdate.md b/sdks/outpost-go/docs/models/components/awssqscredentialsupdate.md new file mode 100644 index 00000000..1fea6dd0 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/awssqscredentialsupdate.md @@ -0,0 +1,12 @@ +# AWSSQSCredentialsUpdate + +Partial AWS SQS credentials for PATCH updates (RFC 7396 merge-patch). + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `Key` | `*string` | :heavy_minus_sign: | AWS Access Key ID. | +| `Secret` | `*string` | :heavy_minus_sign: | AWS Secret Access Key. | +| `Session` | `*string` | :heavy_minus_sign: | Optional AWS Session Token (for temporary credentials). | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/azureservicebusconfigupdate.md b/sdks/outpost-go/docs/models/components/azureservicebusconfigupdate.md new file mode 100644 index 00000000..483034eb --- /dev/null +++ b/sdks/outpost-go/docs/models/components/azureservicebusconfigupdate.md @@ -0,0 +1,10 @@ +# AzureServiceBusConfigUpdate + +Partial Azure Service Bus config for PATCH updates (RFC 7396 merge-patch). + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | +| `Name` | `*string` | :heavy_minus_sign: | The name of the Azure Service Bus queue or topic to publish messages to. | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/azureservicebuscredentialsupdate.md b/sdks/outpost-go/docs/models/components/azureservicebuscredentialsupdate.md new file mode 100644 index 00000000..0c5cf911 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/azureservicebuscredentialsupdate.md @@ -0,0 +1,10 @@ +# AzureServiceBusCredentialsUpdate + +Partial Azure Service Bus credentials for PATCH updates (RFC 7396 merge-patch). + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `ConnectionString` | `*string` | :heavy_minus_sign: | The connection string for the Azure Service Bus namespace. | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdate.md b/sdks/outpost-go/docs/models/components/destinationupdate.md index 3aee7e4b..52c6589f 100644 --- a/sdks/outpost-go/docs/models/components/destinationupdate.md +++ b/sdks/outpost-go/docs/models/components/destinationupdate.md @@ -6,55 +6,55 @@ ### DestinationUpdateWebhook ```go -destinationUpdate := components.CreateDestinationUpdateDestinationUpdateWebhook(components.DestinationUpdateWebhook{/* values here */}) +destinationUpdate := components.CreateDestinationUpdateWebhook(components.DestinationUpdateWebhook{/* values here */}) ``` -### DestinationUpdateHookdeck +### DestinationUpdateAWSSQS ```go -destinationUpdate := components.CreateDestinationUpdateDestinationUpdateHookdeck(components.DestinationUpdateHookdeck{/* values here */}) +destinationUpdate := components.CreateDestinationUpdateAwsSqs(components.DestinationUpdateAWSSQS{/* values here */}) ``` -### DestinationUpdateAWSSQS +### DestinationUpdateRabbitMQ ```go -destinationUpdate := components.CreateDestinationUpdateDestinationUpdateAWSSQS(components.DestinationUpdateAWSSQS{/* values here */}) +destinationUpdate := components.CreateDestinationUpdateRabbitmq(components.DestinationUpdateRabbitMQ{/* values here */}) ``` -### DestinationUpdateAWSKinesis +### DestinationUpdateHookdeck ```go -destinationUpdate := components.CreateDestinationUpdateDestinationUpdateAWSKinesis(components.DestinationUpdateAWSKinesis{/* values here */}) +destinationUpdate := components.CreateDestinationUpdateHookdeck(components.DestinationUpdateHookdeck{/* values here */}) ``` -### DestinationUpdateAwss3 +### DestinationUpdateAWSKinesis ```go -destinationUpdate := components.CreateDestinationUpdateDestinationUpdateAwss3(components.DestinationUpdateAwss3{/* values here */}) +destinationUpdate := components.CreateDestinationUpdateAwsKinesis(components.DestinationUpdateAWSKinesis{/* values here */}) ``` ### DestinationUpdateAzureServiceBus ```go -destinationUpdate := components.CreateDestinationUpdateDestinationUpdateAzureServiceBus(components.DestinationUpdateAzureServiceBus{/* values here */}) +destinationUpdate := components.CreateDestinationUpdateAzureServicebus(components.DestinationUpdateAzureServiceBus{/* values here */}) ``` -### DestinationUpdateGCPPubSub +### DestinationUpdateAwss3 ```go -destinationUpdate := components.CreateDestinationUpdateDestinationUpdateGCPPubSub(components.DestinationUpdateGCPPubSub{/* values here */}) +destinationUpdate := components.CreateDestinationUpdateAwsS3(components.DestinationUpdateAwss3{/* values here */}) ``` -### DestinationUpdateRabbitMQ +### DestinationUpdateGCPPubSub ```go -destinationUpdate := components.CreateDestinationUpdateDestinationUpdateRabbitMQ(components.DestinationUpdateRabbitMQ{/* values here */}) +destinationUpdate := components.CreateDestinationUpdateGcpPubsub(components.DestinationUpdateGCPPubSub{/* values here */}) ``` ### DestinationUpdateKafka ```go -destinationUpdate := components.CreateDestinationUpdateDestinationUpdateKafka(components.DestinationUpdateKafka{/* values here */}) +destinationUpdate := components.CreateDestinationUpdateKafka(components.DestinationUpdateKafka{/* values here */}) ``` ## Union Discrimination @@ -63,23 +63,23 @@ Use the `Type` field to determine which variant is active, then access the corre ```go switch destinationUpdate.Type { - case components.DestinationUpdateTypeDestinationUpdateWebhook: + case components.DestinationUpdateTypeWebhook: // destinationUpdate.DestinationUpdateWebhook is populated - case components.DestinationUpdateTypeDestinationUpdateHookdeck: - // destinationUpdate.DestinationUpdateHookdeck is populated - case components.DestinationUpdateTypeDestinationUpdateAWSSQS: + case components.DestinationUpdateTypeAwsSqs: // destinationUpdate.DestinationUpdateAWSSQS is populated - case components.DestinationUpdateTypeDestinationUpdateAWSKinesis: + case components.DestinationUpdateTypeRabbitmq: + // destinationUpdate.DestinationUpdateRabbitMQ is populated + case components.DestinationUpdateTypeHookdeck: + // destinationUpdate.DestinationUpdateHookdeck is populated + case components.DestinationUpdateTypeAwsKinesis: // destinationUpdate.DestinationUpdateAWSKinesis is populated - case components.DestinationUpdateTypeDestinationUpdateAwss3: - // destinationUpdate.DestinationUpdateAwss3 is populated - case components.DestinationUpdateTypeDestinationUpdateAzureServiceBus: + case components.DestinationUpdateTypeAzureServicebus: // destinationUpdate.DestinationUpdateAzureServiceBus is populated - case components.DestinationUpdateTypeDestinationUpdateGCPPubSub: + case components.DestinationUpdateTypeAwsS3: + // destinationUpdate.DestinationUpdateAwss3 is populated + case components.DestinationUpdateTypeGcpPubsub: // destinationUpdate.DestinationUpdateGCPPubSub is populated - case components.DestinationUpdateTypeDestinationUpdateRabbitMQ: - // destinationUpdate.DestinationUpdateRabbitMQ is populated - case components.DestinationUpdateTypeDestinationUpdateKafka: + case components.DestinationUpdateTypeKafka: // destinationUpdate.DestinationUpdateKafka is populated } ``` diff --git a/sdks/outpost-go/docs/models/components/destinationupdateawskinesis.md b/sdks/outpost-go/docs/models/components/destinationupdateawskinesis.md index e2901ea8..9699af93 100644 --- a/sdks/outpost-go/docs/models/components/destinationupdateawskinesis.md +++ b/sdks/outpost-go/docs/models/components/destinationupdateawskinesis.md @@ -5,10 +5,11 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Type` | [components.DestinationUpdateAWSKinesisType](../../models/components/destinationupdateawskinesistype.md) | :heavy_check_mark: | Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. | aws_kinesis | | `Topics` | [*components.Topics](../../models/components/topics.md) | :heavy_minus_sign: | "*" or an array of enabled topics. | * | | `Filter` | optionalnullable.OptionalNullable[map[string]`any`] | :heavy_minus_sign: | Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination.
Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not.
If null or empty, all events matching the topic filter will be delivered.
Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
| {
"data": {
"amount": {
"$gte": 100
},
"customer": {
"tier": "premium"
}
}
} | -| `Config` | [*components.AWSKinesisConfig](../../models/components/awskinesisconfig.md) | :heavy_minus_sign: | N/A | | -| `Credentials` | [*components.AWSKinesisCredentials](../../models/components/awskinesiscredentials.md) | :heavy_minus_sign: | N/A | | +| `Config` | [*components.AWSKinesisConfigUpdate](../../models/components/awskinesisconfigupdate.md) | :heavy_minus_sign: | Partial AWS Kinesis config for PATCH updates (RFC 7396 merge-patch). | | +| `Credentials` | [*components.AWSKinesisCredentialsUpdate](../../models/components/awskinesiscredentialsupdate.md) | :heavy_minus_sign: | Partial AWS Kinesis credentials for PATCH updates (RFC 7396 merge-patch). | | | `DeliveryMetadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"app-id": "my-app",
"region": "us-east-1"
} | | `Metadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"internal-id": "123",
"team": "platform"
} | | `DisabledAt` | optionalnullable.OptionalNullable[[time.Time](https://pkg.go.dev/time#Time)] | :heavy_minus_sign: | Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. | | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdateawskinesistype.md b/sdks/outpost-go/docs/models/components/destinationupdateawskinesistype.md new file mode 100644 index 00000000..d1c5388c --- /dev/null +++ b/sdks/outpost-go/docs/models/components/destinationupdateawskinesistype.md @@ -0,0 +1,20 @@ +# DestinationUpdateAWSKinesisType + +Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + +## Example Usage + +```go +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/models/components" +) + +value := components.DestinationUpdateAWSKinesisTypeAwsKinesis +``` + + +## Values + +| Name | Value | +| ------------------------------------------- | ------------------------------------------- | +| `DestinationUpdateAWSKinesisTypeAwsKinesis` | aws_kinesis | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdateawss3.md b/sdks/outpost-go/docs/models/components/destinationupdateawss3.md index 5da69e36..be5ec60f 100644 --- a/sdks/outpost-go/docs/models/components/destinationupdateawss3.md +++ b/sdks/outpost-go/docs/models/components/destinationupdateawss3.md @@ -5,10 +5,11 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Type` | [components.DestinationUpdateAwss3Type](../../models/components/destinationupdateawss3type.md) | :heavy_check_mark: | Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. | aws_s3 | | `Topics` | [*components.Topics](../../models/components/topics.md) | :heavy_minus_sign: | "*" or an array of enabled topics. | * | | `Filter` | optionalnullable.OptionalNullable[map[string]`any`] | :heavy_minus_sign: | Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination.
Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not.
If null or empty, all events matching the topic filter will be delivered.
Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
| {
"data": {
"amount": {
"$gte": 100
},
"customer": {
"tier": "premium"
}
}
} | -| `Config` | [*components.Awss3Config](../../models/components/awss3config.md) | :heavy_minus_sign: | N/A | | -| `Credentials` | [*components.Awss3Credentials](../../models/components/awss3credentials.md) | :heavy_minus_sign: | N/A | | +| `Config` | [*components.Awss3ConfigUpdate](../../models/components/awss3configupdate.md) | :heavy_minus_sign: | Partial AWS S3 config for PATCH updates (RFC 7396 merge-patch). | | +| `Credentials` | [*components.Awss3CredentialsUpdate](../../models/components/awss3credentialsupdate.md) | :heavy_minus_sign: | Partial AWS S3 credentials for PATCH updates (RFC 7396 merge-patch). | | | `DeliveryMetadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"app-id": "my-app",
"region": "us-east-1"
} | | `Metadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"internal-id": "123",
"team": "platform"
} | | `DisabledAt` | optionalnullable.OptionalNullable[[time.Time](https://pkg.go.dev/time#Time)] | :heavy_minus_sign: | Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. | | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdateawss3type.md b/sdks/outpost-go/docs/models/components/destinationupdateawss3type.md new file mode 100644 index 00000000..b92ee289 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/destinationupdateawss3type.md @@ -0,0 +1,20 @@ +# DestinationUpdateAwss3Type + +Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + +## Example Usage + +```go +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/models/components" +) + +value := components.DestinationUpdateAwss3TypeAwsS3 +``` + + +## Values + +| Name | Value | +| --------------------------------- | --------------------------------- | +| `DestinationUpdateAwss3TypeAwsS3` | aws_s3 | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdateawssqs.md b/sdks/outpost-go/docs/models/components/destinationupdateawssqs.md index 6bd68cf2..2fe94de1 100644 --- a/sdks/outpost-go/docs/models/components/destinationupdateawssqs.md +++ b/sdks/outpost-go/docs/models/components/destinationupdateawssqs.md @@ -5,10 +5,11 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Type` | [components.DestinationUpdateAWSSQSType](../../models/components/destinationupdateawssqstype.md) | :heavy_check_mark: | Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. | aws_sqs | | `Topics` | [*components.Topics](../../models/components/topics.md) | :heavy_minus_sign: | "*" or an array of enabled topics. | * | | `Filter` | optionalnullable.OptionalNullable[map[string]`any`] | :heavy_minus_sign: | Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination.
Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not.
If null or empty, all events matching the topic filter will be delivered.
Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
| {
"data": {
"amount": {
"$gte": 100
},
"customer": {
"tier": "premium"
}
}
} | -| `Config` | [*components.AWSSQSConfig](../../models/components/awssqsconfig.md) | :heavy_minus_sign: | N/A | | -| `Credentials` | [*components.AWSSQSCredentials](../../models/components/awssqscredentials.md) | :heavy_minus_sign: | N/A | | +| `Config` | [*components.AWSSQSConfigUpdate](../../models/components/awssqsconfigupdate.md) | :heavy_minus_sign: | Partial AWS SQS config for PATCH updates (RFC 7396 merge-patch). | | +| `Credentials` | [*components.AWSSQSCredentialsUpdate](../../models/components/awssqscredentialsupdate.md) | :heavy_minus_sign: | Partial AWS SQS credentials for PATCH updates (RFC 7396 merge-patch). | | | `DeliveryMetadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"app-id": "my-app",
"region": "us-east-1"
} | | `Metadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"internal-id": "123",
"team": "platform"
} | | `DisabledAt` | optionalnullable.OptionalNullable[[time.Time](https://pkg.go.dev/time#Time)] | :heavy_minus_sign: | Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. | | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdateawssqstype.md b/sdks/outpost-go/docs/models/components/destinationupdateawssqstype.md new file mode 100644 index 00000000..3328adc7 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/destinationupdateawssqstype.md @@ -0,0 +1,20 @@ +# DestinationUpdateAWSSQSType + +Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + +## Example Usage + +```go +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/models/components" +) + +value := components.DestinationUpdateAWSSQSTypeAwsSqs +``` + + +## Values + +| Name | Value | +| ----------------------------------- | ----------------------------------- | +| `DestinationUpdateAWSSQSTypeAwsSqs` | aws_sqs | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdateazureservicebus.md b/sdks/outpost-go/docs/models/components/destinationupdateazureservicebus.md index 09a2d036..125aac4e 100644 --- a/sdks/outpost-go/docs/models/components/destinationupdateazureservicebus.md +++ b/sdks/outpost-go/docs/models/components/destinationupdateazureservicebus.md @@ -5,10 +5,11 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Type` | [components.DestinationUpdateAzureServiceBusType](../../models/components/destinationupdateazureservicebustype.md) | :heavy_check_mark: | Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. | azure_servicebus | | `Topics` | [*components.Topics](../../models/components/topics.md) | :heavy_minus_sign: | "*" or an array of enabled topics. | * | | `Filter` | optionalnullable.OptionalNullable[map[string]`any`] | :heavy_minus_sign: | Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination.
Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not.
If null or empty, all events matching the topic filter will be delivered.
Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
| {
"data": {
"amount": {
"$gte": 100
},
"customer": {
"tier": "premium"
}
}
} | -| `Config` | [*components.AzureServiceBusConfig](../../models/components/azureservicebusconfig.md) | :heavy_minus_sign: | N/A | | -| `Credentials` | [*components.AzureServiceBusCredentials](../../models/components/azureservicebuscredentials.md) | :heavy_minus_sign: | N/A | | +| `Config` | [*components.AzureServiceBusConfigUpdate](../../models/components/azureservicebusconfigupdate.md) | :heavy_minus_sign: | Partial Azure Service Bus config for PATCH updates (RFC 7396 merge-patch). | | +| `Credentials` | [*components.AzureServiceBusCredentialsUpdate](../../models/components/azureservicebuscredentialsupdate.md) | :heavy_minus_sign: | Partial Azure Service Bus credentials for PATCH updates (RFC 7396 merge-patch). | | | `DeliveryMetadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"app-id": "my-app",
"region": "us-east-1"
} | | `Metadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"internal-id": "123",
"team": "platform"
} | | `DisabledAt` | optionalnullable.OptionalNullable[[time.Time](https://pkg.go.dev/time#Time)] | :heavy_minus_sign: | Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. | | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdateazureservicebustype.md b/sdks/outpost-go/docs/models/components/destinationupdateazureservicebustype.md new file mode 100644 index 00000000..68e5914e --- /dev/null +++ b/sdks/outpost-go/docs/models/components/destinationupdateazureservicebustype.md @@ -0,0 +1,20 @@ +# DestinationUpdateAzureServiceBusType + +Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + +## Example Usage + +```go +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/models/components" +) + +value := components.DestinationUpdateAzureServiceBusTypeAzureServicebus +``` + + +## Values + +| Name | Value | +| ----------------------------------------------------- | ----------------------------------------------------- | +| `DestinationUpdateAzureServiceBusTypeAzureServicebus` | azure_servicebus | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdategcppubsub.md b/sdks/outpost-go/docs/models/components/destinationupdategcppubsub.md index 4878a979..4c5443d0 100644 --- a/sdks/outpost-go/docs/models/components/destinationupdategcppubsub.md +++ b/sdks/outpost-go/docs/models/components/destinationupdategcppubsub.md @@ -5,10 +5,11 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Type` | [components.DestinationUpdateGCPPubSubType](../../models/components/destinationupdategcppubsubtype.md) | :heavy_check_mark: | Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. | gcp_pubsub | | `Topics` | [*components.Topics](../../models/components/topics.md) | :heavy_minus_sign: | "*" or an array of enabled topics. | * | | `Filter` | optionalnullable.OptionalNullable[map[string]`any`] | :heavy_minus_sign: | Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination.
Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not.
If null or empty, all events matching the topic filter will be delivered.
Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
| {
"data": {
"amount": {
"$gte": 100
},
"customer": {
"tier": "premium"
}
}
} | -| `Config` | [*components.GCPPubSubConfig](../../models/components/gcppubsubconfig.md) | :heavy_minus_sign: | N/A | | -| `Credentials` | [*components.GCPPubSubCredentials](../../models/components/gcppubsubcredentials.md) | :heavy_minus_sign: | N/A | | +| `Config` | [*components.GCPPubSubConfigUpdate](../../models/components/gcppubsubconfigupdate.md) | :heavy_minus_sign: | Partial GCP Pub/Sub config for PATCH updates (RFC 7396 merge-patch). | | +| `Credentials` | [*components.GCPPubSubCredentialsUpdate](../../models/components/gcppubsubcredentialsupdate.md) | :heavy_minus_sign: | Partial GCP Pub/Sub credentials for PATCH updates (RFC 7396 merge-patch). | | | `DeliveryMetadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"app-id": "my-app",
"region": "us-east-1"
} | | `Metadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"internal-id": "123",
"team": "platform"
} | | `DisabledAt` | optionalnullable.OptionalNullable[[time.Time](https://pkg.go.dev/time#Time)] | :heavy_minus_sign: | Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. | | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdategcppubsubtype.md b/sdks/outpost-go/docs/models/components/destinationupdategcppubsubtype.md new file mode 100644 index 00000000..307a428b --- /dev/null +++ b/sdks/outpost-go/docs/models/components/destinationupdategcppubsubtype.md @@ -0,0 +1,20 @@ +# DestinationUpdateGCPPubSubType + +Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + +## Example Usage + +```go +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/models/components" +) + +value := components.DestinationUpdateGCPPubSubTypeGcpPubsub +``` + + +## Values + +| Name | Value | +| ----------------------------------------- | ----------------------------------------- | +| `DestinationUpdateGCPPubSubTypeGcpPubsub` | gcp_pubsub | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdatehookdeck.md b/sdks/outpost-go/docs/models/components/destinationupdatehookdeck.md index 314d1c38..1e4b82b2 100644 --- a/sdks/outpost-go/docs/models/components/destinationupdatehookdeck.md +++ b/sdks/outpost-go/docs/models/components/destinationupdatehookdeck.md @@ -5,10 +5,10 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Type` | [components.DestinationUpdateHookdeckType](../../models/components/destinationupdatehookdecktype.md) | :heavy_check_mark: | Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. | hookdeck | | `Topics` | [*components.Topics](../../models/components/topics.md) | :heavy_minus_sign: | "*" or an array of enabled topics. | * | | `Filter` | optionalnullable.OptionalNullable[map[string]`any`] | :heavy_minus_sign: | Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination.
Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not.
If null or empty, all events matching the topic filter will be delivered.
Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
| {
"data": {
"amount": {
"$gte": 100
},
"customer": {
"tier": "premium"
}
}
} | -| `Config` | `any` | :heavy_minus_sign: | N/A | | -| `Credentials` | [*components.HookdeckCredentials](../../models/components/hookdeckcredentials.md) | :heavy_minus_sign: | N/A | | +| `Credentials` | [*components.HookdeckCredentialsUpdate](../../models/components/hookdeckcredentialsupdate.md) | :heavy_minus_sign: | Partial Hookdeck credentials for PATCH updates (RFC 7396 merge-patch). | | | `DeliveryMetadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"app-id": "my-app",
"region": "us-east-1"
} | | `Metadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"internal-id": "123",
"team": "platform"
} | | `DisabledAt` | optionalnullable.OptionalNullable[[time.Time](https://pkg.go.dev/time#Time)] | :heavy_minus_sign: | Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. | | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdatehookdecktype.md b/sdks/outpost-go/docs/models/components/destinationupdatehookdecktype.md new file mode 100644 index 00000000..dcb4cf55 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/destinationupdatehookdecktype.md @@ -0,0 +1,20 @@ +# DestinationUpdateHookdeckType + +Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + +## Example Usage + +```go +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/models/components" +) + +value := components.DestinationUpdateHookdeckTypeHookdeck +``` + + +## Values + +| Name | Value | +| --------------------------------------- | --------------------------------------- | +| `DestinationUpdateHookdeckTypeHookdeck` | hookdeck | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdatekafka.md b/sdks/outpost-go/docs/models/components/destinationupdatekafka.md index 98e8155a..978c8a78 100644 --- a/sdks/outpost-go/docs/models/components/destinationupdatekafka.md +++ b/sdks/outpost-go/docs/models/components/destinationupdatekafka.md @@ -5,10 +5,11 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Type` | [components.DestinationUpdateKafkaType](../../models/components/destinationupdatekafkatype.md) | :heavy_check_mark: | Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. | kafka | | `Topics` | [*components.Topics](../../models/components/topics.md) | :heavy_minus_sign: | "*" or an array of enabled topics. | * | | `Filter` | optionalnullable.OptionalNullable[map[string]`any`] | :heavy_minus_sign: | Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination.
Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not.
If null or empty, all events matching the topic filter will be delivered.
Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
| {
"data": {
"amount": {
"$gte": 100
},
"customer": {
"tier": "premium"
}
}
} | -| `Config` | [*components.KafkaConfig](../../models/components/kafkaconfig.md) | :heavy_minus_sign: | N/A | | -| `Credentials` | [*components.KafkaCredentials](../../models/components/kafkacredentials.md) | :heavy_minus_sign: | N/A | | +| `Config` | [*components.KafkaConfigUpdate](../../models/components/kafkaconfigupdate.md) | :heavy_minus_sign: | Partial Kafka config for PATCH updates (RFC 7396 merge-patch). | | +| `Credentials` | [*components.KafkaCredentialsUpdate](../../models/components/kafkacredentialsupdate.md) | :heavy_minus_sign: | Partial Kafka credentials for PATCH updates (RFC 7396 merge-patch). | | | `DeliveryMetadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"app-id": "my-app",
"region": "us-east-1"
} | | `Metadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"internal-id": "123",
"team": "platform"
} | | `DisabledAt` | optionalnullable.OptionalNullable[[time.Time](https://pkg.go.dev/time#Time)] | :heavy_minus_sign: | Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. | | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdatekafkatype.md b/sdks/outpost-go/docs/models/components/destinationupdatekafkatype.md new file mode 100644 index 00000000..7aef17a3 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/destinationupdatekafkatype.md @@ -0,0 +1,20 @@ +# DestinationUpdateKafkaType + +Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + +## Example Usage + +```go +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/models/components" +) + +value := components.DestinationUpdateKafkaTypeKafka +``` + + +## Values + +| Name | Value | +| --------------------------------- | --------------------------------- | +| `DestinationUpdateKafkaTypeKafka` | kafka | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdaterabbitmq.md b/sdks/outpost-go/docs/models/components/destinationupdaterabbitmq.md index bd66eda4..4c859623 100644 --- a/sdks/outpost-go/docs/models/components/destinationupdaterabbitmq.md +++ b/sdks/outpost-go/docs/models/components/destinationupdaterabbitmq.md @@ -5,10 +5,11 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Type` | [components.DestinationUpdateRabbitMQType](../../models/components/destinationupdaterabbitmqtype.md) | :heavy_check_mark: | Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. | rabbitmq | | `Topics` | [*components.Topics](../../models/components/topics.md) | :heavy_minus_sign: | "*" or an array of enabled topics. | * | | `Filter` | optionalnullable.OptionalNullable[map[string]`any`] | :heavy_minus_sign: | Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination.
Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not.
If null or empty, all events matching the topic filter will be delivered.
Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
| {
"data": {
"amount": {
"$gte": 100
},
"customer": {
"tier": "premium"
}
}
} | -| `Config` | [*components.RabbitMQConfig](../../models/components/rabbitmqconfig.md) | :heavy_minus_sign: | N/A | | -| `Credentials` | [*components.RabbitMQCredentials](../../models/components/rabbitmqcredentials.md) | :heavy_minus_sign: | N/A | | +| `Config` | [*components.RabbitMQConfigUpdate](../../models/components/rabbitmqconfigupdate.md) | :heavy_minus_sign: | Partial RabbitMQ config for PATCH updates (RFC 7396 merge-patch). | | +| `Credentials` | [*components.RabbitMQCredentialsUpdate](../../models/components/rabbitmqcredentialsupdate.md) | :heavy_minus_sign: | Partial RabbitMQ credentials for PATCH updates (RFC 7396 merge-patch). | | | `DeliveryMetadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"app-id": "my-app",
"region": "us-east-1"
} | | `Metadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"internal-id": "123",
"team": "platform"
} | | `DisabledAt` | optionalnullable.OptionalNullable[[time.Time](https://pkg.go.dev/time#Time)] | :heavy_minus_sign: | Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. | | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdaterabbitmqtype.md b/sdks/outpost-go/docs/models/components/destinationupdaterabbitmqtype.md new file mode 100644 index 00000000..a1807b45 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/destinationupdaterabbitmqtype.md @@ -0,0 +1,20 @@ +# DestinationUpdateRabbitMQType + +Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + +## Example Usage + +```go +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/models/components" +) + +value := components.DestinationUpdateRabbitMQTypeRabbitmq +``` + + +## Values + +| Name | Value | +| --------------------------------------- | --------------------------------------- | +| `DestinationUpdateRabbitMQTypeRabbitmq` | rabbitmq | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdatewebhook.md b/sdks/outpost-go/docs/models/components/destinationupdatewebhook.md index e3ca041c..2e725701 100644 --- a/sdks/outpost-go/docs/models/components/destinationupdatewebhook.md +++ b/sdks/outpost-go/docs/models/components/destinationupdatewebhook.md @@ -5,10 +5,11 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Type` | [components.DestinationUpdateWebhookType](../../models/components/destinationupdatewebhooktype.md) | :heavy_check_mark: | Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. | webhook | | `Topics` | [*components.Topics](../../models/components/topics.md) | :heavy_minus_sign: | "*" or an array of enabled topics. | * | | `Filter` | optionalnullable.OptionalNullable[map[string]`any`] | :heavy_minus_sign: | Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination.
Supports operators: $eq, $neq, $gt, $gte, $lt, $lte, $in, $nin, $startsWith, $endsWith, $exist, $or, $and, $not.
If null or empty, all events matching the topic filter will be delivered.
Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change.
| {
"data": {
"amount": {
"$gte": 100
},
"customer": {
"tier": "premium"
}
}
} | -| `Config` | [*components.WebhookConfig](../../models/components/webhookconfig.md) | :heavy_minus_sign: | N/A | | -| `Credentials` | [*components.WebhookCredentialsUpdate](../../models/components/webhookcredentialsupdate.md) | :heavy_minus_sign: | N/A | | +| `Config` | [*components.WebhookConfigUpdate](../../models/components/webhookconfigupdate.md) | :heavy_minus_sign: | Partial Webhook config for PATCH updates (RFC 7396 merge-patch). | | +| `Credentials` | [*components.WebhookCredentialsUpdate](../../models/components/webhookcredentialsupdate.md) | :heavy_minus_sign: | Partial Webhook credentials for PATCH updates (RFC 7396 merge-patch). | | | `DeliveryMetadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"app-id": "my-app",
"region": "us-east-1"
} | | `Metadata` | optionalnullable.OptionalNullable[map[string]`*string`] | :heavy_minus_sign: | Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. | {
"internal-id": "123",
"team": "platform"
} | | `DisabledAt` | optionalnullable.OptionalNullable[[time.Time](https://pkg.go.dev/time#Time)] | :heavy_minus_sign: | Update the disabled state of the destination. Send a timestamp (must not be in the future) to disable, null to enable, or omit to leave unchanged. | | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/destinationupdatewebhooktype.md b/sdks/outpost-go/docs/models/components/destinationupdatewebhooktype.md new file mode 100644 index 00000000..1124d415 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/destinationupdatewebhooktype.md @@ -0,0 +1,20 @@ +# DestinationUpdateWebhookType + +Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + +## Example Usage + +```go +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/models/components" +) + +value := components.DestinationUpdateWebhookTypeWebhook +``` + + +## Values + +| Name | Value | +| ------------------------------------- | ------------------------------------- | +| `DestinationUpdateWebhookTypeWebhook` | webhook | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/eventunion.md b/sdks/outpost-go/docs/models/components/eventunion.md index 1cd39c4d..aab96ab1 100644 --- a/sdks/outpost-go/docs/models/components/eventunion.md +++ b/sdks/outpost-go/docs/models/components/eventunion.md @@ -5,16 +5,16 @@ The associated event object. Only present when include=event or include=event.da ## Supported Types -### EventSummary +### EventFull ```go -eventUnion := components.CreateEventUnionEventSummary(components.EventSummary{/* values here */}) +eventUnion := components.CreateEventUnionEventFull(components.EventFull{/* values here */}) ``` -### EventFull +### EventSummary ```go -eventUnion := components.CreateEventUnionEventFull(components.EventFull{/* values here */}) +eventUnion := components.CreateEventUnionEventSummary(components.EventSummary{/* values here */}) ``` ## Union Discrimination @@ -23,9 +23,9 @@ Use the `Type` field to determine which variant is active, then access the corre ```go switch eventUnion.Type { - case components.EventUnionTypeEventSummary: - // eventUnion.EventSummary is populated case components.EventUnionTypeEventFull: // eventUnion.EventFull is populated + case components.EventUnionTypeEventSummary: + // eventUnion.EventSummary is populated } ``` diff --git a/sdks/outpost-go/docs/models/components/gcppubsubconfigupdate.md b/sdks/outpost-go/docs/models/components/gcppubsubconfigupdate.md new file mode 100644 index 00000000..4a89e24e --- /dev/null +++ b/sdks/outpost-go/docs/models/components/gcppubsubconfigupdate.md @@ -0,0 +1,12 @@ +# GCPPubSubConfigUpdate + +Partial GCP Pub/Sub config for PATCH updates (RFC 7396 merge-patch). + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `ProjectID` | `*string` | :heavy_minus_sign: | The GCP project ID. | +| `Topic` | `*string` | :heavy_minus_sign: | The Pub/Sub topic name. | +| `Endpoint` | `*string` | :heavy_minus_sign: | Optional. Custom endpoint URL (e.g., localhost:8085 for emulator). | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/gcppubsubcredentialsupdate.md b/sdks/outpost-go/docs/models/components/gcppubsubcredentialsupdate.md new file mode 100644 index 00000000..7d676bff --- /dev/null +++ b/sdks/outpost-go/docs/models/components/gcppubsubcredentialsupdate.md @@ -0,0 +1,10 @@ +# GCPPubSubCredentialsUpdate + +Partial GCP Pub/Sub credentials for PATCH updates (RFC 7396 merge-patch). + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `ServiceAccountJSON` | `*string` | :heavy_minus_sign: | Service account key JSON. The entire JSON key file content as a string. | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/hookdeckcredentialsupdate.md b/sdks/outpost-go/docs/models/components/hookdeckcredentialsupdate.md new file mode 100644 index 00000000..0b17f684 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/hookdeckcredentialsupdate.md @@ -0,0 +1,10 @@ +# HookdeckCredentialsUpdate + +Partial Hookdeck credentials for PATCH updates (RFC 7396 merge-patch). + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | +| `Token` | `*string` | :heavy_minus_sign: | Hookdeck authentication token. | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/kafkaconfig.md b/sdks/outpost-go/docs/models/components/kafkaconfig.md index 79033c4e..8c1aea5b 100644 --- a/sdks/outpost-go/docs/models/components/kafkaconfig.md +++ b/sdks/outpost-go/docs/models/components/kafkaconfig.md @@ -7,6 +7,6 @@ | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | | `Brokers` | `string` | :heavy_check_mark: | Comma-separated list of Kafka broker addresses. | broker1.example.com:9092,broker2.example.com:9092 | | `Topic` | `string` | :heavy_check_mark: | The Kafka topic to publish messages to. | events | -| `SaslMechanism` | [components.SaslMechanism](../../models/components/saslmechanism.md) | :heavy_check_mark: | SASL authentication mechanism. | scram-sha-256 | +| `SaslMechanism` | [components.KafkaConfigSaslMechanism](../../models/components/kafkaconfigsaslmechanism.md) | :heavy_check_mark: | SASL authentication mechanism. | scram-sha-256 | | `TLS` | [*components.KafkaConfigTLS](../../models/components/kafkaconfigtls.md) | :heavy_minus_sign: | Whether to enable TLS for the connection. | true | | `PartitionKeyTemplate` | `*string` | :heavy_minus_sign: | Optional JMESPath template to extract the partition key from the event payload. Defaults to the event ID. | data.customer_id | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/kafkaconfigsaslmechanism.md b/sdks/outpost-go/docs/models/components/kafkaconfigsaslmechanism.md new file mode 100644 index 00000000..0e1b4323 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/kafkaconfigsaslmechanism.md @@ -0,0 +1,22 @@ +# KafkaConfigSaslMechanism + +SASL authentication mechanism. + +## Example Usage + +```go +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/models/components" +) + +value := components.KafkaConfigSaslMechanismPlain +``` + + +## Values + +| Name | Value | +| ------------------------------------- | ------------------------------------- | +| `KafkaConfigSaslMechanismPlain` | plain | +| `KafkaConfigSaslMechanismScramSha256` | scram-sha-256 | +| `KafkaConfigSaslMechanismScramSha512` | scram-sha-512 | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/kafkaconfigupdate.md b/sdks/outpost-go/docs/models/components/kafkaconfigupdate.md new file mode 100644 index 00000000..f8aed71c --- /dev/null +++ b/sdks/outpost-go/docs/models/components/kafkaconfigupdate.md @@ -0,0 +1,14 @@ +# KafkaConfigUpdate + +Partial Kafka config for PATCH updates (RFC 7396 merge-patch). + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `Brokers` | `*string` | :heavy_minus_sign: | Comma-separated list of Kafka broker addresses. | +| `Topic` | `*string` | :heavy_minus_sign: | The Kafka topic to publish messages to. | +| `SaslMechanism` | [*components.KafkaConfigUpdateSaslMechanism](../../models/components/kafkaconfigupdatesaslmechanism.md) | :heavy_minus_sign: | SASL authentication mechanism. | +| `TLS` | [*components.KafkaConfigUpdateTLS](../../models/components/kafkaconfigupdatetls.md) | :heavy_minus_sign: | Whether to enable TLS for the connection. | +| `PartitionKeyTemplate` | `*string` | :heavy_minus_sign: | Optional JMESPath template to extract the partition key from the event payload. | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/kafkaconfigupdatesaslmechanism.md b/sdks/outpost-go/docs/models/components/kafkaconfigupdatesaslmechanism.md new file mode 100644 index 00000000..e98ab667 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/kafkaconfigupdatesaslmechanism.md @@ -0,0 +1,22 @@ +# KafkaConfigUpdateSaslMechanism + +SASL authentication mechanism. + +## Example Usage + +```go +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/models/components" +) + +value := components.KafkaConfigUpdateSaslMechanismPlain +``` + + +## Values + +| Name | Value | +| ------------------------------------------- | ------------------------------------------- | +| `KafkaConfigUpdateSaslMechanismPlain` | plain | +| `KafkaConfigUpdateSaslMechanismScramSha256` | scram-sha-256 | +| `KafkaConfigUpdateSaslMechanismScramSha512` | scram-sha-512 | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/kafkaconfigupdatetls.md b/sdks/outpost-go/docs/models/components/kafkaconfigupdatetls.md new file mode 100644 index 00000000..079c1ae1 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/kafkaconfigupdatetls.md @@ -0,0 +1,21 @@ +# KafkaConfigUpdateTLS + +Whether to enable TLS for the connection. + +## Example Usage + +```go +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/models/components" +) + +value := components.KafkaConfigUpdateTLSTrue +``` + + +## Values + +| Name | Value | +| --------------------------- | --------------------------- | +| `KafkaConfigUpdateTLSTrue` | true | +| `KafkaConfigUpdateTLSFalse` | false | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/kafkacredentialsupdate.md b/sdks/outpost-go/docs/models/components/kafkacredentialsupdate.md new file mode 100644 index 00000000..d1141a02 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/kafkacredentialsupdate.md @@ -0,0 +1,11 @@ +# KafkaCredentialsUpdate + +Partial Kafka credentials for PATCH updates (RFC 7396 merge-patch). + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | +| `Username` | `*string` | :heavy_minus_sign: | SASL username for authentication. | +| `Password` | `*string` | :heavy_minus_sign: | SASL password for authentication. | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/rabbitmqconfigupdate.md b/sdks/outpost-go/docs/models/components/rabbitmqconfigupdate.md new file mode 100644 index 00000000..4408572e --- /dev/null +++ b/sdks/outpost-go/docs/models/components/rabbitmqconfigupdate.md @@ -0,0 +1,12 @@ +# RabbitMQConfigUpdate + +Partial RabbitMQ config for PATCH updates (RFC 7396 merge-patch). + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `ServerURL` | `*string` | :heavy_minus_sign: | RabbitMQ server address (host:port). | +| `Exchange` | `*string` | :heavy_minus_sign: | The exchange to publish messages to. | +| `TLS` | [*components.RabbitMQConfigUpdateTLS](../../models/components/rabbitmqconfigupdatetls.md) | :heavy_minus_sign: | Whether to use TLS connection (amqps). | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/rabbitmqconfigupdatetls.md b/sdks/outpost-go/docs/models/components/rabbitmqconfigupdatetls.md new file mode 100644 index 00000000..d78667f4 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/rabbitmqconfigupdatetls.md @@ -0,0 +1,21 @@ +# RabbitMQConfigUpdateTLS + +Whether to use TLS connection (amqps). + +## Example Usage + +```go +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/models/components" +) + +value := components.RabbitMQConfigUpdateTLSTrue +``` + + +## Values + +| Name | Value | +| ------------------------------ | ------------------------------ | +| `RabbitMQConfigUpdateTLSTrue` | true | +| `RabbitMQConfigUpdateTLSFalse` | false | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/rabbitmqcredentialsupdate.md b/sdks/outpost-go/docs/models/components/rabbitmqcredentialsupdate.md new file mode 100644 index 00000000..52f852ac --- /dev/null +++ b/sdks/outpost-go/docs/models/components/rabbitmqcredentialsupdate.md @@ -0,0 +1,11 @@ +# RabbitMQCredentialsUpdate + +Partial RabbitMQ credentials for PATCH updates (RFC 7396 merge-patch). + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `Username` | `*string` | :heavy_minus_sign: | RabbitMQ username. | +| `Password` | `*string` | :heavy_minus_sign: | RabbitMQ password. | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/saslmechanism.md b/sdks/outpost-go/docs/models/components/saslmechanism.md deleted file mode 100644 index aa463fb2..00000000 --- a/sdks/outpost-go/docs/models/components/saslmechanism.md +++ /dev/null @@ -1,22 +0,0 @@ -# SaslMechanism - -SASL authentication mechanism. - -## Example Usage - -```go -import ( - "github.com/hookdeck/outpost/sdks/outpost-go/models/components" -) - -value := components.SaslMechanismPlain -``` - - -## Values - -| Name | Value | -| -------------------------- | -------------------------- | -| `SaslMechanismPlain` | plain | -| `SaslMechanismScramSha256` | scram-sha-256 | -| `SaslMechanismScramSha512` | scram-sha-512 | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/webhookconfigupdate.md b/sdks/outpost-go/docs/models/components/webhookconfigupdate.md new file mode 100644 index 00000000..e69dec50 --- /dev/null +++ b/sdks/outpost-go/docs/models/components/webhookconfigupdate.md @@ -0,0 +1,11 @@ +# WebhookConfigUpdate + +Partial Webhook config for PATCH updates (RFC 7396 merge-patch). + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `URL` | `*string` | :heavy_minus_sign: | The URL to send the webhook events to. | https://example.com/webhooks/user | +| `CustomHeaders` | `*string` | :heavy_minus_sign: | JSON string of custom HTTP headers to include with every webhook request. | {"x-api-key":"secret123","x-tenant-id":"customer-456"} | \ No newline at end of file diff --git a/sdks/outpost-go/docs/models/components/webhookcredentialsupdate.md b/sdks/outpost-go/docs/models/components/webhookcredentialsupdate.md index c5936f72..bc70708e 100644 --- a/sdks/outpost-go/docs/models/components/webhookcredentialsupdate.md +++ b/sdks/outpost-go/docs/models/components/webhookcredentialsupdate.md @@ -1,5 +1,7 @@ # WebhookCredentialsUpdate +Partial Webhook credentials for PATCH updates (RFC 7396 merge-patch). + ## Fields diff --git a/sdks/outpost-go/docs/sdks/attempts/README.md b/sdks/outpost-go/docs/sdks/attempts/README.md index 2956c73a..06017186 100644 --- a/sdks/outpost-go/docs/sdks/attempts/README.md +++ b/sdks/outpost-go/docs/sdks/attempts/README.md @@ -54,19 +54,7 @@ func main() { log.Fatal(err) } if res.AttemptPaginatedResult != nil { - for { - // handle items - - res, err = res.Next() - - if err != nil { - // handle error - } - - if res == nil { - break - } - } + // handle response } } ``` @@ -100,19 +88,7 @@ func main() { log.Fatal(err) } if res.AttemptPaginatedResult != nil { - for { - // handle items - - res, err = res.Next() - - if err != nil { - // handle error - } - - if res == nil { - break - } - } + // handle response } } ``` @@ -171,10 +147,10 @@ func main() { } if res.Attempt != nil { switch res.Attempt.Event.Type { - case components.EventUnionTypeEventSummary: - // res.Attempt.Event.EventSummary is populated case components.EventUnionTypeEventFull: // res.Attempt.Event.EventFull is populated + case components.EventUnionTypeEventSummary: + // res.Attempt.Event.EventSummary is populated } } @@ -206,10 +182,10 @@ func main() { } if res.Attempt != nil { switch res.Attempt.Event.Type { - case components.EventUnionTypeEventSummary: - // res.Attempt.Event.EventSummary is populated case components.EventUnionTypeEventFull: // res.Attempt.Event.EventFull is populated + case components.EventUnionTypeEventSummary: + // res.Attempt.Event.EventSummary is populated } } diff --git a/sdks/outpost-go/docs/sdks/destinations/README.md b/sdks/outpost-go/docs/sdks/destinations/README.md index 5c40399b..8f09bdd6 100644 --- a/sdks/outpost-go/docs/sdks/destinations/README.md +++ b/sdks/outpost-go/docs/sdks/destinations/README.md @@ -337,20 +337,9 @@ func main() { outpostgo.WithSecurity(""), ) - res, err := s.Destinations.Update(ctx, "", "", components.CreateDestinationUpdateDestinationUpdateRabbitMQ( - components.DestinationUpdateRabbitMQ{ - Topics: outpostgo.Pointer(components.CreateTopicsTopicsEnum( - components.TopicsEnumWildcard, - )), - Config: &components.RabbitMQConfig{ - ServerURL: "localhost:5672", - Exchange: "my-exchange", - TLS: components.RabbitMQConfigTLSFalse.ToPointer(), - }, - Credentials: &components.RabbitMQCredentials{ - Username: "guest", - Password: "guest", - }, + res, err := s.Destinations.Update(ctx, "", "", components.CreateDestinationUpdateKafka( + components.DestinationUpdateKafka{ + Type: components.DestinationUpdateKafkaTypeKafka, }, )) if err != nil { @@ -386,16 +375,9 @@ func main() { outpostgo.WithSecurity(""), ) - res, err := s.Destinations.Update(ctx, "", "", components.CreateDestinationUpdateDestinationUpdateWebhook( - components.DestinationUpdateWebhook{ - Topics: outpostgo.Pointer(components.CreateTopicsArrayOfStr( - []string{ - "user.created", - }, - )), - Config: &components.WebhookConfig{ - URL: "https://my-service.com/webhook/new-handler", - }, + res, err := s.Destinations.Update(ctx, "", "", components.CreateDestinationUpdateHookdeck( + components.DestinationUpdateHookdeck{ + Type: components.DestinationUpdateHookdeckTypeHookdeck, }, )) if err != nil { @@ -674,19 +656,7 @@ func main() { log.Fatal(err) } if res.AttemptPaginatedResult != nil { - for { - // handle items - - res, err = res.Next() - - if err != nil { - // handle error - } - - if res == nil { - break - } - } + // handle response } } ``` @@ -742,10 +712,10 @@ func main() { } if res.Attempt != nil { switch res.Attempt.Event.Type { - case components.EventUnionTypeEventSummary: - // res.Attempt.Event.EventSummary is populated case components.EventUnionTypeEventFull: // res.Attempt.Event.EventFull is populated + case components.EventUnionTypeEventSummary: + // res.Attempt.Event.EventSummary is populated } } diff --git a/sdks/outpost-go/docs/sdks/events/README.md b/sdks/outpost-go/docs/sdks/events/README.md index 979e07c6..cf6ae2f6 100644 --- a/sdks/outpost-go/docs/sdks/events/README.md +++ b/sdks/outpost-go/docs/sdks/events/README.md @@ -43,19 +43,7 @@ func main() { log.Fatal(err) } if res.EventPaginatedResult != nil { - for { - // handle items - - res, err = res.Next() - - if err != nil { - // handle error - } - - if res == nil { - break - } - } + // handle response } } ``` diff --git a/sdks/outpost-go/docs/sdks/tenants/README.md b/sdks/outpost-go/docs/sdks/tenants/README.md index c59f3b2e..ec1b3d1d 100644 --- a/sdks/outpost-go/docs/sdks/tenants/README.md +++ b/sdks/outpost-go/docs/sdks/tenants/README.md @@ -51,19 +51,7 @@ func main() { log.Fatal(err) } if res.TenantPaginatedResult != nil { - for { - // handle items - - res, err = res.Next() - - if err != nil { - // handle error - } - - if res == nil { - break - } - } + // handle response } } ``` diff --git a/sdks/outpost-go/events.go b/sdks/outpost-go/events.go index e6919eff..bcbe6cd8 100644 --- a/sdks/outpost-go/events.go +++ b/sdks/outpost-go/events.go @@ -13,11 +13,8 @@ import ( "github.com/hookdeck/outpost/sdks/outpost-go/models/components" "github.com/hookdeck/outpost/sdks/outpost-go/models/operations" "github.com/hookdeck/outpost/sdks/outpost-go/retry" - "github.com/spyzhov/ajson" "net/http" "net/url" - "strconv" - "strings" ) // Events - An event represents a payload published to Outpost. Events are matched against all destinations whose topic subscriptions match the event topic, then delivered. @@ -203,72 +200,6 @@ func (s *Events) List(ctx context.Context, request operations.ListEventsRequest, Response: httpRes, }, } - res.Next = func() (*operations.ListEventsResponse, error) { - rawBody, err := utils.ConsumeRawBody(httpRes) - if err != nil { - return nil, err - } - - b, err := ajson.Unmarshal(rawBody) - if err != nil { - return nil, err - } - nC, err := ajson.Eval(b, "$.pagination.next") - if err != nil { - return nil, err - } - var nCVal string - - if nC.IsNumeric() { - numVal, err := nC.GetNumeric() - if err != nil { - return nil, err - } - // GetNumeric returns as float64 so convert to the appropriate type. - nCVal = strconv.FormatFloat(numVal, 'f', 0, 64) - } else { - val, err := nC.Value() - if err != nil { - return nil, err - } - if val == nil { - return nil, nil - } - nCVal = val.(string) - if strings.TrimSpace(nCVal) == "" { - return nil, nil - } - } - r, err := ajson.Eval(b, "$.models") - if err != nil { - return nil, err - } - if !r.IsArray() { - return nil, nil - } - arr, err := r.GetArray() - if err != nil { - return nil, err - } - if len(arr) == 0 { - return nil, nil - } - - l := 0 - if request.Limit != nil { - l = int(*request.Limit) - } - if len(arr) < l { - return nil, nil - } - request.Next = &nCVal - - return s.List( - ctx, - request, - opts..., - ) - } switch { case httpRes.StatusCode == 200: diff --git a/sdks/outpost-go/go.mod b/sdks/outpost-go/go.mod index ca479d94..5dd9b935 100644 --- a/sdks/outpost-go/go.mod +++ b/sdks/outpost-go/go.mod @@ -2,10 +2,7 @@ module github.com/hookdeck/outpost/sdks/outpost-go go 1.22 -require ( - github.com/spyzhov/ajson v0.8.0 - github.com/stretchr/testify v1.11.1 -) +require github.com/stretchr/testify v1.11.1 require ( github.com/davecgh/go-spew v1.1.1 // indirect diff --git a/sdks/outpost-go/go.sum b/sdks/outpost-go/go.sum index ae2c38bc..c4c1710c 100644 --- a/sdks/outpost-go/go.sum +++ b/sdks/outpost-go/go.sum @@ -2,8 +2,6 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/spyzhov/ajson v0.8.0 h1:sFXyMbi4Y/BKjrsfkUZHSjA2JM1184enheSjjoT/zCc= -github.com/spyzhov/ajson v0.8.0/go.mod h1:63V+CGM6f1Bu/p4nLIN8885ojBdt88TbLoSFzyqMuVA= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= diff --git a/sdks/outpost-go/models/components/attempt.go b/sdks/outpost-go/models/components/attempt.go index fd52cb11..9b60a0ca 100644 --- a/sdks/outpost-go/models/components/attempt.go +++ b/sdks/outpost-go/models/components/attempt.go @@ -38,8 +38,8 @@ func (e *Status) UnmarshalJSON(data []byte) error { } } -// EventFull - Full event object with data (returned when include=event.data). -type EventFull struct { +// EventSummary - Event object without data (returned when include=event). +type EventSummary struct { ID *string `json:"id,omitempty"` // The tenant this event belongs to. TenantID *string `json:"tenant_id,omitempty"` @@ -51,79 +51,70 @@ type EventFull struct { // Whether this event can be retried. EligibleForRetry *bool `json:"eligible_for_retry,omitempty"` Metadata optionalnullable.OptionalNullable[map[string]string] `json:"metadata,omitempty"` - // The event payload data. - Data map[string]any `json:"data,omitempty"` } -func (e EventFull) MarshalJSON() ([]byte, error) { +func (e EventSummary) MarshalJSON() ([]byte, error) { return utils.MarshalJSON(e, "", false) } -func (e *EventFull) UnmarshalJSON(data []byte) error { +func (e *EventSummary) UnmarshalJSON(data []byte) error { if err := utils.UnmarshalJSON(data, &e, "", false, nil); err != nil { return err } return nil } -func (e *EventFull) GetID() *string { +func (e *EventSummary) GetID() *string { if e == nil { return nil } return e.ID } -func (e *EventFull) GetTenantID() *string { +func (e *EventSummary) GetTenantID() *string { if e == nil { return nil } return e.TenantID } -func (e *EventFull) GetDestinationID() *string { +func (e *EventSummary) GetDestinationID() *string { if e == nil { return nil } return e.DestinationID } -func (e *EventFull) GetTopic() *string { +func (e *EventSummary) GetTopic() *string { if e == nil { return nil } return e.Topic } -func (e *EventFull) GetTime() *time.Time { +func (e *EventSummary) GetTime() *time.Time { if e == nil { return nil } return e.Time } -func (e *EventFull) GetEligibleForRetry() *bool { +func (e *EventSummary) GetEligibleForRetry() *bool { if e == nil { return nil } return e.EligibleForRetry } -func (e *EventFull) GetMetadata() optionalnullable.OptionalNullable[map[string]string] { +func (e *EventSummary) GetMetadata() optionalnullable.OptionalNullable[map[string]string] { if e == nil { return nil } return e.Metadata } -func (e *EventFull) GetData() map[string]any { - if e == nil { - return nil - } - return e.Data -} - -// EventSummary - Event object without data (returned when include=event). -type EventSummary struct { +// EventFull - Full event object with data (returned when include=event.data). +type EventFull struct { ID *string `json:"id,omitempty"` // The tenant this event belongs to. TenantID *string `json:"tenant_id,omitempty"` @@ -135,92 +126,92 @@ type EventSummary struct { // Whether this event can be retried. EligibleForRetry *bool `json:"eligible_for_retry,omitempty"` Metadata optionalnullable.OptionalNullable[map[string]string] `json:"metadata,omitempty"` + // The event payload data. + Data map[string]any `json:"data,omitempty"` } -func (e EventSummary) MarshalJSON() ([]byte, error) { +func (e EventFull) MarshalJSON() ([]byte, error) { return utils.MarshalJSON(e, "", false) } -func (e *EventSummary) UnmarshalJSON(data []byte) error { +func (e *EventFull) UnmarshalJSON(data []byte) error { if err := utils.UnmarshalJSON(data, &e, "", false, nil); err != nil { return err } return nil } -func (e *EventSummary) GetID() *string { +func (e *EventFull) GetID() *string { if e == nil { return nil } return e.ID } -func (e *EventSummary) GetTenantID() *string { +func (e *EventFull) GetTenantID() *string { if e == nil { return nil } return e.TenantID } -func (e *EventSummary) GetDestinationID() *string { +func (e *EventFull) GetDestinationID() *string { if e == nil { return nil } return e.DestinationID } -func (e *EventSummary) GetTopic() *string { +func (e *EventFull) GetTopic() *string { if e == nil { return nil } return e.Topic } -func (e *EventSummary) GetTime() *time.Time { +func (e *EventFull) GetTime() *time.Time { if e == nil { return nil } return e.Time } -func (e *EventSummary) GetEligibleForRetry() *bool { +func (e *EventFull) GetEligibleForRetry() *bool { if e == nil { return nil } return e.EligibleForRetry } -func (e *EventSummary) GetMetadata() optionalnullable.OptionalNullable[map[string]string] { +func (e *EventFull) GetMetadata() optionalnullable.OptionalNullable[map[string]string] { if e == nil { return nil } return e.Metadata } +func (e *EventFull) GetData() map[string]any { + if e == nil { + return nil + } + return e.Data +} + type EventUnionType string const ( - EventUnionTypeEventSummary EventUnionType = "EventSummary" EventUnionTypeEventFull EventUnionType = "EventFull" + EventUnionTypeEventSummary EventUnionType = "EventSummary" ) // EventUnion - The associated event object. Only present when include=event or include=event.data. type EventUnion struct { - EventSummary *EventSummary `queryParam:"inline" union:"member"` EventFull *EventFull `queryParam:"inline" union:"member"` + EventSummary *EventSummary `queryParam:"inline" union:"member"` Type EventUnionType } -func CreateEventUnionEventSummary(eventSummary EventSummary) EventUnion { - typ := EventUnionTypeEventSummary - - return EventUnion{ - EventSummary: &eventSummary, - Type: typ, - } -} - func CreateEventUnionEventFull(eventFull EventFull) EventUnion { typ := EventUnionTypeEventFull @@ -230,14 +221,16 @@ func CreateEventUnionEventFull(eventFull EventFull) EventUnion { } } -func (u *EventUnion) UnmarshalJSON(data []byte) error { +func CreateEventUnionEventSummary(eventSummary EventSummary) EventUnion { + typ := EventUnionTypeEventSummary - var eventSummary EventSummary = EventSummary{} - if err := utils.UnmarshalJSON(data, &eventSummary, "", true, nil); err == nil { - u.EventSummary = &eventSummary - u.Type = EventUnionTypeEventSummary - return nil + return EventUnion{ + EventSummary: &eventSummary, + Type: typ, } +} + +func (u *EventUnion) UnmarshalJSON(data []byte) error { var eventFull EventFull = EventFull{} if err := utils.UnmarshalJSON(data, &eventFull, "", true, nil); err == nil { @@ -246,18 +239,25 @@ func (u *EventUnion) UnmarshalJSON(data []byte) error { return nil } + var eventSummary EventSummary = EventSummary{} + if err := utils.UnmarshalJSON(data, &eventSummary, "", true, nil); err == nil { + u.EventSummary = &eventSummary + u.Type = EventUnionTypeEventSummary + return nil + } + return fmt.Errorf("could not unmarshal `%s` into any supported union types for EventUnion", string(data)) } func (u EventUnion) MarshalJSON() ([]byte, error) { - if u.EventSummary != nil { - return utils.MarshalJSON(u.EventSummary, "", true) - } - if u.EventFull != nil { return utils.MarshalJSON(u.EventFull, "", true) } + if u.EventSummary != nil { + return utils.MarshalJSON(u.EventSummary, "", true) + } + return nil, errors.New("could not marshal union type EventUnion: all fields are null") } diff --git a/sdks/outpost-go/models/components/awskinesisconfigupdate.go b/sdks/outpost-go/models/components/awskinesisconfigupdate.go new file mode 100644 index 00000000..37cdda69 --- /dev/null +++ b/sdks/outpost-go/models/components/awskinesisconfigupdate.go @@ -0,0 +1,58 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" +) + +// AWSKinesisConfigUpdate - Partial AWS Kinesis config for PATCH updates (RFC 7396 merge-patch). +type AWSKinesisConfigUpdate struct { + // The name of the AWS Kinesis stream. + StreamName *string `json:"stream_name,omitempty"` + // The AWS region where the Kinesis stream is located. + Region *string `json:"region,omitempty"` + // Optional. Custom AWS endpoint URL (e.g., for LocalStack or VPC endpoints). + Endpoint *string `json:"endpoint,omitempty"` + // Optional. JMESPath template to extract the partition key from the event payload. + PartitionKeyTemplate *string `json:"partition_key_template,omitempty"` +} + +func (a AWSKinesisConfigUpdate) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(a, "", false) +} + +func (a *AWSKinesisConfigUpdate) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &a, "", false, nil); err != nil { + return err + } + return nil +} + +func (a *AWSKinesisConfigUpdate) GetStreamName() *string { + if a == nil { + return nil + } + return a.StreamName +} + +func (a *AWSKinesisConfigUpdate) GetRegion() *string { + if a == nil { + return nil + } + return a.Region +} + +func (a *AWSKinesisConfigUpdate) GetEndpoint() *string { + if a == nil { + return nil + } + return a.Endpoint +} + +func (a *AWSKinesisConfigUpdate) GetPartitionKeyTemplate() *string { + if a == nil { + return nil + } + return a.PartitionKeyTemplate +} diff --git a/sdks/outpost-go/models/components/awskinesiscredentialsupdate.go b/sdks/outpost-go/models/components/awskinesiscredentialsupdate.go new file mode 100644 index 00000000..42d9055f --- /dev/null +++ b/sdks/outpost-go/models/components/awskinesiscredentialsupdate.go @@ -0,0 +1,49 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" +) + +// AWSKinesisCredentialsUpdate - Partial AWS Kinesis credentials for PATCH updates (RFC 7396 merge-patch). +type AWSKinesisCredentialsUpdate struct { + // AWS Access Key ID. + Key *string `json:"key,omitempty"` + // AWS Secret Access Key. + Secret *string `json:"secret,omitempty"` + // Optional AWS Session Token (for temporary credentials). + Session *string `json:"session,omitempty"` +} + +func (a AWSKinesisCredentialsUpdate) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(a, "", false) +} + +func (a *AWSKinesisCredentialsUpdate) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &a, "", false, nil); err != nil { + return err + } + return nil +} + +func (a *AWSKinesisCredentialsUpdate) GetKey() *string { + if a == nil { + return nil + } + return a.Key +} + +func (a *AWSKinesisCredentialsUpdate) GetSecret() *string { + if a == nil { + return nil + } + return a.Secret +} + +func (a *AWSKinesisCredentialsUpdate) GetSession() *string { + if a == nil { + return nil + } + return a.Session +} diff --git a/sdks/outpost-go/models/components/awss3configupdate.go b/sdks/outpost-go/models/components/awss3configupdate.go new file mode 100644 index 00000000..506ecff5 --- /dev/null +++ b/sdks/outpost-go/models/components/awss3configupdate.go @@ -0,0 +1,61 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" +) + +// Awss3ConfigUpdate - Partial AWS S3 config for PATCH updates (RFC 7396 merge-patch). +type Awss3ConfigUpdate struct { + // The name of your AWS S3 bucket. + Bucket *string `json:"bucket,omitempty"` + // The AWS region where your bucket is located. + Region *string `json:"region,omitempty"` + // JMESPath expression for generating S3 object keys. + KeyTemplate *string `json:"key_template,omitempty"` + // The storage class for the S3 objects. + StorageClass *string `json:"storage_class,omitempty"` +} + +func (a Awss3ConfigUpdate) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(a, "", false) +} + +func (a *Awss3ConfigUpdate) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &a, "", false, nil); err != nil { + return err + } + return nil +} + +func (a *Awss3ConfigUpdate) GetBucket() *string { + if a == nil { + return nil + } + return a.Bucket +} + +func (a *Awss3ConfigUpdate) GetRegion() *string { + if a == nil { + return nil + } + return a.Region +} + +func (a *Awss3ConfigUpdate) GetKeyTemplate() *string { + if a == nil { + return nil + } + return a.KeyTemplate +} + +func (a *Awss3ConfigUpdate) GetStorageClass() *string { + if a == nil { + return nil + } + return a.StorageClass +} + +// #region class-body-awss3configupdate +// #endregion class-body-awss3configupdate diff --git a/sdks/outpost-go/models/components/awss3credentialsupdate.go b/sdks/outpost-go/models/components/awss3credentialsupdate.go new file mode 100644 index 00000000..d4086c70 --- /dev/null +++ b/sdks/outpost-go/models/components/awss3credentialsupdate.go @@ -0,0 +1,52 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" +) + +// Awss3CredentialsUpdate - Partial AWS S3 credentials for PATCH updates (RFC 7396 merge-patch). +type Awss3CredentialsUpdate struct { + // AWS Access Key ID. + Key *string `json:"key,omitempty"` + // AWS Secret Access Key. + Secret *string `json:"secret,omitempty"` + // Optional AWS Session Token (for temporary credentials). + Session *string `json:"session,omitempty"` +} + +func (a Awss3CredentialsUpdate) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(a, "", false) +} + +func (a *Awss3CredentialsUpdate) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &a, "", false, nil); err != nil { + return err + } + return nil +} + +func (a *Awss3CredentialsUpdate) GetKey() *string { + if a == nil { + return nil + } + return a.Key +} + +func (a *Awss3CredentialsUpdate) GetSecret() *string { + if a == nil { + return nil + } + return a.Secret +} + +func (a *Awss3CredentialsUpdate) GetSession() *string { + if a == nil { + return nil + } + return a.Session +} + +// #region class-body-awss3credentialsupdate +// #endregion class-body-awss3credentialsupdate diff --git a/sdks/outpost-go/models/components/awssqsconfigupdate.go b/sdks/outpost-go/models/components/awssqsconfigupdate.go new file mode 100644 index 00000000..2072ed3e --- /dev/null +++ b/sdks/outpost-go/models/components/awssqsconfigupdate.go @@ -0,0 +1,40 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" +) + +// AWSSQSConfigUpdate - Partial AWS SQS config for PATCH updates (RFC 7396 merge-patch). +type AWSSQSConfigUpdate struct { + // Optional. Custom AWS endpoint URL (e.g., for LocalStack or specific regions). + Endpoint *string `json:"endpoint,omitempty"` + // The URL of the SQS queue. + QueueURL *string `json:"queue_url,omitempty"` +} + +func (a AWSSQSConfigUpdate) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(a, "", false) +} + +func (a *AWSSQSConfigUpdate) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &a, "", false, nil); err != nil { + return err + } + return nil +} + +func (a *AWSSQSConfigUpdate) GetEndpoint() *string { + if a == nil { + return nil + } + return a.Endpoint +} + +func (a *AWSSQSConfigUpdate) GetQueueURL() *string { + if a == nil { + return nil + } + return a.QueueURL +} diff --git a/sdks/outpost-go/models/components/awssqscredentialsupdate.go b/sdks/outpost-go/models/components/awssqscredentialsupdate.go new file mode 100644 index 00000000..4f00fb6f --- /dev/null +++ b/sdks/outpost-go/models/components/awssqscredentialsupdate.go @@ -0,0 +1,49 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" +) + +// AWSSQSCredentialsUpdate - Partial AWS SQS credentials for PATCH updates (RFC 7396 merge-patch). +type AWSSQSCredentialsUpdate struct { + // AWS Access Key ID. + Key *string `json:"key,omitempty"` + // AWS Secret Access Key. + Secret *string `json:"secret,omitempty"` + // Optional AWS Session Token (for temporary credentials). + Session *string `json:"session,omitempty"` +} + +func (a AWSSQSCredentialsUpdate) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(a, "", false) +} + +func (a *AWSSQSCredentialsUpdate) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &a, "", false, nil); err != nil { + return err + } + return nil +} + +func (a *AWSSQSCredentialsUpdate) GetKey() *string { + if a == nil { + return nil + } + return a.Key +} + +func (a *AWSSQSCredentialsUpdate) GetSecret() *string { + if a == nil { + return nil + } + return a.Secret +} + +func (a *AWSSQSCredentialsUpdate) GetSession() *string { + if a == nil { + return nil + } + return a.Session +} diff --git a/sdks/outpost-go/models/components/azureservicebusconfigupdate.go b/sdks/outpost-go/models/components/azureservicebusconfigupdate.go new file mode 100644 index 00000000..e6f144d7 --- /dev/null +++ b/sdks/outpost-go/models/components/azureservicebusconfigupdate.go @@ -0,0 +1,31 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" +) + +// AzureServiceBusConfigUpdate - Partial Azure Service Bus config for PATCH updates (RFC 7396 merge-patch). +type AzureServiceBusConfigUpdate struct { + // The name of the Azure Service Bus queue or topic to publish messages to. + Name *string `json:"name,omitempty"` +} + +func (a AzureServiceBusConfigUpdate) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(a, "", false) +} + +func (a *AzureServiceBusConfigUpdate) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &a, "", false, nil); err != nil { + return err + } + return nil +} + +func (a *AzureServiceBusConfigUpdate) GetName() *string { + if a == nil { + return nil + } + return a.Name +} diff --git a/sdks/outpost-go/models/components/azureservicebuscredentialsupdate.go b/sdks/outpost-go/models/components/azureservicebuscredentialsupdate.go new file mode 100644 index 00000000..5ece3e35 --- /dev/null +++ b/sdks/outpost-go/models/components/azureservicebuscredentialsupdate.go @@ -0,0 +1,31 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" +) + +// AzureServiceBusCredentialsUpdate - Partial Azure Service Bus credentials for PATCH updates (RFC 7396 merge-patch). +type AzureServiceBusCredentialsUpdate struct { + // The connection string for the Azure Service Bus namespace. + ConnectionString *string `json:"connection_string,omitempty"` +} + +func (a AzureServiceBusCredentialsUpdate) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(a, "", false) +} + +func (a *AzureServiceBusCredentialsUpdate) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &a, "", false, nil); err != nil { + return err + } + return nil +} + +func (a *AzureServiceBusCredentialsUpdate) GetConnectionString() *string { + if a == nil { + return nil + } + return a.ConnectionString +} diff --git a/sdks/outpost-go/models/components/destinationupdate.go b/sdks/outpost-go/models/components/destinationupdate.go index a85aeba7..9fddf42e 100644 --- a/sdks/outpost-go/models/components/destinationupdate.go +++ b/sdks/outpost-go/models/components/destinationupdate.go @@ -3,6 +3,7 @@ package components import ( + "encoding/json" "errors" "fmt" "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" @@ -11,15 +12,15 @@ import ( type DestinationUpdateType string const ( - DestinationUpdateTypeDestinationUpdateWebhook DestinationUpdateType = "DestinationUpdateWebhook" - DestinationUpdateTypeDestinationUpdateHookdeck DestinationUpdateType = "DestinationUpdateHookdeck" - DestinationUpdateTypeDestinationUpdateAWSSQS DestinationUpdateType = "DestinationUpdateAWSSQS" - DestinationUpdateTypeDestinationUpdateAWSKinesis DestinationUpdateType = "DestinationUpdateAWSKinesis" - DestinationUpdateTypeDestinationUpdateAwss3 DestinationUpdateType = "DestinationUpdateAWSS3" - DestinationUpdateTypeDestinationUpdateAzureServiceBus DestinationUpdateType = "DestinationUpdateAzureServiceBus" - DestinationUpdateTypeDestinationUpdateGCPPubSub DestinationUpdateType = "DestinationUpdateGCPPubSub" - DestinationUpdateTypeDestinationUpdateRabbitMQ DestinationUpdateType = "DestinationUpdateRabbitMQ" - DestinationUpdateTypeDestinationUpdateKafka DestinationUpdateType = "DestinationUpdateKafka" + DestinationUpdateTypeWebhook DestinationUpdateType = "webhook" + DestinationUpdateTypeAwsSqs DestinationUpdateType = "aws_sqs" + DestinationUpdateTypeRabbitmq DestinationUpdateType = "rabbitmq" + DestinationUpdateTypeHookdeck DestinationUpdateType = "hookdeck" + DestinationUpdateTypeAwsKinesis DestinationUpdateType = "aws_kinesis" + DestinationUpdateTypeAzureServicebus DestinationUpdateType = "azure_servicebus" + DestinationUpdateTypeAwsS3 DestinationUpdateType = "aws_s3" + DestinationUpdateTypeGcpPubsub DestinationUpdateType = "gcp_pubsub" + DestinationUpdateTypeKafka DestinationUpdateType = "kafka" ) type DestinationUpdate struct { @@ -36,149 +37,206 @@ type DestinationUpdate struct { Type DestinationUpdateType } -func CreateDestinationUpdateDestinationUpdateWebhook(destinationUpdateWebhook DestinationUpdateWebhook) DestinationUpdate { - typ := DestinationUpdateTypeDestinationUpdateWebhook +func CreateDestinationUpdateWebhook(webhook DestinationUpdateWebhook) DestinationUpdate { + typ := DestinationUpdateTypeWebhook + + typStr := DestinationUpdateWebhookType(typ) + webhook.Type = typStr return DestinationUpdate{ - DestinationUpdateWebhook: &destinationUpdateWebhook, + DestinationUpdateWebhook: &webhook, Type: typ, } } -func CreateDestinationUpdateDestinationUpdateHookdeck(destinationUpdateHookdeck DestinationUpdateHookdeck) DestinationUpdate { - typ := DestinationUpdateTypeDestinationUpdateHookdeck +func CreateDestinationUpdateAwsSqs(awsSqs DestinationUpdateAWSSQS) DestinationUpdate { + typ := DestinationUpdateTypeAwsSqs + + typStr := DestinationUpdateAWSSQSType(typ) + awsSqs.Type = typStr return DestinationUpdate{ - DestinationUpdateHookdeck: &destinationUpdateHookdeck, - Type: typ, + DestinationUpdateAWSSQS: &awsSqs, + Type: typ, } } -func CreateDestinationUpdateDestinationUpdateAWSSQS(destinationUpdateAWSSQS DestinationUpdateAWSSQS) DestinationUpdate { - typ := DestinationUpdateTypeDestinationUpdateAWSSQS +func CreateDestinationUpdateRabbitmq(rabbitmq DestinationUpdateRabbitMQ) DestinationUpdate { + typ := DestinationUpdateTypeRabbitmq + + typStr := DestinationUpdateRabbitMQType(typ) + rabbitmq.Type = typStr return DestinationUpdate{ - DestinationUpdateAWSSQS: &destinationUpdateAWSSQS, - Type: typ, + DestinationUpdateRabbitMQ: &rabbitmq, + Type: typ, } } -func CreateDestinationUpdateDestinationUpdateAWSKinesis(destinationUpdateAWSKinesis DestinationUpdateAWSKinesis) DestinationUpdate { - typ := DestinationUpdateTypeDestinationUpdateAWSKinesis +func CreateDestinationUpdateHookdeck(hookdeck DestinationUpdateHookdeck) DestinationUpdate { + typ := DestinationUpdateTypeHookdeck + + typStr := DestinationUpdateHookdeckType(typ) + hookdeck.Type = typStr return DestinationUpdate{ - DestinationUpdateAWSKinesis: &destinationUpdateAWSKinesis, - Type: typ, + DestinationUpdateHookdeck: &hookdeck, + Type: typ, } } -func CreateDestinationUpdateDestinationUpdateAwss3(destinationUpdateAwss3 DestinationUpdateAwss3) DestinationUpdate { - typ := DestinationUpdateTypeDestinationUpdateAwss3 +func CreateDestinationUpdateAwsKinesis(awsKinesis DestinationUpdateAWSKinesis) DestinationUpdate { + typ := DestinationUpdateTypeAwsKinesis + + typStr := DestinationUpdateAWSKinesisType(typ) + awsKinesis.Type = typStr return DestinationUpdate{ - DestinationUpdateAwss3: &destinationUpdateAwss3, - Type: typ, + DestinationUpdateAWSKinesis: &awsKinesis, + Type: typ, } } -func CreateDestinationUpdateDestinationUpdateAzureServiceBus(destinationUpdateAzureServiceBus DestinationUpdateAzureServiceBus) DestinationUpdate { - typ := DestinationUpdateTypeDestinationUpdateAzureServiceBus +func CreateDestinationUpdateAzureServicebus(azureServicebus DestinationUpdateAzureServiceBus) DestinationUpdate { + typ := DestinationUpdateTypeAzureServicebus + + typStr := DestinationUpdateAzureServiceBusType(typ) + azureServicebus.Type = typStr return DestinationUpdate{ - DestinationUpdateAzureServiceBus: &destinationUpdateAzureServiceBus, + DestinationUpdateAzureServiceBus: &azureServicebus, Type: typ, } } -func CreateDestinationUpdateDestinationUpdateGCPPubSub(destinationUpdateGCPPubSub DestinationUpdateGCPPubSub) DestinationUpdate { - typ := DestinationUpdateTypeDestinationUpdateGCPPubSub +func CreateDestinationUpdateAwsS3(awsS3 DestinationUpdateAwss3) DestinationUpdate { + typ := DestinationUpdateTypeAwsS3 + + typStr := DestinationUpdateAwss3Type(typ) + awsS3.Type = typStr return DestinationUpdate{ - DestinationUpdateGCPPubSub: &destinationUpdateGCPPubSub, - Type: typ, + DestinationUpdateAwss3: &awsS3, + Type: typ, } } -func CreateDestinationUpdateDestinationUpdateRabbitMQ(destinationUpdateRabbitMQ DestinationUpdateRabbitMQ) DestinationUpdate { - typ := DestinationUpdateTypeDestinationUpdateRabbitMQ +func CreateDestinationUpdateGcpPubsub(gcpPubsub DestinationUpdateGCPPubSub) DestinationUpdate { + typ := DestinationUpdateTypeGcpPubsub + + typStr := DestinationUpdateGCPPubSubType(typ) + gcpPubsub.Type = typStr return DestinationUpdate{ - DestinationUpdateRabbitMQ: &destinationUpdateRabbitMQ, - Type: typ, + DestinationUpdateGCPPubSub: &gcpPubsub, + Type: typ, } } -func CreateDestinationUpdateDestinationUpdateKafka(destinationUpdateKafka DestinationUpdateKafka) DestinationUpdate { - typ := DestinationUpdateTypeDestinationUpdateKafka +func CreateDestinationUpdateKafka(kafka DestinationUpdateKafka) DestinationUpdate { + typ := DestinationUpdateTypeKafka + + typStr := DestinationUpdateKafkaType(typ) + kafka.Type = typStr return DestinationUpdate{ - DestinationUpdateKafka: &destinationUpdateKafka, + DestinationUpdateKafka: &kafka, Type: typ, } } func (u *DestinationUpdate) UnmarshalJSON(data []byte) error { - var destinationUpdateWebhook DestinationUpdateWebhook = DestinationUpdateWebhook{} - if err := utils.UnmarshalJSON(data, &destinationUpdateWebhook, "", true, nil); err == nil { - u.DestinationUpdateWebhook = &destinationUpdateWebhook - u.Type = DestinationUpdateTypeDestinationUpdateWebhook - return nil + type discriminator struct { + Type string `json:"type"` } - var destinationUpdateHookdeck DestinationUpdateHookdeck = DestinationUpdateHookdeck{} - if err := utils.UnmarshalJSON(data, &destinationUpdateHookdeck, "", true, nil); err == nil { - u.DestinationUpdateHookdeck = &destinationUpdateHookdeck - u.Type = DestinationUpdateTypeDestinationUpdateHookdeck - return nil + dis := new(discriminator) + if err := json.Unmarshal(data, &dis); err != nil { + return fmt.Errorf("could not unmarshal discriminator: %w", err) } - var destinationUpdateAWSSQS DestinationUpdateAWSSQS = DestinationUpdateAWSSQS{} - if err := utils.UnmarshalJSON(data, &destinationUpdateAWSSQS, "", true, nil); err == nil { - u.DestinationUpdateAWSSQS = &destinationUpdateAWSSQS - u.Type = DestinationUpdateTypeDestinationUpdateAWSSQS - return nil - } + switch dis.Type { + case "webhook": + destinationUpdateWebhook := new(DestinationUpdateWebhook) + if err := utils.UnmarshalJSON(data, &destinationUpdateWebhook, "", true, nil); err != nil { + return fmt.Errorf("could not unmarshal `%s` into expected (Type == webhook) type DestinationUpdateWebhook within DestinationUpdate: %w", string(data), err) + } - var destinationUpdateAWSKinesis DestinationUpdateAWSKinesis = DestinationUpdateAWSKinesis{} - if err := utils.UnmarshalJSON(data, &destinationUpdateAWSKinesis, "", true, nil); err == nil { - u.DestinationUpdateAWSKinesis = &destinationUpdateAWSKinesis - u.Type = DestinationUpdateTypeDestinationUpdateAWSKinesis + u.DestinationUpdateWebhook = destinationUpdateWebhook + u.Type = DestinationUpdateTypeWebhook return nil - } - - var destinationUpdateAwss3 DestinationUpdateAwss3 = DestinationUpdateAwss3{} - if err := utils.UnmarshalJSON(data, &destinationUpdateAwss3, "", true, nil); err == nil { - u.DestinationUpdateAwss3 = &destinationUpdateAwss3 - u.Type = DestinationUpdateTypeDestinationUpdateAwss3 + case "aws_sqs": + destinationUpdateAWSSQS := new(DestinationUpdateAWSSQS) + if err := utils.UnmarshalJSON(data, &destinationUpdateAWSSQS, "", true, nil); err != nil { + return fmt.Errorf("could not unmarshal `%s` into expected (Type == aws_sqs) type DestinationUpdateAWSSQS within DestinationUpdate: %w", string(data), err) + } + + u.DestinationUpdateAWSSQS = destinationUpdateAWSSQS + u.Type = DestinationUpdateTypeAwsSqs return nil - } - - var destinationUpdateAzureServiceBus DestinationUpdateAzureServiceBus = DestinationUpdateAzureServiceBus{} - if err := utils.UnmarshalJSON(data, &destinationUpdateAzureServiceBus, "", true, nil); err == nil { - u.DestinationUpdateAzureServiceBus = &destinationUpdateAzureServiceBus - u.Type = DestinationUpdateTypeDestinationUpdateAzureServiceBus + case "rabbitmq": + destinationUpdateRabbitMQ := new(DestinationUpdateRabbitMQ) + if err := utils.UnmarshalJSON(data, &destinationUpdateRabbitMQ, "", true, nil); err != nil { + return fmt.Errorf("could not unmarshal `%s` into expected (Type == rabbitmq) type DestinationUpdateRabbitMQ within DestinationUpdate: %w", string(data), err) + } + + u.DestinationUpdateRabbitMQ = destinationUpdateRabbitMQ + u.Type = DestinationUpdateTypeRabbitmq return nil - } - - var destinationUpdateGCPPubSub DestinationUpdateGCPPubSub = DestinationUpdateGCPPubSub{} - if err := utils.UnmarshalJSON(data, &destinationUpdateGCPPubSub, "", true, nil); err == nil { - u.DestinationUpdateGCPPubSub = &destinationUpdateGCPPubSub - u.Type = DestinationUpdateTypeDestinationUpdateGCPPubSub + case "hookdeck": + destinationUpdateHookdeck := new(DestinationUpdateHookdeck) + if err := utils.UnmarshalJSON(data, &destinationUpdateHookdeck, "", true, nil); err != nil { + return fmt.Errorf("could not unmarshal `%s` into expected (Type == hookdeck) type DestinationUpdateHookdeck within DestinationUpdate: %w", string(data), err) + } + + u.DestinationUpdateHookdeck = destinationUpdateHookdeck + u.Type = DestinationUpdateTypeHookdeck return nil - } - - var destinationUpdateRabbitMQ DestinationUpdateRabbitMQ = DestinationUpdateRabbitMQ{} - if err := utils.UnmarshalJSON(data, &destinationUpdateRabbitMQ, "", true, nil); err == nil { - u.DestinationUpdateRabbitMQ = &destinationUpdateRabbitMQ - u.Type = DestinationUpdateTypeDestinationUpdateRabbitMQ + case "aws_kinesis": + destinationUpdateAWSKinesis := new(DestinationUpdateAWSKinesis) + if err := utils.UnmarshalJSON(data, &destinationUpdateAWSKinesis, "", true, nil); err != nil { + return fmt.Errorf("could not unmarshal `%s` into expected (Type == aws_kinesis) type DestinationUpdateAWSKinesis within DestinationUpdate: %w", string(data), err) + } + + u.DestinationUpdateAWSKinesis = destinationUpdateAWSKinesis + u.Type = DestinationUpdateTypeAwsKinesis return nil - } - - var destinationUpdateKafka DestinationUpdateKafka = DestinationUpdateKafka{} - if err := utils.UnmarshalJSON(data, &destinationUpdateKafka, "", true, nil); err == nil { - u.DestinationUpdateKafka = &destinationUpdateKafka - u.Type = DestinationUpdateTypeDestinationUpdateKafka + case "azure_servicebus": + destinationUpdateAzureServiceBus := new(DestinationUpdateAzureServiceBus) + if err := utils.UnmarshalJSON(data, &destinationUpdateAzureServiceBus, "", true, nil); err != nil { + return fmt.Errorf("could not unmarshal `%s` into expected (Type == azure_servicebus) type DestinationUpdateAzureServiceBus within DestinationUpdate: %w", string(data), err) + } + + u.DestinationUpdateAzureServiceBus = destinationUpdateAzureServiceBus + u.Type = DestinationUpdateTypeAzureServicebus + return nil + case "aws_s3": + destinationUpdateAwss3 := new(DestinationUpdateAwss3) + if err := utils.UnmarshalJSON(data, &destinationUpdateAwss3, "", true, nil); err != nil { + return fmt.Errorf("could not unmarshal `%s` into expected (Type == aws_s3) type DestinationUpdateAwss3 within DestinationUpdate: %w", string(data), err) + } + + u.DestinationUpdateAwss3 = destinationUpdateAwss3 + u.Type = DestinationUpdateTypeAwsS3 + return nil + case "gcp_pubsub": + destinationUpdateGCPPubSub := new(DestinationUpdateGCPPubSub) + if err := utils.UnmarshalJSON(data, &destinationUpdateGCPPubSub, "", true, nil); err != nil { + return fmt.Errorf("could not unmarshal `%s` into expected (Type == gcp_pubsub) type DestinationUpdateGCPPubSub within DestinationUpdate: %w", string(data), err) + } + + u.DestinationUpdateGCPPubSub = destinationUpdateGCPPubSub + u.Type = DestinationUpdateTypeGcpPubsub + return nil + case "kafka": + destinationUpdateKafka := new(DestinationUpdateKafka) + if err := utils.UnmarshalJSON(data, &destinationUpdateKafka, "", true, nil); err != nil { + return fmt.Errorf("could not unmarshal `%s` into expected (Type == kafka) type DestinationUpdateKafka within DestinationUpdate: %w", string(data), err) + } + + u.DestinationUpdateKafka = destinationUpdateKafka + u.Type = DestinationUpdateTypeKafka return nil } diff --git a/sdks/outpost-go/models/components/destinationupdateawskinesis.go b/sdks/outpost-go/models/components/destinationupdateawskinesis.go index f02a4bf5..318bfc90 100644 --- a/sdks/outpost-go/models/components/destinationupdateawskinesis.go +++ b/sdks/outpost-go/models/components/destinationupdateawskinesis.go @@ -3,12 +3,40 @@ package components import ( + "encoding/json" + "fmt" "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" "github.com/hookdeck/outpost/sdks/outpost-go/optionalnullable" "time" ) +// DestinationUpdateAWSKinesisType - Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. +type DestinationUpdateAWSKinesisType string + +const ( + DestinationUpdateAWSKinesisTypeAwsKinesis DestinationUpdateAWSKinesisType = "aws_kinesis" +) + +func (e DestinationUpdateAWSKinesisType) ToPointer() *DestinationUpdateAWSKinesisType { + return &e +} +func (e *DestinationUpdateAWSKinesisType) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "aws_kinesis": + *e = DestinationUpdateAWSKinesisType(v) + return nil + default: + return fmt.Errorf("invalid value for DestinationUpdateAWSKinesisType: %v", v) + } +} + type DestinationUpdateAWSKinesis struct { + // Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + Type DestinationUpdateAWSKinesisType `json:"type"` // "*" or an array of enabled topics. Topics *Topics `json:"topics,omitempty"` // Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. @@ -16,9 +44,11 @@ type DestinationUpdateAWSKinesis struct { // If null or empty, all events matching the topic filter will be delivered. // Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change. // - Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` - Config *AWSKinesisConfig `json:"config,omitempty"` - Credentials *AWSKinesisCredentials `json:"credentials,omitempty"` + Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` + // Partial AWS Kinesis config for PATCH updates (RFC 7396 merge-patch). + Config *AWSKinesisConfigUpdate `json:"config,omitempty"` + // Partial AWS Kinesis credentials for PATCH updates (RFC 7396 merge-patch). + Credentials *AWSKinesisCredentialsUpdate `json:"credentials,omitempty"` // Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. DeliveryMetadata optionalnullable.OptionalNullable[map[string]*string] `json:"delivery_metadata,omitempty"` // Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. @@ -32,12 +62,19 @@ func (d DestinationUpdateAWSKinesis) MarshalJSON() ([]byte, error) { } func (d *DestinationUpdateAWSKinesis) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &d, "", false, nil); err != nil { + if err := utils.UnmarshalJSON(data, &d, "", false, []string{"type"}); err != nil { return err } return nil } +func (d *DestinationUpdateAWSKinesis) GetType() DestinationUpdateAWSKinesisType { + if d == nil { + return DestinationUpdateAWSKinesisType("") + } + return d.Type +} + func (d *DestinationUpdateAWSKinesis) GetTopics() *Topics { if d == nil { return nil @@ -52,14 +89,14 @@ func (d *DestinationUpdateAWSKinesis) GetFilter() optionalnullable.OptionalNulla return d.Filter } -func (d *DestinationUpdateAWSKinesis) GetConfig() *AWSKinesisConfig { +func (d *DestinationUpdateAWSKinesis) GetConfig() *AWSKinesisConfigUpdate { if d == nil { return nil } return d.Config } -func (d *DestinationUpdateAWSKinesis) GetCredentials() *AWSKinesisCredentials { +func (d *DestinationUpdateAWSKinesis) GetCredentials() *AWSKinesisCredentialsUpdate { if d == nil { return nil } diff --git a/sdks/outpost-go/models/components/destinationupdateawss3.go b/sdks/outpost-go/models/components/destinationupdateawss3.go index 7e53db2d..836e7c83 100644 --- a/sdks/outpost-go/models/components/destinationupdateawss3.go +++ b/sdks/outpost-go/models/components/destinationupdateawss3.go @@ -3,12 +3,40 @@ package components import ( + "encoding/json" + "fmt" "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" "github.com/hookdeck/outpost/sdks/outpost-go/optionalnullable" "time" ) +// DestinationUpdateAwss3Type - Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. +type DestinationUpdateAwss3Type string + +const ( + DestinationUpdateAwss3TypeAwsS3 DestinationUpdateAwss3Type = "aws_s3" +) + +func (e DestinationUpdateAwss3Type) ToPointer() *DestinationUpdateAwss3Type { + return &e +} +func (e *DestinationUpdateAwss3Type) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "aws_s3": + *e = DestinationUpdateAwss3Type(v) + return nil + default: + return fmt.Errorf("invalid value for DestinationUpdateAwss3Type: %v", v) + } +} + type DestinationUpdateAwss3 struct { + // Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + Type DestinationUpdateAwss3Type `json:"type"` // "*" or an array of enabled topics. Topics *Topics `json:"topics,omitempty"` // Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. @@ -16,9 +44,11 @@ type DestinationUpdateAwss3 struct { // If null or empty, all events matching the topic filter will be delivered. // Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change. // - Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` - Config *Awss3Config `json:"config,omitempty"` - Credentials *Awss3Credentials `json:"credentials,omitempty"` + Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` + // Partial AWS S3 config for PATCH updates (RFC 7396 merge-patch). + Config *Awss3ConfigUpdate `json:"config,omitempty"` + // Partial AWS S3 credentials for PATCH updates (RFC 7396 merge-patch). + Credentials *Awss3CredentialsUpdate `json:"credentials,omitempty"` // Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. DeliveryMetadata optionalnullable.OptionalNullable[map[string]*string] `json:"delivery_metadata,omitempty"` // Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. @@ -32,12 +62,19 @@ func (d DestinationUpdateAwss3) MarshalJSON() ([]byte, error) { } func (d *DestinationUpdateAwss3) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &d, "", false, nil); err != nil { + if err := utils.UnmarshalJSON(data, &d, "", false, []string{"type"}); err != nil { return err } return nil } +func (d *DestinationUpdateAwss3) GetType() DestinationUpdateAwss3Type { + if d == nil { + return DestinationUpdateAwss3Type("") + } + return d.Type +} + func (d *DestinationUpdateAwss3) GetTopics() *Topics { if d == nil { return nil @@ -52,14 +89,14 @@ func (d *DestinationUpdateAwss3) GetFilter() optionalnullable.OptionalNullable[m return d.Filter } -func (d *DestinationUpdateAwss3) GetConfig() *Awss3Config { +func (d *DestinationUpdateAwss3) GetConfig() *Awss3ConfigUpdate { if d == nil { return nil } return d.Config } -func (d *DestinationUpdateAwss3) GetCredentials() *Awss3Credentials { +func (d *DestinationUpdateAwss3) GetCredentials() *Awss3CredentialsUpdate { if d == nil { return nil } diff --git a/sdks/outpost-go/models/components/destinationupdateawssqs.go b/sdks/outpost-go/models/components/destinationupdateawssqs.go index 484a76ee..6d0452e9 100644 --- a/sdks/outpost-go/models/components/destinationupdateawssqs.go +++ b/sdks/outpost-go/models/components/destinationupdateawssqs.go @@ -3,12 +3,40 @@ package components import ( + "encoding/json" + "fmt" "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" "github.com/hookdeck/outpost/sdks/outpost-go/optionalnullable" "time" ) +// DestinationUpdateAWSSQSType - Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. +type DestinationUpdateAWSSQSType string + +const ( + DestinationUpdateAWSSQSTypeAwsSqs DestinationUpdateAWSSQSType = "aws_sqs" +) + +func (e DestinationUpdateAWSSQSType) ToPointer() *DestinationUpdateAWSSQSType { + return &e +} +func (e *DestinationUpdateAWSSQSType) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "aws_sqs": + *e = DestinationUpdateAWSSQSType(v) + return nil + default: + return fmt.Errorf("invalid value for DestinationUpdateAWSSQSType: %v", v) + } +} + type DestinationUpdateAWSSQS struct { + // Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + Type DestinationUpdateAWSSQSType `json:"type"` // "*" or an array of enabled topics. Topics *Topics `json:"topics,omitempty"` // Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. @@ -16,9 +44,11 @@ type DestinationUpdateAWSSQS struct { // If null or empty, all events matching the topic filter will be delivered. // Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change. // - Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` - Config *AWSSQSConfig `json:"config,omitempty"` - Credentials *AWSSQSCredentials `json:"credentials,omitempty"` + Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` + // Partial AWS SQS config for PATCH updates (RFC 7396 merge-patch). + Config *AWSSQSConfigUpdate `json:"config,omitempty"` + // Partial AWS SQS credentials for PATCH updates (RFC 7396 merge-patch). + Credentials *AWSSQSCredentialsUpdate `json:"credentials,omitempty"` // Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. DeliveryMetadata optionalnullable.OptionalNullable[map[string]*string] `json:"delivery_metadata,omitempty"` // Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. @@ -32,12 +62,19 @@ func (d DestinationUpdateAWSSQS) MarshalJSON() ([]byte, error) { } func (d *DestinationUpdateAWSSQS) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &d, "", false, nil); err != nil { + if err := utils.UnmarshalJSON(data, &d, "", false, []string{"type"}); err != nil { return err } return nil } +func (d *DestinationUpdateAWSSQS) GetType() DestinationUpdateAWSSQSType { + if d == nil { + return DestinationUpdateAWSSQSType("") + } + return d.Type +} + func (d *DestinationUpdateAWSSQS) GetTopics() *Topics { if d == nil { return nil @@ -52,14 +89,14 @@ func (d *DestinationUpdateAWSSQS) GetFilter() optionalnullable.OptionalNullable[ return d.Filter } -func (d *DestinationUpdateAWSSQS) GetConfig() *AWSSQSConfig { +func (d *DestinationUpdateAWSSQS) GetConfig() *AWSSQSConfigUpdate { if d == nil { return nil } return d.Config } -func (d *DestinationUpdateAWSSQS) GetCredentials() *AWSSQSCredentials { +func (d *DestinationUpdateAWSSQS) GetCredentials() *AWSSQSCredentialsUpdate { if d == nil { return nil } diff --git a/sdks/outpost-go/models/components/destinationupdateazureservicebus.go b/sdks/outpost-go/models/components/destinationupdateazureservicebus.go index f7cfdbbe..86989834 100644 --- a/sdks/outpost-go/models/components/destinationupdateazureservicebus.go +++ b/sdks/outpost-go/models/components/destinationupdateazureservicebus.go @@ -3,12 +3,40 @@ package components import ( + "encoding/json" + "fmt" "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" "github.com/hookdeck/outpost/sdks/outpost-go/optionalnullable" "time" ) +// DestinationUpdateAzureServiceBusType - Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. +type DestinationUpdateAzureServiceBusType string + +const ( + DestinationUpdateAzureServiceBusTypeAzureServicebus DestinationUpdateAzureServiceBusType = "azure_servicebus" +) + +func (e DestinationUpdateAzureServiceBusType) ToPointer() *DestinationUpdateAzureServiceBusType { + return &e +} +func (e *DestinationUpdateAzureServiceBusType) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "azure_servicebus": + *e = DestinationUpdateAzureServiceBusType(v) + return nil + default: + return fmt.Errorf("invalid value for DestinationUpdateAzureServiceBusType: %v", v) + } +} + type DestinationUpdateAzureServiceBus struct { + // Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + Type DestinationUpdateAzureServiceBusType `json:"type"` // "*" or an array of enabled topics. Topics *Topics `json:"topics,omitempty"` // Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. @@ -16,9 +44,11 @@ type DestinationUpdateAzureServiceBus struct { // If null or empty, all events matching the topic filter will be delivered. // Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change. // - Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` - Config *AzureServiceBusConfig `json:"config,omitempty"` - Credentials *AzureServiceBusCredentials `json:"credentials,omitempty"` + Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` + // Partial Azure Service Bus config for PATCH updates (RFC 7396 merge-patch). + Config *AzureServiceBusConfigUpdate `json:"config,omitempty"` + // Partial Azure Service Bus credentials for PATCH updates (RFC 7396 merge-patch). + Credentials *AzureServiceBusCredentialsUpdate `json:"credentials,omitempty"` // Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. DeliveryMetadata optionalnullable.OptionalNullable[map[string]*string] `json:"delivery_metadata,omitempty"` // Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. @@ -32,12 +62,19 @@ func (d DestinationUpdateAzureServiceBus) MarshalJSON() ([]byte, error) { } func (d *DestinationUpdateAzureServiceBus) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &d, "", false, nil); err != nil { + if err := utils.UnmarshalJSON(data, &d, "", false, []string{"type"}); err != nil { return err } return nil } +func (d *DestinationUpdateAzureServiceBus) GetType() DestinationUpdateAzureServiceBusType { + if d == nil { + return DestinationUpdateAzureServiceBusType("") + } + return d.Type +} + func (d *DestinationUpdateAzureServiceBus) GetTopics() *Topics { if d == nil { return nil @@ -52,14 +89,14 @@ func (d *DestinationUpdateAzureServiceBus) GetFilter() optionalnullable.Optional return d.Filter } -func (d *DestinationUpdateAzureServiceBus) GetConfig() *AzureServiceBusConfig { +func (d *DestinationUpdateAzureServiceBus) GetConfig() *AzureServiceBusConfigUpdate { if d == nil { return nil } return d.Config } -func (d *DestinationUpdateAzureServiceBus) GetCredentials() *AzureServiceBusCredentials { +func (d *DestinationUpdateAzureServiceBus) GetCredentials() *AzureServiceBusCredentialsUpdate { if d == nil { return nil } diff --git a/sdks/outpost-go/models/components/destinationupdategcppubsub.go b/sdks/outpost-go/models/components/destinationupdategcppubsub.go index b5987b92..abae07fc 100644 --- a/sdks/outpost-go/models/components/destinationupdategcppubsub.go +++ b/sdks/outpost-go/models/components/destinationupdategcppubsub.go @@ -3,12 +3,40 @@ package components import ( + "encoding/json" + "fmt" "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" "github.com/hookdeck/outpost/sdks/outpost-go/optionalnullable" "time" ) +// DestinationUpdateGCPPubSubType - Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. +type DestinationUpdateGCPPubSubType string + +const ( + DestinationUpdateGCPPubSubTypeGcpPubsub DestinationUpdateGCPPubSubType = "gcp_pubsub" +) + +func (e DestinationUpdateGCPPubSubType) ToPointer() *DestinationUpdateGCPPubSubType { + return &e +} +func (e *DestinationUpdateGCPPubSubType) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "gcp_pubsub": + *e = DestinationUpdateGCPPubSubType(v) + return nil + default: + return fmt.Errorf("invalid value for DestinationUpdateGCPPubSubType: %v", v) + } +} + type DestinationUpdateGCPPubSub struct { + // Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + Type DestinationUpdateGCPPubSubType `json:"type"` // "*" or an array of enabled topics. Topics *Topics `json:"topics,omitempty"` // Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. @@ -16,9 +44,11 @@ type DestinationUpdateGCPPubSub struct { // If null or empty, all events matching the topic filter will be delivered. // Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change. // - Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` - Config *GCPPubSubConfig `json:"config,omitempty"` - Credentials *GCPPubSubCredentials `json:"credentials,omitempty"` + Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` + // Partial GCP Pub/Sub config for PATCH updates (RFC 7396 merge-patch). + Config *GCPPubSubConfigUpdate `json:"config,omitempty"` + // Partial GCP Pub/Sub credentials for PATCH updates (RFC 7396 merge-patch). + Credentials *GCPPubSubCredentialsUpdate `json:"credentials,omitempty"` // Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. DeliveryMetadata optionalnullable.OptionalNullable[map[string]*string] `json:"delivery_metadata,omitempty"` // Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. @@ -32,12 +62,19 @@ func (d DestinationUpdateGCPPubSub) MarshalJSON() ([]byte, error) { } func (d *DestinationUpdateGCPPubSub) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &d, "", false, nil); err != nil { + if err := utils.UnmarshalJSON(data, &d, "", false, []string{"type"}); err != nil { return err } return nil } +func (d *DestinationUpdateGCPPubSub) GetType() DestinationUpdateGCPPubSubType { + if d == nil { + return DestinationUpdateGCPPubSubType("") + } + return d.Type +} + func (d *DestinationUpdateGCPPubSub) GetTopics() *Topics { if d == nil { return nil @@ -52,14 +89,14 @@ func (d *DestinationUpdateGCPPubSub) GetFilter() optionalnullable.OptionalNullab return d.Filter } -func (d *DestinationUpdateGCPPubSub) GetConfig() *GCPPubSubConfig { +func (d *DestinationUpdateGCPPubSub) GetConfig() *GCPPubSubConfigUpdate { if d == nil { return nil } return d.Config } -func (d *DestinationUpdateGCPPubSub) GetCredentials() *GCPPubSubCredentials { +func (d *DestinationUpdateGCPPubSub) GetCredentials() *GCPPubSubCredentialsUpdate { if d == nil { return nil } diff --git a/sdks/outpost-go/models/components/destinationupdatehookdeck.go b/sdks/outpost-go/models/components/destinationupdatehookdeck.go index 9af1a2b0..523109aa 100644 --- a/sdks/outpost-go/models/components/destinationupdatehookdeck.go +++ b/sdks/outpost-go/models/components/destinationupdatehookdeck.go @@ -3,12 +3,40 @@ package components import ( + "encoding/json" + "fmt" "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" "github.com/hookdeck/outpost/sdks/outpost-go/optionalnullable" "time" ) +// DestinationUpdateHookdeckType - Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. +type DestinationUpdateHookdeckType string + +const ( + DestinationUpdateHookdeckTypeHookdeck DestinationUpdateHookdeckType = "hookdeck" +) + +func (e DestinationUpdateHookdeckType) ToPointer() *DestinationUpdateHookdeckType { + return &e +} +func (e *DestinationUpdateHookdeckType) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "hookdeck": + *e = DestinationUpdateHookdeckType(v) + return nil + default: + return fmt.Errorf("invalid value for DestinationUpdateHookdeckType: %v", v) + } +} + type DestinationUpdateHookdeck struct { + // Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + Type DestinationUpdateHookdeckType `json:"type"` // "*" or an array of enabled topics. Topics *Topics `json:"topics,omitempty"` // Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. @@ -16,9 +44,9 @@ type DestinationUpdateHookdeck struct { // If null or empty, all events matching the topic filter will be delivered. // Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change. // - Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` - Config any `json:"config,omitempty"` - Credentials *HookdeckCredentials `json:"credentials,omitempty"` + Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` + // Partial Hookdeck credentials for PATCH updates (RFC 7396 merge-patch). + Credentials *HookdeckCredentialsUpdate `json:"credentials,omitempty"` // Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. DeliveryMetadata optionalnullable.OptionalNullable[map[string]*string] `json:"delivery_metadata,omitempty"` // Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. @@ -32,34 +60,34 @@ func (d DestinationUpdateHookdeck) MarshalJSON() ([]byte, error) { } func (d *DestinationUpdateHookdeck) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &d, "", false, nil); err != nil { + if err := utils.UnmarshalJSON(data, &d, "", false, []string{"type"}); err != nil { return err } return nil } -func (d *DestinationUpdateHookdeck) GetTopics() *Topics { +func (d *DestinationUpdateHookdeck) GetType() DestinationUpdateHookdeckType { if d == nil { - return nil + return DestinationUpdateHookdeckType("") } - return d.Topics + return d.Type } -func (d *DestinationUpdateHookdeck) GetFilter() optionalnullable.OptionalNullable[map[string]any] { +func (d *DestinationUpdateHookdeck) GetTopics() *Topics { if d == nil { return nil } - return d.Filter + return d.Topics } -func (d *DestinationUpdateHookdeck) GetConfig() any { +func (d *DestinationUpdateHookdeck) GetFilter() optionalnullable.OptionalNullable[map[string]any] { if d == nil { return nil } - return d.Config + return d.Filter } -func (d *DestinationUpdateHookdeck) GetCredentials() *HookdeckCredentials { +func (d *DestinationUpdateHookdeck) GetCredentials() *HookdeckCredentialsUpdate { if d == nil { return nil } diff --git a/sdks/outpost-go/models/components/destinationupdatekafka.go b/sdks/outpost-go/models/components/destinationupdatekafka.go index a9079063..905e69da 100644 --- a/sdks/outpost-go/models/components/destinationupdatekafka.go +++ b/sdks/outpost-go/models/components/destinationupdatekafka.go @@ -3,12 +3,40 @@ package components import ( + "encoding/json" + "fmt" "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" "github.com/hookdeck/outpost/sdks/outpost-go/optionalnullable" "time" ) +// DestinationUpdateKafkaType - Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. +type DestinationUpdateKafkaType string + +const ( + DestinationUpdateKafkaTypeKafka DestinationUpdateKafkaType = "kafka" +) + +func (e DestinationUpdateKafkaType) ToPointer() *DestinationUpdateKafkaType { + return &e +} +func (e *DestinationUpdateKafkaType) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "kafka": + *e = DestinationUpdateKafkaType(v) + return nil + default: + return fmt.Errorf("invalid value for DestinationUpdateKafkaType: %v", v) + } +} + type DestinationUpdateKafka struct { + // Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + Type DestinationUpdateKafkaType `json:"type"` // "*" or an array of enabled topics. Topics *Topics `json:"topics,omitempty"` // Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. @@ -16,9 +44,11 @@ type DestinationUpdateKafka struct { // If null or empty, all events matching the topic filter will be delivered. // Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change. // - Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` - Config *KafkaConfig `json:"config,omitempty"` - Credentials *KafkaCredentials `json:"credentials,omitempty"` + Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` + // Partial Kafka config for PATCH updates (RFC 7396 merge-patch). + Config *KafkaConfigUpdate `json:"config,omitempty"` + // Partial Kafka credentials for PATCH updates (RFC 7396 merge-patch). + Credentials *KafkaCredentialsUpdate `json:"credentials,omitempty"` // Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. DeliveryMetadata optionalnullable.OptionalNullable[map[string]*string] `json:"delivery_metadata,omitempty"` // Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. @@ -32,12 +62,19 @@ func (d DestinationUpdateKafka) MarshalJSON() ([]byte, error) { } func (d *DestinationUpdateKafka) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &d, "", false, nil); err != nil { + if err := utils.UnmarshalJSON(data, &d, "", false, []string{"type"}); err != nil { return err } return nil } +func (d *DestinationUpdateKafka) GetType() DestinationUpdateKafkaType { + if d == nil { + return DestinationUpdateKafkaType("") + } + return d.Type +} + func (d *DestinationUpdateKafka) GetTopics() *Topics { if d == nil { return nil @@ -52,14 +89,14 @@ func (d *DestinationUpdateKafka) GetFilter() optionalnullable.OptionalNullable[m return d.Filter } -func (d *DestinationUpdateKafka) GetConfig() *KafkaConfig { +func (d *DestinationUpdateKafka) GetConfig() *KafkaConfigUpdate { if d == nil { return nil } return d.Config } -func (d *DestinationUpdateKafka) GetCredentials() *KafkaCredentials { +func (d *DestinationUpdateKafka) GetCredentials() *KafkaCredentialsUpdate { if d == nil { return nil } diff --git a/sdks/outpost-go/models/components/destinationupdaterabbitmq.go b/sdks/outpost-go/models/components/destinationupdaterabbitmq.go index 48842021..d63e5f1e 100644 --- a/sdks/outpost-go/models/components/destinationupdaterabbitmq.go +++ b/sdks/outpost-go/models/components/destinationupdaterabbitmq.go @@ -3,12 +3,40 @@ package components import ( + "encoding/json" + "fmt" "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" "github.com/hookdeck/outpost/sdks/outpost-go/optionalnullable" "time" ) +// DestinationUpdateRabbitMQType - Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. +type DestinationUpdateRabbitMQType string + +const ( + DestinationUpdateRabbitMQTypeRabbitmq DestinationUpdateRabbitMQType = "rabbitmq" +) + +func (e DestinationUpdateRabbitMQType) ToPointer() *DestinationUpdateRabbitMQType { + return &e +} +func (e *DestinationUpdateRabbitMQType) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "rabbitmq": + *e = DestinationUpdateRabbitMQType(v) + return nil + default: + return fmt.Errorf("invalid value for DestinationUpdateRabbitMQType: %v", v) + } +} + type DestinationUpdateRabbitMQ struct { + // Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + Type DestinationUpdateRabbitMQType `json:"type"` // "*" or an array of enabled topics. Topics *Topics `json:"topics,omitempty"` // Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. @@ -16,9 +44,11 @@ type DestinationUpdateRabbitMQ struct { // If null or empty, all events matching the topic filter will be delivered. // Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change. // - Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` - Config *RabbitMQConfig `json:"config,omitempty"` - Credentials *RabbitMQCredentials `json:"credentials,omitempty"` + Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` + // Partial RabbitMQ config for PATCH updates (RFC 7396 merge-patch). + Config *RabbitMQConfigUpdate `json:"config,omitempty"` + // Partial RabbitMQ credentials for PATCH updates (RFC 7396 merge-patch). + Credentials *RabbitMQCredentialsUpdate `json:"credentials,omitempty"` // Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. DeliveryMetadata optionalnullable.OptionalNullable[map[string]*string] `json:"delivery_metadata,omitempty"` // Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. @@ -32,12 +62,19 @@ func (d DestinationUpdateRabbitMQ) MarshalJSON() ([]byte, error) { } func (d *DestinationUpdateRabbitMQ) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &d, "", false, nil); err != nil { + if err := utils.UnmarshalJSON(data, &d, "", false, []string{"type"}); err != nil { return err } return nil } +func (d *DestinationUpdateRabbitMQ) GetType() DestinationUpdateRabbitMQType { + if d == nil { + return DestinationUpdateRabbitMQType("") + } + return d.Type +} + func (d *DestinationUpdateRabbitMQ) GetTopics() *Topics { if d == nil { return nil @@ -52,14 +89,14 @@ func (d *DestinationUpdateRabbitMQ) GetFilter() optionalnullable.OptionalNullabl return d.Filter } -func (d *DestinationUpdateRabbitMQ) GetConfig() *RabbitMQConfig { +func (d *DestinationUpdateRabbitMQ) GetConfig() *RabbitMQConfigUpdate { if d == nil { return nil } return d.Config } -func (d *DestinationUpdateRabbitMQ) GetCredentials() *RabbitMQCredentials { +func (d *DestinationUpdateRabbitMQ) GetCredentials() *RabbitMQCredentialsUpdate { if d == nil { return nil } diff --git a/sdks/outpost-go/models/components/destinationupdatewebhook.go b/sdks/outpost-go/models/components/destinationupdatewebhook.go index 1c93fa69..e416c6db 100644 --- a/sdks/outpost-go/models/components/destinationupdatewebhook.go +++ b/sdks/outpost-go/models/components/destinationupdatewebhook.go @@ -3,12 +3,40 @@ package components import ( + "encoding/json" + "fmt" "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" "github.com/hookdeck/outpost/sdks/outpost-go/optionalnullable" "time" ) +// DestinationUpdateWebhookType - Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. +type DestinationUpdateWebhookType string + +const ( + DestinationUpdateWebhookTypeWebhook DestinationUpdateWebhookType = "webhook" +) + +func (e DestinationUpdateWebhookType) ToPointer() *DestinationUpdateWebhookType { + return &e +} +func (e *DestinationUpdateWebhookType) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "webhook": + *e = DestinationUpdateWebhookType(v) + return nil + default: + return fmt.Errorf("invalid value for DestinationUpdateWebhookType: %v", v) + } +} + type DestinationUpdateWebhook struct { + // Destination type discriminator. Must equal the existing destination's type — type itself cannot be changed via PATCH. + Type DestinationUpdateWebhookType `json:"type"` // "*" or an array of enabled topics. Topics *Topics `json:"topics,omitempty"` // Optional JSON schema filter for event matching. Events must match this filter to be delivered to this destination. @@ -16,9 +44,11 @@ type DestinationUpdateWebhook struct { // If null or empty, all events matching the topic filter will be delivered. // Uses full-replacement semantics on update: send a new object to replace, null or `{}` to clear, omit for no change. // - Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` - Config *WebhookConfig `json:"config,omitempty"` - Credentials *WebhookCredentialsUpdate `json:"credentials,omitempty"` + Filter optionalnullable.OptionalNullable[map[string]any] `json:"filter,omitempty"` + // Partial Webhook config for PATCH updates (RFC 7396 merge-patch). + Config *WebhookConfigUpdate `json:"config,omitempty"` + // Partial Webhook credentials for PATCH updates (RFC 7396 merge-patch). + Credentials *WebhookCredentialsUpdate `json:"credentials,omitempty"` // Static key-value pairs merged into event metadata on every attempt. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. DeliveryMetadata optionalnullable.OptionalNullable[map[string]*string] `json:"delivery_metadata,omitempty"` // Arbitrary contextual information stored with the destination. Uses JSON merge-patch semantics (RFC 7396): send keys to add/update, null values to delete keys, null for entire field to clear all. Omit or send {} for no change. @@ -32,12 +62,19 @@ func (d DestinationUpdateWebhook) MarshalJSON() ([]byte, error) { } func (d *DestinationUpdateWebhook) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &d, "", false, nil); err != nil { + if err := utils.UnmarshalJSON(data, &d, "", false, []string{"type"}); err != nil { return err } return nil } +func (d *DestinationUpdateWebhook) GetType() DestinationUpdateWebhookType { + if d == nil { + return DestinationUpdateWebhookType("") + } + return d.Type +} + func (d *DestinationUpdateWebhook) GetTopics() *Topics { if d == nil { return nil @@ -52,7 +89,7 @@ func (d *DestinationUpdateWebhook) GetFilter() optionalnullable.OptionalNullable return d.Filter } -func (d *DestinationUpdateWebhook) GetConfig() *WebhookConfig { +func (d *DestinationUpdateWebhook) GetConfig() *WebhookConfigUpdate { if d == nil { return nil } diff --git a/sdks/outpost-go/models/components/gcppubsubconfigupdate.go b/sdks/outpost-go/models/components/gcppubsubconfigupdate.go new file mode 100644 index 00000000..659e346e --- /dev/null +++ b/sdks/outpost-go/models/components/gcppubsubconfigupdate.go @@ -0,0 +1,49 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" +) + +// GCPPubSubConfigUpdate - Partial GCP Pub/Sub config for PATCH updates (RFC 7396 merge-patch). +type GCPPubSubConfigUpdate struct { + // The GCP project ID. + ProjectID *string `json:"project_id,omitempty"` + // The Pub/Sub topic name. + Topic *string `json:"topic,omitempty"` + // Optional. Custom endpoint URL (e.g., localhost:8085 for emulator). + Endpoint *string `json:"endpoint,omitempty"` +} + +func (g GCPPubSubConfigUpdate) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(g, "", false) +} + +func (g *GCPPubSubConfigUpdate) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &g, "", false, nil); err != nil { + return err + } + return nil +} + +func (g *GCPPubSubConfigUpdate) GetProjectID() *string { + if g == nil { + return nil + } + return g.ProjectID +} + +func (g *GCPPubSubConfigUpdate) GetTopic() *string { + if g == nil { + return nil + } + return g.Topic +} + +func (g *GCPPubSubConfigUpdate) GetEndpoint() *string { + if g == nil { + return nil + } + return g.Endpoint +} diff --git a/sdks/outpost-go/models/components/gcppubsubcredentialsupdate.go b/sdks/outpost-go/models/components/gcppubsubcredentialsupdate.go new file mode 100644 index 00000000..9fff549a --- /dev/null +++ b/sdks/outpost-go/models/components/gcppubsubcredentialsupdate.go @@ -0,0 +1,31 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" +) + +// GCPPubSubCredentialsUpdate - Partial GCP Pub/Sub credentials for PATCH updates (RFC 7396 merge-patch). +type GCPPubSubCredentialsUpdate struct { + // Service account key JSON. The entire JSON key file content as a string. + ServiceAccountJSON *string `json:"service_account_json,omitempty"` +} + +func (g GCPPubSubCredentialsUpdate) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(g, "", false) +} + +func (g *GCPPubSubCredentialsUpdate) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &g, "", false, nil); err != nil { + return err + } + return nil +} + +func (g *GCPPubSubCredentialsUpdate) GetServiceAccountJSON() *string { + if g == nil { + return nil + } + return g.ServiceAccountJSON +} diff --git a/sdks/outpost-go/models/components/hookdeckcredentialsupdate.go b/sdks/outpost-go/models/components/hookdeckcredentialsupdate.go new file mode 100644 index 00000000..ca65d9ca --- /dev/null +++ b/sdks/outpost-go/models/components/hookdeckcredentialsupdate.go @@ -0,0 +1,31 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" +) + +// HookdeckCredentialsUpdate - Partial Hookdeck credentials for PATCH updates (RFC 7396 merge-patch). +type HookdeckCredentialsUpdate struct { + // Hookdeck authentication token. + Token *string `json:"token,omitempty"` +} + +func (h HookdeckCredentialsUpdate) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(h, "", false) +} + +func (h *HookdeckCredentialsUpdate) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &h, "", false, nil); err != nil { + return err + } + return nil +} + +func (h *HookdeckCredentialsUpdate) GetToken() *string { + if h == nil { + return nil + } + return h.Token +} diff --git a/sdks/outpost-go/models/components/kafkaconfig.go b/sdks/outpost-go/models/components/kafkaconfig.go index 07c9c787..2e8a9214 100644 --- a/sdks/outpost-go/models/components/kafkaconfig.go +++ b/sdks/outpost-go/models/components/kafkaconfig.go @@ -8,19 +8,19 @@ import ( "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" ) -// SaslMechanism - SASL authentication mechanism. -type SaslMechanism string +// KafkaConfigSaslMechanism - SASL authentication mechanism. +type KafkaConfigSaslMechanism string const ( - SaslMechanismPlain SaslMechanism = "plain" - SaslMechanismScramSha256 SaslMechanism = "scram-sha-256" - SaslMechanismScramSha512 SaslMechanism = "scram-sha-512" + KafkaConfigSaslMechanismPlain KafkaConfigSaslMechanism = "plain" + KafkaConfigSaslMechanismScramSha256 KafkaConfigSaslMechanism = "scram-sha-256" + KafkaConfigSaslMechanismScramSha512 KafkaConfigSaslMechanism = "scram-sha-512" ) -func (e SaslMechanism) ToPointer() *SaslMechanism { +func (e KafkaConfigSaslMechanism) ToPointer() *KafkaConfigSaslMechanism { return &e } -func (e *SaslMechanism) UnmarshalJSON(data []byte) error { +func (e *KafkaConfigSaslMechanism) UnmarshalJSON(data []byte) error { var v string if err := json.Unmarshal(data, &v); err != nil { return err @@ -31,10 +31,10 @@ func (e *SaslMechanism) UnmarshalJSON(data []byte) error { case "scram-sha-256": fallthrough case "scram-sha-512": - *e = SaslMechanism(v) + *e = KafkaConfigSaslMechanism(v) return nil default: - return fmt.Errorf("invalid value for SaslMechanism: %v", v) + return fmt.Errorf("invalid value for KafkaConfigSaslMechanism: %v", v) } } @@ -71,7 +71,7 @@ type KafkaConfig struct { // The Kafka topic to publish messages to. Topic string `json:"topic"` // SASL authentication mechanism. - SaslMechanism SaslMechanism `json:"sasl_mechanism"` + SaslMechanism KafkaConfigSaslMechanism `json:"sasl_mechanism"` // Whether to enable TLS for the connection. TLS *KafkaConfigTLS `default:"true" json:"tls"` // Optional JMESPath template to extract the partition key from the event payload. Defaults to the event ID. @@ -103,9 +103,9 @@ func (k *KafkaConfig) GetTopic() string { return k.Topic } -func (k *KafkaConfig) GetSaslMechanism() SaslMechanism { +func (k *KafkaConfig) GetSaslMechanism() KafkaConfigSaslMechanism { if k == nil { - return SaslMechanism("") + return KafkaConfigSaslMechanism("") } return k.SaslMechanism } diff --git a/sdks/outpost-go/models/components/kafkaconfigupdate.go b/sdks/outpost-go/models/components/kafkaconfigupdate.go new file mode 100644 index 00000000..b15fa092 --- /dev/null +++ b/sdks/outpost-go/models/components/kafkaconfigupdate.go @@ -0,0 +1,126 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "encoding/json" + "fmt" + "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" +) + +// KafkaConfigUpdateSaslMechanism - SASL authentication mechanism. +type KafkaConfigUpdateSaslMechanism string + +const ( + KafkaConfigUpdateSaslMechanismPlain KafkaConfigUpdateSaslMechanism = "plain" + KafkaConfigUpdateSaslMechanismScramSha256 KafkaConfigUpdateSaslMechanism = "scram-sha-256" + KafkaConfigUpdateSaslMechanismScramSha512 KafkaConfigUpdateSaslMechanism = "scram-sha-512" +) + +func (e KafkaConfigUpdateSaslMechanism) ToPointer() *KafkaConfigUpdateSaslMechanism { + return &e +} +func (e *KafkaConfigUpdateSaslMechanism) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "plain": + fallthrough + case "scram-sha-256": + fallthrough + case "scram-sha-512": + *e = KafkaConfigUpdateSaslMechanism(v) + return nil + default: + return fmt.Errorf("invalid value for KafkaConfigUpdateSaslMechanism: %v", v) + } +} + +// KafkaConfigUpdateTLS - Whether to enable TLS for the connection. +type KafkaConfigUpdateTLS string + +const ( + KafkaConfigUpdateTLSTrue KafkaConfigUpdateTLS = "true" + KafkaConfigUpdateTLSFalse KafkaConfigUpdateTLS = "false" +) + +func (e KafkaConfigUpdateTLS) ToPointer() *KafkaConfigUpdateTLS { + return &e +} +func (e *KafkaConfigUpdateTLS) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "true": + fallthrough + case "false": + *e = KafkaConfigUpdateTLS(v) + return nil + default: + return fmt.Errorf("invalid value for KafkaConfigUpdateTLS: %v", v) + } +} + +// KafkaConfigUpdate - Partial Kafka config for PATCH updates (RFC 7396 merge-patch). +type KafkaConfigUpdate struct { + // Comma-separated list of Kafka broker addresses. + Brokers *string `json:"brokers,omitempty"` + // The Kafka topic to publish messages to. + Topic *string `json:"topic,omitempty"` + // SASL authentication mechanism. + SaslMechanism *KafkaConfigUpdateSaslMechanism `json:"sasl_mechanism,omitempty"` + // Whether to enable TLS for the connection. + TLS *KafkaConfigUpdateTLS `json:"tls,omitempty"` + // Optional JMESPath template to extract the partition key from the event payload. + PartitionKeyTemplate *string `json:"partition_key_template,omitempty"` +} + +func (k KafkaConfigUpdate) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(k, "", false) +} + +func (k *KafkaConfigUpdate) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &k, "", false, nil); err != nil { + return err + } + return nil +} + +func (k *KafkaConfigUpdate) GetBrokers() *string { + if k == nil { + return nil + } + return k.Brokers +} + +func (k *KafkaConfigUpdate) GetTopic() *string { + if k == nil { + return nil + } + return k.Topic +} + +func (k *KafkaConfigUpdate) GetSaslMechanism() *KafkaConfigUpdateSaslMechanism { + if k == nil { + return nil + } + return k.SaslMechanism +} + +func (k *KafkaConfigUpdate) GetTLS() *KafkaConfigUpdateTLS { + if k == nil { + return nil + } + return k.TLS +} + +func (k *KafkaConfigUpdate) GetPartitionKeyTemplate() *string { + if k == nil { + return nil + } + return k.PartitionKeyTemplate +} diff --git a/sdks/outpost-go/models/components/kafkacredentialsupdate.go b/sdks/outpost-go/models/components/kafkacredentialsupdate.go new file mode 100644 index 00000000..820239d1 --- /dev/null +++ b/sdks/outpost-go/models/components/kafkacredentialsupdate.go @@ -0,0 +1,40 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" +) + +// KafkaCredentialsUpdate - Partial Kafka credentials for PATCH updates (RFC 7396 merge-patch). +type KafkaCredentialsUpdate struct { + // SASL username for authentication. + Username *string `json:"username,omitempty"` + // SASL password for authentication. + Password *string `json:"password,omitempty"` +} + +func (k KafkaCredentialsUpdate) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(k, "", false) +} + +func (k *KafkaCredentialsUpdate) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &k, "", false, nil); err != nil { + return err + } + return nil +} + +func (k *KafkaCredentialsUpdate) GetUsername() *string { + if k == nil { + return nil + } + return k.Username +} + +func (k *KafkaCredentialsUpdate) GetPassword() *string { + if k == nil { + return nil + } + return k.Password +} diff --git a/sdks/outpost-go/models/components/rabbitmqconfigupdate.go b/sdks/outpost-go/models/components/rabbitmqconfigupdate.go new file mode 100644 index 00000000..a7f046fb --- /dev/null +++ b/sdks/outpost-go/models/components/rabbitmqconfigupdate.go @@ -0,0 +1,78 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "encoding/json" + "fmt" + "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" +) + +// RabbitMQConfigUpdateTLS - Whether to use TLS connection (amqps). +type RabbitMQConfigUpdateTLS string + +const ( + RabbitMQConfigUpdateTLSTrue RabbitMQConfigUpdateTLS = "true" + RabbitMQConfigUpdateTLSFalse RabbitMQConfigUpdateTLS = "false" +) + +func (e RabbitMQConfigUpdateTLS) ToPointer() *RabbitMQConfigUpdateTLS { + return &e +} +func (e *RabbitMQConfigUpdateTLS) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "true": + fallthrough + case "false": + *e = RabbitMQConfigUpdateTLS(v) + return nil + default: + return fmt.Errorf("invalid value for RabbitMQConfigUpdateTLS: %v", v) + } +} + +// RabbitMQConfigUpdate - Partial RabbitMQ config for PATCH updates (RFC 7396 merge-patch). +type RabbitMQConfigUpdate struct { + // RabbitMQ server address (host:port). + ServerURL *string `json:"server_url,omitempty"` + // The exchange to publish messages to. + Exchange *string `json:"exchange,omitempty"` + // Whether to use TLS connection (amqps). + TLS *RabbitMQConfigUpdateTLS `json:"tls,omitempty"` +} + +func (r RabbitMQConfigUpdate) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(r, "", false) +} + +func (r *RabbitMQConfigUpdate) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &r, "", false, nil); err != nil { + return err + } + return nil +} + +func (r *RabbitMQConfigUpdate) GetServerURL() *string { + if r == nil { + return nil + } + return r.ServerURL +} + +func (r *RabbitMQConfigUpdate) GetExchange() *string { + if r == nil { + return nil + } + return r.Exchange +} + +func (r *RabbitMQConfigUpdate) GetTLS() *RabbitMQConfigUpdateTLS { + if r == nil { + return nil + } + return r.TLS +} diff --git a/sdks/outpost-go/models/components/rabbitmqcredentialsupdate.go b/sdks/outpost-go/models/components/rabbitmqcredentialsupdate.go new file mode 100644 index 00000000..4644171f --- /dev/null +++ b/sdks/outpost-go/models/components/rabbitmqcredentialsupdate.go @@ -0,0 +1,40 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" +) + +// RabbitMQCredentialsUpdate - Partial RabbitMQ credentials for PATCH updates (RFC 7396 merge-patch). +type RabbitMQCredentialsUpdate struct { + // RabbitMQ username. + Username *string `json:"username,omitempty"` + // RabbitMQ password. + Password *string `json:"password,omitempty"` +} + +func (r RabbitMQCredentialsUpdate) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(r, "", false) +} + +func (r *RabbitMQCredentialsUpdate) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &r, "", false, nil); err != nil { + return err + } + return nil +} + +func (r *RabbitMQCredentialsUpdate) GetUsername() *string { + if r == nil { + return nil + } + return r.Username +} + +func (r *RabbitMQCredentialsUpdate) GetPassword() *string { + if r == nil { + return nil + } + return r.Password +} diff --git a/sdks/outpost-go/models/components/webhookconfigupdate.go b/sdks/outpost-go/models/components/webhookconfigupdate.go new file mode 100644 index 00000000..292ea89e --- /dev/null +++ b/sdks/outpost-go/models/components/webhookconfigupdate.go @@ -0,0 +1,40 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "github.com/hookdeck/outpost/sdks/outpost-go/internal/utils" +) + +// WebhookConfigUpdate - Partial Webhook config for PATCH updates (RFC 7396 merge-patch). +type WebhookConfigUpdate struct { + // The URL to send the webhook events to. + URL *string `json:"url,omitempty"` + // JSON string of custom HTTP headers to include with every webhook request. + CustomHeaders *string `json:"custom_headers,omitempty"` +} + +func (w WebhookConfigUpdate) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(w, "", false) +} + +func (w *WebhookConfigUpdate) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &w, "", false, nil); err != nil { + return err + } + return nil +} + +func (w *WebhookConfigUpdate) GetURL() *string { + if w == nil { + return nil + } + return w.URL +} + +func (w *WebhookConfigUpdate) GetCustomHeaders() *string { + if w == nil { + return nil + } + return w.CustomHeaders +} diff --git a/sdks/outpost-go/models/components/webhookcredentialsupdate.go b/sdks/outpost-go/models/components/webhookcredentialsupdate.go index 4cf95e63..570e8117 100644 --- a/sdks/outpost-go/models/components/webhookcredentialsupdate.go +++ b/sdks/outpost-go/models/components/webhookcredentialsupdate.go @@ -7,6 +7,7 @@ import ( "time" ) +// WebhookCredentialsUpdate - Partial Webhook credentials for PATCH updates (RFC 7396 merge-patch). type WebhookCredentialsUpdate struct { // New secret (only allowed for admin). Secret *string `json:"secret,omitempty"` diff --git a/sdks/outpost-go/models/operations/listattempts.go b/sdks/outpost-go/models/operations/listattempts.go index 1263d570..ea807f63 100644 --- a/sdks/outpost-go/models/operations/listattempts.go +++ b/sdks/outpost-go/models/operations/listattempts.go @@ -295,8 +295,6 @@ type ListAttemptsResponse struct { HTTPMeta components.HTTPMetadata `json:"-"` // A paginated list of attempts. AttemptPaginatedResult *components.AttemptPaginatedResult - - Next func() (*ListAttemptsResponse, error) } func (l *ListAttemptsResponse) GetHTTPMeta() components.HTTPMetadata { diff --git a/sdks/outpost-go/models/operations/listevents.go b/sdks/outpost-go/models/operations/listevents.go index e28c250c..b0d8a043 100644 --- a/sdks/outpost-go/models/operations/listevents.go +++ b/sdks/outpost-go/models/operations/listevents.go @@ -236,8 +236,6 @@ type ListEventsResponse struct { HTTPMeta components.HTTPMetadata `json:"-"` // A paginated list of events. EventPaginatedResult *components.EventPaginatedResult - - Next func() (*ListEventsResponse, error) } func (l *ListEventsResponse) GetHTTPMeta() components.HTTPMetadata { diff --git a/sdks/outpost-go/models/operations/listtenantdestinationattempts.go b/sdks/outpost-go/models/operations/listtenantdestinationattempts.go index d4e57b96..ac6aed75 100644 --- a/sdks/outpost-go/models/operations/listtenantdestinationattempts.go +++ b/sdks/outpost-go/models/operations/listtenantdestinationattempts.go @@ -218,8 +218,6 @@ type ListTenantDestinationAttemptsResponse struct { HTTPMeta components.HTTPMetadata `json:"-"` // A paginated list of attempts for the destination. AttemptPaginatedResult *components.AttemptPaginatedResult - - Next func() (*ListTenantDestinationAttemptsResponse, error) } func (l *ListTenantDestinationAttemptsResponse) GetHTTPMeta() components.HTTPMetadata { diff --git a/sdks/outpost-go/models/operations/listtenants.go b/sdks/outpost-go/models/operations/listtenants.go index 214fc5b0..14059e70 100644 --- a/sdks/outpost-go/models/operations/listtenants.go +++ b/sdks/outpost-go/models/operations/listtenants.go @@ -99,8 +99,6 @@ type ListTenantsResponse struct { HTTPMeta components.HTTPMetadata `json:"-"` // List of tenants. TenantPaginatedResult *components.TenantPaginatedResult - - Next func() (*ListTenantsResponse, error) } func (l *ListTenantsResponse) GetHTTPMeta() components.HTTPMetadata { diff --git a/sdks/outpost-go/models/operations/updatetenantdestination.go b/sdks/outpost-go/models/operations/updatetenantdestination.go index c8b9a718..59d4501a 100644 --- a/sdks/outpost-go/models/operations/updatetenantdestination.go +++ b/sdks/outpost-go/models/operations/updatetenantdestination.go @@ -38,6 +38,42 @@ func (u *UpdateTenantDestinationRequest) GetBody() components.DestinationUpdate return u.Body } +func (u *UpdateTenantDestinationRequest) GetBodyWebhook() *components.DestinationUpdateWebhook { + return u.GetBody().DestinationUpdateWebhook +} + +func (u *UpdateTenantDestinationRequest) GetBodyAwsSqs() *components.DestinationUpdateAWSSQS { + return u.GetBody().DestinationUpdateAWSSQS +} + +func (u *UpdateTenantDestinationRequest) GetBodyRabbitmq() *components.DestinationUpdateRabbitMQ { + return u.GetBody().DestinationUpdateRabbitMQ +} + +func (u *UpdateTenantDestinationRequest) GetBodyHookdeck() *components.DestinationUpdateHookdeck { + return u.GetBody().DestinationUpdateHookdeck +} + +func (u *UpdateTenantDestinationRequest) GetBodyAwsKinesis() *components.DestinationUpdateAWSKinesis { + return u.GetBody().DestinationUpdateAWSKinesis +} + +func (u *UpdateTenantDestinationRequest) GetBodyAzureServicebus() *components.DestinationUpdateAzureServiceBus { + return u.GetBody().DestinationUpdateAzureServiceBus +} + +func (u *UpdateTenantDestinationRequest) GetBodyAwsS3() *components.DestinationUpdateAwss3 { + return u.GetBody().DestinationUpdateAwss3 +} + +func (u *UpdateTenantDestinationRequest) GetBodyGcpPubsub() *components.DestinationUpdateGCPPubSub { + return u.GetBody().DestinationUpdateGCPPubSub +} + +func (u *UpdateTenantDestinationRequest) GetBodyKafka() *components.DestinationUpdateKafka { + return u.GetBody().DestinationUpdateKafka +} + type UpdateTenantDestinationResponseBodyType string const ( diff --git a/sdks/outpost-go/outpost.go b/sdks/outpost-go/outpost.go index add31676..80f42bb3 100644 --- a/sdks/outpost-go/outpost.go +++ b/sdks/outpost-go/outpost.go @@ -172,9 +172,9 @@ func WithTimeout(timeout time.Duration) SDKOption { // New creates a new instance of the SDK with the provided options func New(opts ...SDKOption) *Outpost { sdk := &Outpost{ - SDKVersion: "1.3.0", + SDKVersion: "1.4.0", sdkConfiguration: config.SDKConfiguration{ - UserAgent: "speakeasy-sdk/go 1.3.0 2.884.0 0.0.1 github.com/hookdeck/outpost/sdks/outpost-go", + UserAgent: "speakeasy-sdk/go 1.4.0 2.884.0 0.0.1 github.com/hookdeck/outpost/sdks/outpost-go", ServerList: ServerList, }, hooks: hooks.New(), diff --git a/sdks/outpost-go/tenants.go b/sdks/outpost-go/tenants.go index 18dacffe..a10d381a 100644 --- a/sdks/outpost-go/tenants.go +++ b/sdks/outpost-go/tenants.go @@ -13,11 +13,8 @@ import ( "github.com/hookdeck/outpost/sdks/outpost-go/models/components" "github.com/hookdeck/outpost/sdks/outpost-go/models/operations" "github.com/hookdeck/outpost/sdks/outpost-go/retry" - "github.com/spyzhov/ajson" "net/http" "net/url" - "strconv" - "strings" ) // Tenants - The API segments resources per `tenant`. A tenant represents a user/team/organization in your product. The provided value determines the tenant's ID, which can be any string representation. @@ -207,72 +204,6 @@ func (s *Tenants) List(ctx context.Context, request operations.ListTenantsReques Response: httpRes, }, } - res.Next = func() (*operations.ListTenantsResponse, error) { - rawBody, err := utils.ConsumeRawBody(httpRes) - if err != nil { - return nil, err - } - - b, err := ajson.Unmarshal(rawBody) - if err != nil { - return nil, err - } - nC, err := ajson.Eval(b, "$.pagination.next") - if err != nil { - return nil, err - } - var nCVal string - - if nC.IsNumeric() { - numVal, err := nC.GetNumeric() - if err != nil { - return nil, err - } - // GetNumeric returns as float64 so convert to the appropriate type. - nCVal = strconv.FormatFloat(numVal, 'f', 0, 64) - } else { - val, err := nC.Value() - if err != nil { - return nil, err - } - if val == nil { - return nil, nil - } - nCVal = val.(string) - if strings.TrimSpace(nCVal) == "" { - return nil, nil - } - } - r, err := ajson.Eval(b, "$.models") - if err != nil { - return nil, err - } - if !r.IsArray() { - return nil, nil - } - arr, err := r.GetArray() - if err != nil { - return nil, err - } - if len(arr) == 0 { - return nil, nil - } - - l := 0 - if request.Limit != nil { - l = int(*request.Limit) - } - if len(arr) < l { - return nil, nil - } - request.Next = &nCVal - - return s.List( - ctx, - request, - opts..., - ) - } switch { case httpRes.StatusCode == 200: