From 0c4397c0ae022d6d10f6cef6e115ece41d0154f6 Mon Sep 17 00:00:00 2001 From: Vera Xia Date: Wed, 24 Jun 2026 16:19:29 -0700 Subject: [PATCH 1/3] code gen update --- .../aws/greengrass/GreengrassCoreIPC.java | 6 + .../greengrass/GreengrassCoreIPCClient.java | 10 ++ .../greengrass/GreengrassCoreIPCClientV2.java | 86 ++++++++++++ ...oTCoreConnectionStatusResponseHandler.java | 50 +++++++ .../GreengrassCoreIPCServiceModel.java | 21 +++ ...TCoreConnectionStatusOperationContext.java | 73 ++++++++++ .../greengrass/model/ConnectionStatus.java | 52 +++++++ .../model/ConnectionStatusEvent.java | 109 +++++++++++++++ .../model/IoTCoreConnectionStatusEvent.java | 129 ++++++++++++++++++ ...cribeToIoTCoreConnectionStatusRequest.java | 52 +++++++ ...ribeToIoTCoreConnectionStatusResponse.java | 52 +++++++ 11 files changed, 640 insertions(+) create mode 100644 sdk/greengrass/greengrass-client/src/event-stream-rpc-java/client/software/amazon/awssdk/aws/greengrass/SubscribeToIoTCoreConnectionStatusResponseHandler.java create mode 100644 sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/SubscribeToIoTCoreConnectionStatusOperationContext.java create mode 100644 sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/ConnectionStatus.java create mode 100644 sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/ConnectionStatusEvent.java create mode 100644 sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/IoTCoreConnectionStatusEvent.java create mode 100644 sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/SubscribeToIoTCoreConnectionStatusRequest.java create mode 100644 sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/SubscribeToIoTCoreConnectionStatusResponse.java diff --git a/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/client/software/amazon/awssdk/aws/greengrass/GreengrassCoreIPC.java b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/client/software/amazon/awssdk/aws/greengrass/GreengrassCoreIPC.java index 45629d800..884535890 100644 --- a/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/client/software/amazon/awssdk/aws/greengrass/GreengrassCoreIPC.java +++ b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/client/software/amazon/awssdk/aws/greengrass/GreengrassCoreIPC.java @@ -23,6 +23,7 @@ import software.amazon.awssdk.aws.greengrass.model.GetLocalDeploymentStatusRequest; import software.amazon.awssdk.aws.greengrass.model.GetSecretValueRequest; import software.amazon.awssdk.aws.greengrass.model.GetThingShadowRequest; +import software.amazon.awssdk.aws.greengrass.model.IoTCoreConnectionStatusEvent; import software.amazon.awssdk.aws.greengrass.model.IoTCoreMessage; import software.amazon.awssdk.aws.greengrass.model.ListComponentsRequest; import software.amazon.awssdk.aws.greengrass.model.ListLocalDeploymentsRequest; @@ -38,6 +39,7 @@ import software.amazon.awssdk.aws.greengrass.model.SubscribeToCertificateUpdatesRequest; import software.amazon.awssdk.aws.greengrass.model.SubscribeToComponentUpdatesRequest; import software.amazon.awssdk.aws.greengrass.model.SubscribeToConfigurationUpdateRequest; +import software.amazon.awssdk.aws.greengrass.model.SubscribeToIoTCoreConnectionStatusRequest; import software.amazon.awssdk.aws.greengrass.model.SubscribeToIoTCoreRequest; import software.amazon.awssdk.aws.greengrass.model.SubscribeToTopicRequest; import software.amazon.awssdk.aws.greengrass.model.SubscribeToValidateConfigurationUpdatesRequest; @@ -145,6 +147,10 @@ SubscribeToConfigurationUpdateResponseHandler subscribeToConfigurationUpdate( SubscribeToIoTCoreResponseHandler subscribeToIoTCore(final SubscribeToIoTCoreRequest request, final Optional> streamResponseHandler); + SubscribeToIoTCoreConnectionStatusResponseHandler subscribeToIoTCoreConnectionStatus( + final SubscribeToIoTCoreConnectionStatusRequest request, + final Optional> streamResponseHandler); + SubscribeToTopicResponseHandler subscribeToTopic(final SubscribeToTopicRequest request, final Optional> streamResponseHandler); diff --git a/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/client/software/amazon/awssdk/aws/greengrass/GreengrassCoreIPCClient.java b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/client/software/amazon/awssdk/aws/greengrass/GreengrassCoreIPCClient.java index 94f525d59..7cb015faf 100644 --- a/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/client/software/amazon/awssdk/aws/greengrass/GreengrassCoreIPCClient.java +++ b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/client/software/amazon/awssdk/aws/greengrass/GreengrassCoreIPCClient.java @@ -24,6 +24,7 @@ import software.amazon.awssdk.aws.greengrass.model.GetLocalDeploymentStatusRequest; import software.amazon.awssdk.aws.greengrass.model.GetSecretValueRequest; import software.amazon.awssdk.aws.greengrass.model.GetThingShadowRequest; +import software.amazon.awssdk.aws.greengrass.model.IoTCoreConnectionStatusEvent; import software.amazon.awssdk.aws.greengrass.model.IoTCoreMessage; import software.amazon.awssdk.aws.greengrass.model.ListComponentsRequest; import software.amazon.awssdk.aws.greengrass.model.ListLocalDeploymentsRequest; @@ -39,6 +40,7 @@ import software.amazon.awssdk.aws.greengrass.model.SubscribeToCertificateUpdatesRequest; import software.amazon.awssdk.aws.greengrass.model.SubscribeToComponentUpdatesRequest; import software.amazon.awssdk.aws.greengrass.model.SubscribeToConfigurationUpdateRequest; +import software.amazon.awssdk.aws.greengrass.model.SubscribeToIoTCoreConnectionStatusRequest; import software.amazon.awssdk.aws.greengrass.model.SubscribeToIoTCoreRequest; import software.amazon.awssdk.aws.greengrass.model.SubscribeToTopicRequest; import software.amazon.awssdk.aws.greengrass.model.SubscribeToValidateConfigurationUpdatesRequest; @@ -264,6 +266,14 @@ public SubscribeToIoTCoreResponseHandler subscribeToIoTCore( return new SubscribeToIoTCoreResponseHandler(doOperationInvoke(operationContext, request, streamResponseHandler)); } + @Override + public SubscribeToIoTCoreConnectionStatusResponseHandler subscribeToIoTCoreConnectionStatus( + final SubscribeToIoTCoreConnectionStatusRequest request, + final Optional> streamResponseHandler) { + final SubscribeToIoTCoreConnectionStatusOperationContext operationContext = GreengrassCoreIPCServiceModel.getSubscribeToIoTCoreConnectionStatusModelContext(); + return new SubscribeToIoTCoreConnectionStatusResponseHandler(doOperationInvoke(operationContext, request, streamResponseHandler)); + } + @Override public SubscribeToTopicResponseHandler subscribeToTopic(final SubscribeToTopicRequest request, final Optional> streamResponseHandler) { diff --git a/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/client/software/amazon/awssdk/aws/greengrass/GreengrassCoreIPCClientV2.java b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/client/software/amazon/awssdk/aws/greengrass/GreengrassCoreIPCClientV2.java index bc98a0536..bb00241d7 100644 --- a/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/client/software/amazon/awssdk/aws/greengrass/GreengrassCoreIPCClientV2.java +++ b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/client/software/amazon/awssdk/aws/greengrass/GreengrassCoreIPCClientV2.java @@ -53,6 +53,7 @@ import software.amazon.awssdk.aws.greengrass.model.GetSecretValueResponse; import software.amazon.awssdk.aws.greengrass.model.GetThingShadowRequest; import software.amazon.awssdk.aws.greengrass.model.GetThingShadowResponse; +import software.amazon.awssdk.aws.greengrass.model.IoTCoreConnectionStatusEvent; import software.amazon.awssdk.aws.greengrass.model.IoTCoreMessage; import software.amazon.awssdk.aws.greengrass.model.ListComponentsRequest; import software.amazon.awssdk.aws.greengrass.model.ListComponentsResponse; @@ -82,6 +83,8 @@ import software.amazon.awssdk.aws.greengrass.model.SubscribeToComponentUpdatesResponse; import software.amazon.awssdk.aws.greengrass.model.SubscribeToConfigurationUpdateRequest; import software.amazon.awssdk.aws.greengrass.model.SubscribeToConfigurationUpdateResponse; +import software.amazon.awssdk.aws.greengrass.model.SubscribeToIoTCoreConnectionStatusRequest; +import software.amazon.awssdk.aws.greengrass.model.SubscribeToIoTCoreConnectionStatusResponse; import software.amazon.awssdk.aws.greengrass.model.SubscribeToIoTCoreRequest; import software.amazon.awssdk.aws.greengrass.model.SubscribeToIoTCoreResponse; import software.amazon.awssdk.aws.greengrass.model.SubscribeToTopicRequest; @@ -1049,6 +1052,89 @@ public StreamingResponse, Subscrib return new StreamingResponse<>(r.getResponse(), r); } + /** + * Perform the subscribeToIoTCoreConnectionStatus operation asynchronously. + * The initial response or error will be returned as the result of the asynchronous future, further events will + * arrive via the streaming callbacks. + * + * @return a future which resolves to the response + * + * @param request request object + * @param onStreamEvent Callback for stream events. If an executor is provided, this method will run in the executor. + * @param onStreamError Callback for stream errors. Return true to close the stream, + * return false to keep the stream open. Even if an executor is provided, + * this method will not run in the executor. + * @param onStreamClosed Callback for when the stream closes. If an executor is provided, this method will run in the executor. + */ + public StreamingResponse, SubscribeToIoTCoreConnectionStatusResponseHandler> subscribeToIoTCoreConnectionStatusAsync( + final SubscribeToIoTCoreConnectionStatusRequest request, + Consumer onStreamEvent, + Optional> onStreamError, Optional onStreamClosed) { + return this.subscribeToIoTCoreConnectionStatusAsync(request, getStreamingResponseHandler(onStreamEvent, onStreamError, onStreamClosed)); + } + + /** + * Perform the subscribeToIoTCoreConnectionStatus operation synchronously. + * The initial response or error will be returned synchronously, + * further events will arrive via the streaming callbacks. + * + * @throws InterruptedException if thread is interrupted while waiting for the response + * @return the response + * + * @param request request object + * @param onStreamEvent Callback for stream events. If an executor is provided, this method will run in the executor. + * @param onStreamError Callback for stream errors. Return true to close the stream, + * return false to keep the stream open. Even if an executor is provided, + * this method will not run in the executor. + * @param onStreamClosed Callback for when the stream closes. If an executor is provided, this method will run in the executor. + */ + public StreamingResponse subscribeToIoTCoreConnectionStatus( + final SubscribeToIoTCoreConnectionStatusRequest request, + Consumer onStreamEvent, + Optional> onStreamError, Optional onStreamClosed) + throws InterruptedException { + StreamingResponse, SubscribeToIoTCoreConnectionStatusResponseHandler> r = this.subscribeToIoTCoreConnectionStatusAsync(request, onStreamEvent, onStreamError, onStreamClosed); + return new StreamingResponse<>(getResponse(r.getResponse()), r.getHandler()); + } + + /** + * Perform the subscribeToIoTCoreConnectionStatus operation synchronously. + * The initial response or error will be returned synchronously, further events will + * arrive via the streaming callbacks. + * + * @throws InterruptedException if thread is interrupted while waiting for the response + * @return the response + * + * @param request request object + * @param streamResponseHandler Methods on this object will be called as stream events happen on this operation. + * If an executor is provided, the onStreamEvent and onStreamClosed methods will run in the executor. + */ + public StreamingResponse subscribeToIoTCoreConnectionStatus( + final SubscribeToIoTCoreConnectionStatusRequest request, + final StreamResponseHandler streamResponseHandler) throws + InterruptedException { + StreamingResponse, SubscribeToIoTCoreConnectionStatusResponseHandler> r = this.subscribeToIoTCoreConnectionStatusAsync(request, streamResponseHandler); + return new StreamingResponse<>(getResponse(r.getResponse()), r.getHandler()); + } + + /** + * Perform the subscribeToIoTCoreConnectionStatus operation asynchronously. + * The initial response or error will be returned as the result of the asynchronous future, further events will + * arrive via the streaming callbacks. + * + * @return a future which resolves to the response + * + * @param request request object + * @param streamResponseHandler Methods on this object will be called as stream events happen on this operation. + * If an executor is provided, the onStreamEvent and onStreamClosed methods will run in the executor. + */ + public StreamingResponse, SubscribeToIoTCoreConnectionStatusResponseHandler> subscribeToIoTCoreConnectionStatusAsync( + final SubscribeToIoTCoreConnectionStatusRequest request, + final StreamResponseHandler streamResponseHandler) { + SubscribeToIoTCoreConnectionStatusResponseHandler r = client.subscribeToIoTCoreConnectionStatus(request, Optional.ofNullable(getStreamingResponseHandler(streamResponseHandler))); + return new StreamingResponse<>(r.getResponse(), r); + } + /** * Perform the subscribeToTopic operation asynchronously. * The initial response or error will be returned as the result of the asynchronous future, further events will diff --git a/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/client/software/amazon/awssdk/aws/greengrass/SubscribeToIoTCoreConnectionStatusResponseHandler.java b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/client/software/amazon/awssdk/aws/greengrass/SubscribeToIoTCoreConnectionStatusResponseHandler.java new file mode 100644 index 000000000..e35701edc --- /dev/null +++ b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/client/software/amazon/awssdk/aws/greengrass/SubscribeToIoTCoreConnectionStatusResponseHandler.java @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + * + * This file is generated. + */ + +package software.amazon.awssdk.aws.greengrass; + +import java.lang.Override; +import java.lang.Void; +import java.util.concurrent.CompletableFuture; +import software.amazon.awssdk.aws.greengrass.model.SubscribeToIoTCoreConnectionStatusResponse; +import software.amazon.awssdk.eventstreamrpc.OperationResponse; +import software.amazon.awssdk.eventstreamrpc.StreamResponse; +import software.amazon.awssdk.eventstreamrpc.model.EventStreamJsonMessage; + +public final class SubscribeToIoTCoreConnectionStatusResponseHandler implements StreamResponse { + private final OperationResponse operationResponse; + + public SubscribeToIoTCoreConnectionStatusResponseHandler( + final OperationResponse operationResponse) { + this.operationResponse = operationResponse; + } + + @Override + public CompletableFuture getRequestFlushFuture() { + return operationResponse.getRequestFlushFuture(); + } + + @Override + public CompletableFuture getResponse() { + return operationResponse.getResponse(); + } + + @Override + public CompletableFuture sendStreamEvent(final EventStreamJsonMessage event) { + return operationResponse.sendStreamEvent(event); + } + + @Override + public CompletableFuture closeStream() { + return operationResponse.closeStream(); + } + + @Override + public boolean isClosed() { + return operationResponse.isClosed(); + } +} diff --git a/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/GreengrassCoreIPCServiceModel.java b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/GreengrassCoreIPCServiceModel.java index bc2047022..af102ffb1 100644 --- a/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/GreengrassCoreIPCServiceModel.java +++ b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/GreengrassCoreIPCServiceModel.java @@ -34,6 +34,8 @@ import software.amazon.awssdk.aws.greengrass.model.ConfigurationValidityReport; import software.amazon.awssdk.aws.greengrass.model.ConfigurationValidityStatus; import software.amazon.awssdk.aws.greengrass.model.ConflictError; +import software.amazon.awssdk.aws.greengrass.model.ConnectionStatus; +import software.amazon.awssdk.aws.greengrass.model.ConnectionStatusEvent; import software.amazon.awssdk.aws.greengrass.model.CreateDebugPasswordRequest; import software.amazon.awssdk.aws.greengrass.model.CreateDebugPasswordResponse; import software.amazon.awssdk.aws.greengrass.model.CreateLocalDeploymentRequest; @@ -66,6 +68,7 @@ import software.amazon.awssdk.aws.greengrass.model.InvalidCredentialError; import software.amazon.awssdk.aws.greengrass.model.InvalidRecipeDirectoryPathError; import software.amazon.awssdk.aws.greengrass.model.InvalidTokenError; +import software.amazon.awssdk.aws.greengrass.model.IoTCoreConnectionStatusEvent; import software.amazon.awssdk.aws.greengrass.model.IoTCoreMessage; import software.amazon.awssdk.aws.greengrass.model.JsonMessage; import software.amazon.awssdk.aws.greengrass.model.LifecycleState; @@ -115,6 +118,8 @@ import software.amazon.awssdk.aws.greengrass.model.SubscribeToComponentUpdatesResponse; import software.amazon.awssdk.aws.greengrass.model.SubscribeToConfigurationUpdateRequest; import software.amazon.awssdk.aws.greengrass.model.SubscribeToConfigurationUpdateResponse; +import software.amazon.awssdk.aws.greengrass.model.SubscribeToIoTCoreConnectionStatusRequest; +import software.amazon.awssdk.aws.greengrass.model.SubscribeToIoTCoreConnectionStatusResponse; import software.amazon.awssdk.aws.greengrass.model.SubscribeToIoTCoreRequest; import software.amazon.awssdk.aws.greengrass.model.SubscribeToIoTCoreResponse; import software.amazon.awssdk.aws.greengrass.model.SubscribeToTopicRequest; @@ -262,6 +267,10 @@ public class GreengrassCoreIPCServiceModel extends EventStreamRPCServiceModel { private static final SubscribeToIoTCoreOperationContext _SUBSCRIBE_TO_IOT_CORE_OPERATION_CONTEXT = new SubscribeToIoTCoreOperationContext(); + public static final String SUBSCRIBE_TO_IOT_CORE_CONNECTION_STATUS = SERVICE_NAMESPACE + "#" + "SubscribeToIoTCoreConnectionStatus"; + + private static final SubscribeToIoTCoreConnectionStatusOperationContext _SUBSCRIBE_TO_IOT_CORE_CONNECTION_STATUS_OPERATION_CONTEXT = new SubscribeToIoTCoreConnectionStatusOperationContext(); + public static final String SUBSCRIBE_TO_TOPIC = SERVICE_NAMESPACE + "#" + "SubscribeToTopic"; private static final SubscribeToTopicOperationContext _SUBSCRIBE_TO_TOPIC_OPERATION_CONTEXT = new SubscribeToTopicOperationContext(); @@ -345,6 +354,8 @@ public class GreengrassCoreIPCServiceModel extends EventStreamRPCServiceModel { SERVICE_OPERATION_SET.add(SUBSCRIBE_TO_CONFIGURATION_UPDATE); SERVICE_OPERATION_MODEL_MAP.put(SUBSCRIBE_TO_IOT_CORE, _SUBSCRIBE_TO_IOT_CORE_OPERATION_CONTEXT); SERVICE_OPERATION_SET.add(SUBSCRIBE_TO_IOT_CORE); + SERVICE_OPERATION_MODEL_MAP.put(SUBSCRIBE_TO_IOT_CORE_CONNECTION_STATUS, _SUBSCRIBE_TO_IOT_CORE_CONNECTION_STATUS_OPERATION_CONTEXT); + SERVICE_OPERATION_SET.add(SUBSCRIBE_TO_IOT_CORE_CONNECTION_STATUS); SERVICE_OPERATION_MODEL_MAP.put(SUBSCRIBE_TO_TOPIC, _SUBSCRIBE_TO_TOPIC_OPERATION_CONTEXT); SERVICE_OPERATION_SET.add(SUBSCRIBE_TO_TOPIC); SERVICE_OPERATION_MODEL_MAP.put(SUBSCRIBE_TO_VALIDATE_CONFIGURATION_UPDATES, _SUBSCRIBE_TO_VALIDATE_CONFIGURATION_UPDATES_OPERATION_CONTEXT); @@ -377,6 +388,8 @@ public class GreengrassCoreIPCServiceModel extends EventStreamRPCServiceModel { SERVICE_OBJECT_MODEL_MAP.put(ConfigurationValidityReport.APPLICATION_MODEL_TYPE, ConfigurationValidityReport.class); SERVICE_OBJECT_MODEL_MAP.put(ConfigurationValidityStatus.APPLICATION_MODEL_TYPE, ConfigurationValidityStatus.class); SERVICE_OBJECT_MODEL_MAP.put(ConflictError.APPLICATION_MODEL_TYPE, ConflictError.class); + SERVICE_OBJECT_MODEL_MAP.put(ConnectionStatus.APPLICATION_MODEL_TYPE, ConnectionStatus.class); + SERVICE_OBJECT_MODEL_MAP.put(ConnectionStatusEvent.APPLICATION_MODEL_TYPE, ConnectionStatusEvent.class); SERVICE_OBJECT_MODEL_MAP.put(CreateDebugPasswordRequest.APPLICATION_MODEL_TYPE, CreateDebugPasswordRequest.class); SERVICE_OBJECT_MODEL_MAP.put(CreateDebugPasswordResponse.APPLICATION_MODEL_TYPE, CreateDebugPasswordResponse.class); SERVICE_OBJECT_MODEL_MAP.put(CreateLocalDeploymentRequest.APPLICATION_MODEL_TYPE, CreateLocalDeploymentRequest.class); @@ -409,6 +422,7 @@ public class GreengrassCoreIPCServiceModel extends EventStreamRPCServiceModel { SERVICE_OBJECT_MODEL_MAP.put(InvalidCredentialError.APPLICATION_MODEL_TYPE, InvalidCredentialError.class); SERVICE_OBJECT_MODEL_MAP.put(InvalidRecipeDirectoryPathError.APPLICATION_MODEL_TYPE, InvalidRecipeDirectoryPathError.class); SERVICE_OBJECT_MODEL_MAP.put(InvalidTokenError.APPLICATION_MODEL_TYPE, InvalidTokenError.class); + SERVICE_OBJECT_MODEL_MAP.put(IoTCoreConnectionStatusEvent.APPLICATION_MODEL_TYPE, IoTCoreConnectionStatusEvent.class); SERVICE_OBJECT_MODEL_MAP.put(IoTCoreMessage.APPLICATION_MODEL_TYPE, IoTCoreMessage.class); SERVICE_OBJECT_MODEL_MAP.put(JsonMessage.APPLICATION_MODEL_TYPE, JsonMessage.class); SERVICE_OBJECT_MODEL_MAP.put(LifecycleState.APPLICATION_MODEL_TYPE, LifecycleState.class); @@ -458,6 +472,8 @@ public class GreengrassCoreIPCServiceModel extends EventStreamRPCServiceModel { SERVICE_OBJECT_MODEL_MAP.put(SubscribeToComponentUpdatesResponse.APPLICATION_MODEL_TYPE, SubscribeToComponentUpdatesResponse.class); SERVICE_OBJECT_MODEL_MAP.put(SubscribeToConfigurationUpdateRequest.APPLICATION_MODEL_TYPE, SubscribeToConfigurationUpdateRequest.class); SERVICE_OBJECT_MODEL_MAP.put(SubscribeToConfigurationUpdateResponse.APPLICATION_MODEL_TYPE, SubscribeToConfigurationUpdateResponse.class); + SERVICE_OBJECT_MODEL_MAP.put(SubscribeToIoTCoreConnectionStatusRequest.APPLICATION_MODEL_TYPE, SubscribeToIoTCoreConnectionStatusRequest.class); + SERVICE_OBJECT_MODEL_MAP.put(SubscribeToIoTCoreConnectionStatusResponse.APPLICATION_MODEL_TYPE, SubscribeToIoTCoreConnectionStatusResponse.class); SERVICE_OBJECT_MODEL_MAP.put(SubscribeToIoTCoreRequest.APPLICATION_MODEL_TYPE, SubscribeToIoTCoreRequest.class); SERVICE_OBJECT_MODEL_MAP.put(SubscribeToIoTCoreResponse.APPLICATION_MODEL_TYPE, SubscribeToIoTCoreResponse.class); SERVICE_OBJECT_MODEL_MAP.put(SubscribeToTopicRequest.APPLICATION_MODEL_TYPE, SubscribeToTopicRequest.class); @@ -607,6 +623,11 @@ public static SubscribeToIoTCoreOperationContext getSubscribeToIoTCoreModelConte return _SUBSCRIBE_TO_IOT_CORE_OPERATION_CONTEXT; } + public static SubscribeToIoTCoreConnectionStatusOperationContext getSubscribeToIoTCoreConnectionStatusModelContext( + ) { + return _SUBSCRIBE_TO_IOT_CORE_CONNECTION_STATUS_OPERATION_CONTEXT; + } + public static SubscribeToTopicOperationContext getSubscribeToTopicModelContext() { return _SUBSCRIBE_TO_TOPIC_OPERATION_CONTEXT; } diff --git a/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/SubscribeToIoTCoreConnectionStatusOperationContext.java b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/SubscribeToIoTCoreConnectionStatusOperationContext.java new file mode 100644 index 000000000..e866194ba --- /dev/null +++ b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/SubscribeToIoTCoreConnectionStatusOperationContext.java @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + * + * This file is generated. + */ + +package software.amazon.awssdk.aws.greengrass; + +import java.lang.Class; +import java.lang.Override; +import java.lang.String; +import java.util.Optional; +import software.amazon.awssdk.aws.greengrass.model.IoTCoreConnectionStatusEvent; +import software.amazon.awssdk.aws.greengrass.model.SubscribeToIoTCoreConnectionStatusRequest; +import software.amazon.awssdk.aws.greengrass.model.SubscribeToIoTCoreConnectionStatusResponse; +import software.amazon.awssdk.eventstreamrpc.EventStreamRPCServiceModel; +import software.amazon.awssdk.eventstreamrpc.OperationModelContext; +import software.amazon.awssdk.eventstreamrpc.model.EventStreamJsonMessage; + +/** + * Subscribe to the connection status of the IoT Core MQTT connection. + */ +public class SubscribeToIoTCoreConnectionStatusOperationContext implements OperationModelContext { + @Override + public EventStreamRPCServiceModel getServiceModel() { + return GreengrassCoreIPCServiceModel.getInstance(); + } + + @Override + public String getOperationName() { + return GreengrassCoreIPCServiceModel.SUBSCRIBE_TO_IOT_CORE_CONNECTION_STATUS; + } + + @Override + public Class getRequestTypeClass() { + return SubscribeToIoTCoreConnectionStatusRequest.class; + } + + @Override + public Class getResponseTypeClass() { + return SubscribeToIoTCoreConnectionStatusResponse.class; + } + + @Override + public String getRequestApplicationModelType() { + return SubscribeToIoTCoreConnectionStatusRequest.APPLICATION_MODEL_TYPE; + } + + @Override + public String getResponseApplicationModelType() { + return SubscribeToIoTCoreConnectionStatusResponse.APPLICATION_MODEL_TYPE; + } + + @Override + public Optional> getStreamingRequestTypeClass() { + return Optional.empty(); + } + + @Override + public Optional> getStreamingResponseTypeClass() { + return Optional.of(IoTCoreConnectionStatusEvent.class); + } + + public Optional getStreamingRequestApplicationModelType() { + return Optional.empty(); + } + + @Override + public Optional getStreamingResponseApplicationModelType() { + return Optional.of(IoTCoreConnectionStatusEvent.APPLICATION_MODEL_TYPE); + } +} diff --git a/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/ConnectionStatus.java b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/ConnectionStatus.java new file mode 100644 index 000000000..30384191a --- /dev/null +++ b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/ConnectionStatus.java @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + * + * This file is generated. + */ + +package software.amazon.awssdk.aws.greengrass.model; + +import com.google.gson.annotations.SerializedName; +import java.lang.Override; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; +import software.amazon.awssdk.eventstreamrpc.model.EventStreamJsonMessage; + +public enum ConnectionStatus implements EventStreamJsonMessage { + @SerializedName("CONNECTED") + CONNECTED("CONNECTED"), + + @SerializedName("DISCONNECTED") + DISCONNECTED("DISCONNECTED"); + + public static final String APPLICATION_MODEL_TYPE = "aws.greengrass#ConnectionStatus"; + + private static final Map lookup = new HashMap(); + + static { + for (ConnectionStatus value:ConnectionStatus.values()) { + lookup.put(value.getValue(), value); + } + } + + String value; + + ConnectionStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String getApplicationModelType() { + return APPLICATION_MODEL_TYPE; + } + + public static ConnectionStatus get(String value) { + return lookup.get(value); + } +} diff --git a/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/ConnectionStatusEvent.java b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/ConnectionStatusEvent.java new file mode 100644 index 000000000..ecdf5625c --- /dev/null +++ b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/ConnectionStatusEvent.java @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + * + * This file is generated. + */ + +package software.amazon.awssdk.aws.greengrass.model; + +import com.google.gson.annotations.Expose; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import software.amazon.awssdk.eventstreamrpc.model.EventStreamJsonMessage; + +public class ConnectionStatusEvent implements EventStreamJsonMessage { + public static final String APPLICATION_MODEL_TYPE = "aws.greengrass#ConnectionStatusEvent"; + + public static final ConnectionStatusEvent VOID; + + static { + VOID = new ConnectionStatusEvent() { + @Override + public boolean isVoid() { + return true; + } + }; + } + + @Expose( + serialize = true, + deserialize = true + ) + private Optional status; + + public ConnectionStatusEvent() { + this.status = Optional.empty(); + } + + public ConnectionStatus getStatus() { + if (status.isPresent()) { + return ConnectionStatus.get(status.get()); + } + return null; + } + + /** + * The connection status. + */ + public String getStatusAsString() { + if (status.isPresent()) { + return status.get(); + } + return null; + } + + /** + * The connection status. + */ + public void setStatus(final String status) { + this.status = Optional.ofNullable(status); + } + + /** + * The connection status. + */ + public ConnectionStatusEvent withStatus(final String status) { + setStatus(status); + return this; + } + + /** + * The connection status. + */ + public void setStatus(final ConnectionStatus status) { + this.status = Optional.ofNullable(status.getValue()); + } + + /** + * The connection status. + */ + public ConnectionStatusEvent withStatus(final ConnectionStatus status) { + setStatus(status); + return this; + } + + @Override + public String getApplicationModelType() { + return APPLICATION_MODEL_TYPE; + } + + @Override + public boolean equals(Object rhs) { + if (rhs == null) return false; + if (!(rhs instanceof ConnectionStatusEvent)) return false; + if (this == rhs) return true; + final ConnectionStatusEvent other = (ConnectionStatusEvent)rhs; + boolean isEquals = true; + isEquals = isEquals && this.status.equals(other.status); + return isEquals; + } + + @Override + public int hashCode() { + return Objects.hash(status); + } +} diff --git a/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/IoTCoreConnectionStatusEvent.java b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/IoTCoreConnectionStatusEvent.java new file mode 100644 index 000000000..232284651 --- /dev/null +++ b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/IoTCoreConnectionStatusEvent.java @@ -0,0 +1,129 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + * + * This file is generated. + */ + +package software.amazon.awssdk.aws.greengrass.model; + +import com.google.gson.annotations.Expose; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import java.util.function.Consumer; +import java.util.function.Predicate; +import software.amazon.awssdk.eventstreamrpc.model.EventStreamJsonMessage; + +public class IoTCoreConnectionStatusEvent implements EventStreamJsonMessage { + public static final String APPLICATION_MODEL_TYPE = "aws.greengrass#IoTCoreConnectionStatusEvent"; + + private transient UnionMember setUnionMember; + + @Expose( + serialize = true, + deserialize = true + ) + private Optional connectionStatusEvent; + + public IoTCoreConnectionStatusEvent() { + this.connectionStatusEvent = Optional.empty(); + } + + public ConnectionStatusEvent getConnectionStatusEvent() { + if (connectionStatusEvent.isPresent() && (setUnionMember == UnionMember.CONNECTION_STATUS_EVENT)) { + return connectionStatusEvent.get(); + } + return null; + } + + public void setConnectionStatusEvent(final ConnectionStatusEvent connectionStatusEvent) { + if (setUnionMember != null) { + setUnionMember.nullify(this); + } + this.connectionStatusEvent = Optional.of(connectionStatusEvent); + this.setUnionMember = UnionMember.CONNECTION_STATUS_EVENT; + } + + public IoTCoreConnectionStatusEvent withConnectionStatusEvent( + final ConnectionStatusEvent connectionStatusEvent) { + setConnectionStatusEvent(connectionStatusEvent); + return this; + } + + /** + * Returns an indicator for which enum member is set. Can be used to convert to proper type. + */ + public UnionMember getSetUnionMember() { + return setUnionMember; + } + + @Override + public String getApplicationModelType() { + return APPLICATION_MODEL_TYPE; + } + + public void selfDesignateSetUnionMember() { + int setCount = 0; + UnionMember[] members = UnionMember.values(); + for (int memberIdx = 0; memberIdx < UnionMember.values().length; ++memberIdx) { + if (members[memberIdx].isPresent(this)) { + ++setCount; + this.setUnionMember = members[memberIdx]; + } + } + // only bad outcome here is if there's more than one member set. It's possible for none to be set + if (setCount > 1) { + throw new IllegalArgumentException("More than one union member set for type: " + getApplicationModelType()); + } + } + + @Override + public void postFromJson() { + selfDesignateSetUnionMember(); + } + + @Override + public boolean equals(Object rhs) { + if (rhs == null) return false; + if (!(rhs instanceof IoTCoreConnectionStatusEvent)) return false; + if (this == rhs) return true; + final IoTCoreConnectionStatusEvent other = (IoTCoreConnectionStatusEvent)rhs; + boolean isEquals = true; + isEquals = isEquals && this.connectionStatusEvent.equals(other.connectionStatusEvent); + isEquals = isEquals && this.setUnionMember.equals(other.setUnionMember); + return isEquals; + } + + @Override + public int hashCode() { + return Objects.hash(connectionStatusEvent, setUnionMember); + } + + public enum UnionMember { + CONNECTION_STATUS_EVENT("CONNECTION_STATUS_EVENT", (software.amazon.awssdk.aws.greengrass.model.IoTCoreConnectionStatusEvent obj) -> obj.connectionStatusEvent = Optional.empty(), (software.amazon.awssdk.aws.greengrass.model.IoTCoreConnectionStatusEvent obj) -> obj.connectionStatusEvent != null && obj.connectionStatusEvent.isPresent()); + + private String fieldName; + + private Consumer nullifier; + + private Predicate isPresent; + + UnionMember(String fieldName, Consumer nullifier, + Predicate isPresent) { + this.fieldName = fieldName; + this.nullifier = nullifier; + this.isPresent = isPresent; + } + + void nullify(IoTCoreConnectionStatusEvent obj) { + nullifier.accept(obj); + } + + boolean isPresent(IoTCoreConnectionStatusEvent obj) { + return isPresent.test(obj); + } + } +} diff --git a/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/SubscribeToIoTCoreConnectionStatusRequest.java b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/SubscribeToIoTCoreConnectionStatusRequest.java new file mode 100644 index 000000000..fb20964cd --- /dev/null +++ b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/SubscribeToIoTCoreConnectionStatusRequest.java @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + * + * This file is generated. + */ + +package software.amazon.awssdk.aws.greengrass.model; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; +import software.amazon.awssdk.eventstreamrpc.model.EventStreamJsonMessage; + +public class SubscribeToIoTCoreConnectionStatusRequest implements EventStreamJsonMessage { + public static final String APPLICATION_MODEL_TYPE = "aws.greengrass#SubscribeToIoTCoreConnectionStatusRequest"; + + public static final SubscribeToIoTCoreConnectionStatusRequest VOID; + + static { + VOID = new SubscribeToIoTCoreConnectionStatusRequest() { + @Override + public boolean isVoid() { + return true; + } + }; + } + + public SubscribeToIoTCoreConnectionStatusRequest() { + } + + @Override + public String getApplicationModelType() { + return APPLICATION_MODEL_TYPE; + } + + @Override + public boolean equals(Object rhs) { + if (rhs == null) return false; + if (!(rhs instanceof SubscribeToIoTCoreConnectionStatusRequest)) return false; + if (this == rhs) return true; + final SubscribeToIoTCoreConnectionStatusRequest other = (SubscribeToIoTCoreConnectionStatusRequest)rhs; + boolean isEquals = true; + return isEquals; + } + + @Override + public int hashCode() { + return Objects.hash(); + } +} diff --git a/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/SubscribeToIoTCoreConnectionStatusResponse.java b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/SubscribeToIoTCoreConnectionStatusResponse.java new file mode 100644 index 000000000..c6e9e42f9 --- /dev/null +++ b/sdk/greengrass/greengrass-client/src/event-stream-rpc-java/model/software/amazon/awssdk/aws/greengrass/model/SubscribeToIoTCoreConnectionStatusResponse.java @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + * + * This file is generated. + */ + +package software.amazon.awssdk.aws.greengrass.model; + +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; +import software.amazon.awssdk.eventstreamrpc.model.EventStreamJsonMessage; + +public class SubscribeToIoTCoreConnectionStatusResponse implements EventStreamJsonMessage { + public static final String APPLICATION_MODEL_TYPE = "aws.greengrass#SubscribeToIoTCoreConnectionStatusResponse"; + + public static final SubscribeToIoTCoreConnectionStatusResponse VOID; + + static { + VOID = new SubscribeToIoTCoreConnectionStatusResponse() { + @Override + public boolean isVoid() { + return true; + } + }; + } + + public SubscribeToIoTCoreConnectionStatusResponse() { + } + + @Override + public String getApplicationModelType() { + return APPLICATION_MODEL_TYPE; + } + + @Override + public boolean equals(Object rhs) { + if (rhs == null) return false; + if (!(rhs instanceof SubscribeToIoTCoreConnectionStatusResponse)) return false; + if (this == rhs) return true; + final SubscribeToIoTCoreConnectionStatusResponse other = (SubscribeToIoTCoreConnectionStatusResponse)rhs; + boolean isEquals = true; + return isEquals; + } + + @Override + public int hashCode() { + return Objects.hash(); + } +} From 23d497747ff988c0a4f5ce6f5276c40cebbe3bd3 Mon Sep 17 00:00:00 2001 From: Vera Xia Date: Wed, 24 Jun 2026 16:22:34 -0700 Subject: [PATCH 2/3] builder update --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8f5a4661b..9477fd2e4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ on: - 'docs' env: - BUILDER_VERSION: v0.9.84 + BUILDER_VERSION: v0.9.94 BUILDER_SOURCE: releases BUILDER_HOST: https://d19elf31gohf1l.cloudfront.net PACKAGE_NAME: aws-iot-device-sdk-java-v2 From 42b466c55b7d84419e34d16ae87d1b49b6cf6c1e Mon Sep 17 00:00:00 2001 From: Vera Xia Date: Mon, 29 Jun 2026 15:42:00 -0700 Subject: [PATCH 3/3] update builder version --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9477fd2e4..bd93b9576 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ on: - 'docs' env: - BUILDER_VERSION: v0.9.94 + BUILDER_VERSION: v0.9.95 BUILDER_SOURCE: releases BUILDER_HOST: https://d19elf31gohf1l.cloudfront.net PACKAGE_NAME: aws-iot-device-sdk-java-v2