From b9550d6b41a56a57e64f871eda7e9a419b114b15 Mon Sep 17 00:00:00 2001 From: Michael Graeb Date: Wed, 2 Jan 2019 17:07:02 -0800 Subject: [PATCH] Fine-tuning names in service models. --- awsiot/iotjobs.py | 94 ++++++++++++++-------------- awsiot/iotshadow.py | 146 ++++++++++++++++++++++---------------------- samples/jobs.py | 26 ++++---- samples/shadow.py | 42 ++++++------- 4 files changed, 154 insertions(+), 154 deletions(-) diff --git a/awsiot/iotjobs.py b/awsiot/iotjobs.py index 6b6fecb0..e59d9eac 100644 --- a/awsiot/iotjobs.py +++ b/awsiot/iotjobs.py @@ -21,7 +21,7 @@ class IotJobsClient(awsiot.MqttServiceClient): - def publish_describe(self, request): + def publish_describe_job_execution(self, request): # type: (DescribeJobExecutionRequest) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/jobs-api.html#mqtt-describejobexecution @@ -42,7 +42,7 @@ def publish_describe(self, request): topic='$aws/things/{0.thing_name}/jobs/{0.job_id}/get'.format(request), payload=request.to_payload()) - def publish_get_pending(self, request): + def publish_get_pending_job_executions(self, request): # type: (GetPendingJobExecutionsRequest) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/jobs-api.html#mqtt-getpendingjobexecutions @@ -61,7 +61,7 @@ def publish_get_pending(self, request): topic='$aws/things/{0.thing_name}/jobs/get'.format(request), payload=request.to_payload()) - def publish_start_next_pending(self, request): + def publish_start_next_pending_job_execution(self, request): # type: (StartNextPendingJobExecutionRequest) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/jobs-api.html#mqtt-startnextpendingjobexecution @@ -80,7 +80,7 @@ def publish_start_next_pending(self, request): topic='$aws/things/{0.thing_name}/jobs/start-next'.format(request), payload=request.to_payload()) - def publish_update(self, request): + def publish_update_job_execution(self, request): # type: (UpdateJobExecutionRequest) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/jobs-api.html#mqtt-updatejobexecution @@ -101,7 +101,7 @@ def publish_update(self, request): topic='$aws/things/{0.thing_name}/jobs/{0.job_id}/update'.format(request), payload=request.to_payload()) - def subscribe_to_describe_accepted(self, request, on_accepted): + def subscribe_to_describe_job_execution_accepted(self, request, on_accepted): # type: (DescribeJobExecutionSubscriptionRequest, typing.Callable[[DescribeJobExecutionResponse], None]) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/jobs-api.html#mqtt-describejobexecution @@ -129,7 +129,7 @@ def subscribe_to_describe_accepted(self, request, on_accepted): callback=on_accepted, payload_to_class_fn=DescribeJobExecutionResponse.from_payload) - def subscribe_to_describe_rejected(self, request, on_rejected): + def subscribe_to_describe_job_execution_rejected(self, request, on_rejected): # type: (DescribeJobExecutionSubscriptionRequest, typing.Callable[[RejectedError], None]) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/jobs-api.html#mqtt-describejobexecution @@ -157,33 +157,7 @@ def subscribe_to_describe_rejected(self, request, on_rejected): callback=on_rejected, payload_to_class_fn=RejectedError.from_payload) - def subscribe_to_executions_changed_events(self, request, on_job_executions_changed): - # type: (JobExecutionsChangedEventsSubscriptionRequest, typing.Callable[[JobExecutionsChangedEvent], None]) -> concurrent.futures.Future - """ - API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/jobs-api.html#mqtt-jobexecutionschanged - - Parameters: - request - `JobExecutionsChangedEventsSubscriptionRequest` instance. - on_job_executions_changed - Callback to invoke each time the on_job_executions_changed event is received. - The callback should take 1 argument of type `JobExecutionsChangedEvent`. - The callback is not expected to return anything. - - Returns a concurrent.futures.Future, whose result will be None if the - subscription is successful. The Future's result will be an exception - if the subscription is unsuccessful. - """ - if not request.thing_name: - raise ValueError("request.thing_name is required") - - if not on_job_executions_changed: - raise ValueError("on_job_executions_changed is required") - - return self._subscribe_operation( - topic='$aws/things/{0.thing_name}/jobs/notify'.format(request), - callback=on_job_executions_changed, - payload_to_class_fn=JobExecutionsChangedEvent.from_payload) - - def subscribe_to_get_pending_accepted(self, request, on_accepted): + def subscribe_to_get_pending_job_executions_accepted(self, request, on_accepted): # type: (GetPendingJobExecutionsSubscriptionRequest, typing.Callable[[GetPendingJobExecutionsResponse], None]) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/jobs-api.html#mqtt-getpendingjobexecutions @@ -209,7 +183,7 @@ def subscribe_to_get_pending_accepted(self, request, on_accepted): callback=on_accepted, payload_to_class_fn=GetPendingJobExecutionsResponse.from_payload) - def subscribe_to_get_pending_rejected(self, request, on_rejected): + def subscribe_to_get_pending_job_executions_rejected(self, request, on_rejected): # type: (GetPendingJobExecutionsSubscriptionRequest, typing.Callable[[RejectedError], None]) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/jobs-api.html#mqtt-getpendingjobexecutions @@ -235,14 +209,40 @@ def subscribe_to_get_pending_rejected(self, request, on_rejected): callback=on_rejected, payload_to_class_fn=RejectedError.from_payload) - def subscribe_to_next_changed_events(self, request, on_next_job_execution_changed): - # type: (NextJobExecutionChangedEventsSubscriptionRequest, typing.Callable[[NextJobExecutionChangedEvent], None]) -> concurrent.futures.Future + def subscribe_to_job_executions_changed_events(self, request, on_event): + # type: (JobExecutionsChangedSubscriptionRequest, typing.Callable[[JobExecutionsChangedEvent], None]) -> concurrent.futures.Future + """ + API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/jobs-api.html#mqtt-jobexecutionschanged + + Parameters: + request - `JobExecutionsChangedSubscriptionRequest` instance. + on_event - Callback to invoke each time the on_event event is received. + The callback should take 1 argument of type `JobExecutionsChangedEvent`. + The callback is not expected to return anything. + + Returns a concurrent.futures.Future, whose result will be None if the + subscription is successful. The Future's result will be an exception + if the subscription is unsuccessful. + """ + if not request.thing_name: + raise ValueError("request.thing_name is required") + + if not on_event: + raise ValueError("on_event is required") + + return self._subscribe_operation( + topic='$aws/things/{0.thing_name}/jobs/notify'.format(request), + callback=on_event, + payload_to_class_fn=JobExecutionsChangedEvent.from_payload) + + def subscribe_to_next_job_execution_changed_events(self, request, on_event): + # type: (NextJobExecutionChangedSubscriptionRequest, typing.Callable[[NextJobExecutionChangedEvent], None]) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/jobs-api.html#mqtt-nextjobexecutionchanged Parameters: - request - `NextJobExecutionChangedEventsSubscriptionRequest` instance. - on_next_job_execution_changed - Callback to invoke each time the on_next_job_execution_changed event is received. + request - `NextJobExecutionChangedSubscriptionRequest` instance. + on_event - Callback to invoke each time the on_event event is received. The callback should take 1 argument of type `NextJobExecutionChangedEvent`. The callback is not expected to return anything. @@ -253,15 +253,15 @@ def subscribe_to_next_changed_events(self, request, on_next_job_execution_change if not request.thing_name: raise ValueError("request.thing_name is required") - if not on_next_job_execution_changed: - raise ValueError("on_next_job_execution_changed is required") + if not on_event: + raise ValueError("on_event is required") return self._subscribe_operation( topic='$aws/things/{0.thing_name}/jobs/notify-next'.format(request), - callback=on_next_job_execution_changed, + callback=on_event, payload_to_class_fn=NextJobExecutionChangedEvent.from_payload) - def subscribe_to_start_next_pending_accepted(self, request, on_accepted): + def subscribe_to_start_next_pending_job_execution_accepted(self, request, on_accepted): # type: (StartNextPendingJobExecutionSubscriptionRequest, typing.Callable[[StartNextJobExecutionResponse], None]) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/jobs-api.html#mqtt-startnextpendingjobexecution @@ -287,7 +287,7 @@ def subscribe_to_start_next_pending_accepted(self, request, on_accepted): callback=on_accepted, payload_to_class_fn=StartNextJobExecutionResponse.from_payload) - def subscribe_to_start_next_pending_rejected(self, request, on_rejected): + def subscribe_to_start_next_pending_job_execution_rejected(self, request, on_rejected): # type: (StartNextPendingJobExecutionSubscriptionRequest, typing.Callable[[RejectedError], None]) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/jobs-api.html#mqtt-startnextpendingjobexecution @@ -313,7 +313,7 @@ def subscribe_to_start_next_pending_rejected(self, request, on_rejected): callback=on_rejected, payload_to_class_fn=RejectedError.from_payload) - def subscribe_to_update_accepted(self, request, on_accepted): + def subscribe_to_update_job_execution_accepted(self, request, on_accepted): # type: (UpdateJobExecutionSubscriptionRequest, typing.Callable[[UpdateJobExecutionResponse], None]) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/jobs-api.html#mqtt-updatejobexecution @@ -341,7 +341,7 @@ def subscribe_to_update_accepted(self, request, on_accepted): callback=on_accepted, payload_to_class_fn=UpdateJobExecutionResponse.from_payload) - def subscribe_to_update_rejected(self, request, on_rejected): + def subscribe_to_update_job_execution_rejected(self, request, on_rejected): # type: (UpdateJobExecutionSubscriptionRequest, typing.Callable[[RejectedError], None]) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/jobs-api.html#mqtt-updatejobexecution @@ -605,7 +605,7 @@ def from_payload(cls, payload): new.timestamp = datetime.datetime.fromtimestamp(val) return new -class JobExecutionsChangedEventsSubscriptionRequest(awsiot.ModeledClass): +class JobExecutionsChangedSubscriptionRequest(awsiot.ModeledClass): __slots__ = ['thing_name'] def __init__(self, thing_name=None): @@ -642,7 +642,7 @@ def from_payload(cls, payload): new.timestamp = datetime.datetime.fromtimestamp(val) return new -class NextJobExecutionChangedEventsSubscriptionRequest(awsiot.ModeledClass): +class NextJobExecutionChangedSubscriptionRequest(awsiot.ModeledClass): __slots__ = ['thing_name'] def __init__(self, thing_name=None): diff --git a/awsiot/iotshadow.py b/awsiot/iotshadow.py index b380ba31..3f20dea2 100644 --- a/awsiot/iotshadow.py +++ b/awsiot/iotshadow.py @@ -21,7 +21,7 @@ class IotShadowClient(awsiot.MqttServiceClient): - def publish_delete(self, request): + def publish_delete_shadow(self, request): # type: (DeleteShadowRequest) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#delete-pub-sub-topic @@ -40,7 +40,7 @@ def publish_delete(self, request): topic='$aws/things/{0.thing_name}/shadow/delete'.format(request), payload=None) - def publish_get(self, request): + def publish_get_shadow(self, request): # type: (GetShadowRequest) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#get-pub-sub-topic @@ -59,7 +59,7 @@ def publish_get(self, request): topic='$aws/things/{0.thing_name}/shadow/get'.format(request), payload=None) - def publish_update(self, request): + def publish_update_shadow(self, request): # type: (UpdateShadowRequest) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#update-pub-sub-topic @@ -78,7 +78,7 @@ def publish_update(self, request): topic='$aws/things/{0.thing_name}/shadow/update'.format(request), payload=request.to_payload()) - def subscribe_to_delete_accepted(self, request, on_accepted): + def subscribe_to_delete_shadow_accepted(self, request, on_accepted): # type: (DeleteShadowSubscriptionRequest, typing.Callable[[DeleteShadowResponse], None]) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#delete-accepted-pub-sub-topic @@ -104,7 +104,7 @@ def subscribe_to_delete_accepted(self, request, on_accepted): callback=on_accepted, payload_to_class_fn=DeleteShadowResponse.from_payload) - def subscribe_to_delete_rejected(self, request, on_rejected): + def subscribe_to_delete_shadow_rejected(self, request, on_rejected): # type: (DeleteShadowSubscriptionRequest, typing.Callable[[ErrorResponse], None]) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#delete-rejected-pub-sub-topic @@ -130,33 +130,7 @@ def subscribe_to_delete_rejected(self, request, on_rejected): callback=on_rejected, payload_to_class_fn=ErrorResponse.from_payload) - def subscribe_to_delta_events(self, request, on_delta): - # type: (ShadowDeltaEventsSubscriptionRequest, typing.Callable[[ShadowDeltaEvent], None]) -> concurrent.futures.Future - """ - API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#update-delta-pub-sub-topic - - Parameters: - request - `ShadowDeltaEventsSubscriptionRequest` instance. - on_delta - Callback to invoke each time the on_delta event is received. - The callback should take 1 argument of type `ShadowDeltaEvent`. - The callback is not expected to return anything. - - Returns a concurrent.futures.Future, whose result will be None if the - subscription is successful. The Future's result will be an exception - if the subscription is unsuccessful. - """ - if not request.thing_name: - raise ValueError("request.thing_name is required") - - if not on_delta: - raise ValueError("on_delta is required") - - return self._subscribe_operation( - topic='$aws/things/{0.thing_name}/shadow/update/delta'.format(request), - callback=on_delta, - payload_to_class_fn=ShadowDeltaEvent.from_payload) - - def subscribe_to_get_accepted(self, request, on_accepted): + def subscribe_to_get_shadow_accepted(self, request, on_accepted): # type: (GetShadowSubscriptionRequest, typing.Callable[[GetShadowResponse], None]) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#get-accepted-pub-sub-topic @@ -182,7 +156,7 @@ def subscribe_to_get_accepted(self, request, on_accepted): callback=on_accepted, payload_to_class_fn=GetShadowResponse.from_payload) - def subscribe_to_get_rejected(self, request, on_rejected): + def subscribe_to_get_shadow_rejected(self, request, on_rejected): # type: (GetShadowSubscriptionRequest, typing.Callable[[ErrorResponse], None]) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#get-rejected-pub-sub-topic @@ -208,15 +182,15 @@ def subscribe_to_get_rejected(self, request, on_rejected): callback=on_rejected, payload_to_class_fn=ErrorResponse.from_payload) - def subscribe_to_update_accepted(self, request, on_accepted): - # type: (UpdateShadowSubscriptionRequest, typing.Callable[[UpdateShadowResponse], None]) -> concurrent.futures.Future + def subscribe_to_shadow_delta_updated_events(self, request, on_event): + # type: (ShadowDeltaUpdatedSubscriptionRequest, typing.Callable[[ShadowDeltaUpdatedEvent], None]) -> concurrent.futures.Future """ - API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#update-accepted-pub-sub-topic + API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#update-delta-pub-sub-topic Parameters: - request - `UpdateShadowSubscriptionRequest` instance. - on_accepted - Callback to invoke each time the on_accepted event is received. - The callback should take 1 argument of type `UpdateShadowResponse`. + request - `ShadowDeltaUpdatedSubscriptionRequest` instance. + on_event - Callback to invoke each time the on_event event is received. + The callback should take 1 argument of type `ShadowDeltaUpdatedEvent`. The callback is not expected to return anything. Returns a concurrent.futures.Future, whose result will be None if the @@ -226,23 +200,23 @@ def subscribe_to_update_accepted(self, request, on_accepted): if not request.thing_name: raise ValueError("request.thing_name is required") - if not on_accepted: - raise ValueError("on_accepted is required") + if not on_event: + raise ValueError("on_event is required") return self._subscribe_operation( - topic='$aws/things/{0.thing_name}/shadow/update/accepted'.format(request), - callback=on_accepted, - payload_to_class_fn=UpdateShadowResponse.from_payload) + topic='$aws/things/{0.thing_name}/shadow/update/delta'.format(request), + callback=on_event, + payload_to_class_fn=ShadowDeltaUpdatedEvent.from_payload) - def subscribe_to_update_events(self, request, on_updated): - # type: (ShadowUpdateEventsSubscriptionRequest, typing.Callable[[ShadowUpdateEvent], None]) -> concurrent.futures.Future + def subscribe_to_shadow_updated_events(self, request, on_event): + # type: (ShadowUpdatedSubscriptionRequest, typing.Callable[[ShadowUpdatedEvent], None]) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#update-documents-pub-sub-topic Parameters: - request - `ShadowUpdateEventsSubscriptionRequest` instance. - on_updated - Callback to invoke each time the on_updated event is received. - The callback should take 1 argument of type `ShadowUpdateEvent`. + request - `ShadowUpdatedSubscriptionRequest` instance. + on_event - Callback to invoke each time the on_event event is received. + The callback should take 1 argument of type `ShadowUpdatedEvent`. The callback is not expected to return anything. Returns a concurrent.futures.Future, whose result will be None if the @@ -252,15 +226,41 @@ def subscribe_to_update_events(self, request, on_updated): if not request.thing_name: raise ValueError("request.thing_name is required") - if not on_updated: - raise ValueError("on_updated is required") + if not on_event: + raise ValueError("on_event is required") return self._subscribe_operation( topic='$aws/things/{0.thing_name}/shadow/update/documents'.format(request), - callback=on_updated, - payload_to_class_fn=ShadowUpdateEvent.from_payload) + callback=on_event, + payload_to_class_fn=ShadowUpdatedEvent.from_payload) + + def subscribe_to_update_shadow_accepted(self, request, on_accepted): + # type: (UpdateShadowSubscriptionRequest, typing.Callable[[UpdateShadowResponse], None]) -> concurrent.futures.Future + """ + API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#update-accepted-pub-sub-topic - def subscribe_to_update_rejected(self, request, on_rejected): + Parameters: + request - `UpdateShadowSubscriptionRequest` instance. + on_accepted - Callback to invoke each time the on_accepted event is received. + The callback should take 1 argument of type `UpdateShadowResponse`. + The callback is not expected to return anything. + + Returns a concurrent.futures.Future, whose result will be None if the + subscription is successful. The Future's result will be an exception + if the subscription is unsuccessful. + """ + if not request.thing_name: + raise ValueError("request.thing_name is required") + + if not on_accepted: + raise ValueError("on_accepted is required") + + return self._subscribe_operation( + topic='$aws/things/{0.thing_name}/shadow/update/accepted'.format(request), + callback=on_accepted, + payload_to_class_fn=UpdateShadowResponse.from_payload) + + def subscribe_to_update_shadow_rejected(self, request, on_rejected): # type: (UpdateShadowSubscriptionRequest, typing.Callable[[ErrorResponse], None]) -> concurrent.futures.Future """ API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html#update-rejected-pub-sub-topic @@ -390,7 +390,7 @@ def __init__(self, thing_name=None): # type: (typing.Optional[str]) -> None self.thing_name = thing_name # type: typing.Optional[str] -class ShadowDeltaEvent(awsiot.ModeledClass): +class ShadowDeltaUpdatedEvent(awsiot.ModeledClass): __slots__ = ['metadata', 'state', 'timestamp', 'version'] def __init__(self, metadata=None, state=None, timestamp=None, version=None): @@ -402,7 +402,7 @@ def __init__(self, metadata=None, state=None, timestamp=None, version=None): @classmethod def from_payload(cls, payload): - # type: (typing.Dict[str, typing.Any]) -> ShadowDeltaEvent + # type: (typing.Dict[str, typing.Any]) -> ShadowDeltaUpdatedEvent new = cls() val = payload.get('metadata') if val is not None: @@ -418,7 +418,7 @@ def from_payload(cls, payload): new.version = val return new -class ShadowDeltaEventsSubscriptionRequest(awsiot.ModeledClass): +class ShadowDeltaUpdatedSubscriptionRequest(awsiot.ModeledClass): __slots__ = ['thing_name'] def __init__(self, thing_name=None): @@ -498,38 +498,31 @@ def from_payload(cls, payload): new.reported = val return new -class ShadowUpdateEvent(awsiot.ModeledClass): +class ShadowUpdatedEvent(awsiot.ModeledClass): __slots__ = ['current', 'previous', 'timestamp'] def __init__(self, current=None, previous=None, timestamp=None): - # type: (typing.Optional[ShadowUpdateSnapshot], typing.Optional[ShadowUpdateSnapshot], typing.Optional[datetime.datetime]) -> None - self.current = current # type: typing.Optional[ShadowUpdateSnapshot] - self.previous = previous # type: typing.Optional[ShadowUpdateSnapshot] + # type: (typing.Optional[ShadowUpdatedSnapshot], typing.Optional[ShadowUpdatedSnapshot], typing.Optional[datetime.datetime]) -> None + self.current = current # type: typing.Optional[ShadowUpdatedSnapshot] + self.previous = previous # type: typing.Optional[ShadowUpdatedSnapshot] self.timestamp = timestamp # type: typing.Optional[datetime.datetime] @classmethod def from_payload(cls, payload): - # type: (typing.Dict[str, typing.Any]) -> ShadowUpdateEvent + # type: (typing.Dict[str, typing.Any]) -> ShadowUpdatedEvent new = cls() val = payload.get('current') if val is not None: - new.current = ShadowUpdateSnapshot.from_payload(val) + new.current = ShadowUpdatedSnapshot.from_payload(val) val = payload.get('previous') if val is not None: - new.previous = ShadowUpdateSnapshot.from_payload(val) + new.previous = ShadowUpdatedSnapshot.from_payload(val) val = payload.get('timestamp') if val is not None: new.timestamp = datetime.datetime.fromtimestamp(val) return new -class ShadowUpdateEventsSubscriptionRequest(awsiot.ModeledClass): - __slots__ = ['thing_name'] - - def __init__(self, thing_name=None): - # type: (typing.Optional[str]) -> None - self.thing_name = thing_name # type: typing.Optional[str] - -class ShadowUpdateSnapshot(awsiot.ModeledClass): +class ShadowUpdatedSnapshot(awsiot.ModeledClass): __slots__ = ['metadata', 'state', 'version'] def __init__(self, metadata=None, state=None, version=None): @@ -540,7 +533,7 @@ def __init__(self, metadata=None, state=None, version=None): @classmethod def from_payload(cls, payload): - # type: (typing.Dict[str, typing.Any]) -> ShadowUpdateSnapshot + # type: (typing.Dict[str, typing.Any]) -> ShadowUpdatedSnapshot new = cls() val = payload.get('metadata') if val is not None: @@ -553,6 +546,13 @@ def from_payload(cls, payload): new.version = val return new +class ShadowUpdatedSubscriptionRequest(awsiot.ModeledClass): + __slots__ = ['thing_name'] + + def __init__(self, thing_name=None): + # type: (typing.Optional[str]) -> None + self.thing_name = thing_name # type: typing.Optional[str] + class UpdateShadowRequest(awsiot.ModeledClass): __slots__ = ['client_token', 'state', 'thing_name', 'version'] diff --git a/samples/jobs.py b/samples/jobs.py index 94e6da6e..a3e68acd 100644 --- a/samples/jobs.py +++ b/samples/jobs.py @@ -102,8 +102,8 @@ def try_start_next_job(): print("Publishing request to start next job...") request = iotjobs.StartNextPendingJobExecutionRequest(thing_name=args.thing_name) - publish_future = jobs_client.publish_start_next_pending(request) - publish_future.add_done_callback(on_publish_start_next_pending) + publish_future = jobs_client.publish_start_next_pending_job_execution(request) + publish_future.add_done_callback(on_publish_start_next_pending_job_execution) def done_working_on_job(): with locked_data.lock: @@ -159,7 +159,7 @@ def on_next_job_execution_changed(event): except Exception as e: exit(e) -def on_publish_start_next_pending(future): +def on_publish_start_next_pending_job_execution(future): # type: (futures.Future) -> None try: future.result() # raises exception if publish failed @@ -205,13 +205,13 @@ def job_thread_fn(job_id, job_document): thing_name=args.thing_name, job_id=job_id, status=iotjobs.JobStatus.SUCCEEDED) - publish_future = jobs_client.publish_update(request) - publish_future.add_done_callback(on_publish_update) + publish_future = jobs_client.publish_update_job_execution(request) + publish_future.add_done_callback(on_publish_update_job_execution) except Exception as e: exit(e) -def on_publish_update(future): +def on_publish_update_job_execution(future): # type: (futures.Future) -> None try: future.result() # raises exception if publish failed @@ -278,12 +278,12 @@ def on_update_job_execution_rejected(rejected): # Note that is **is** important to wait for "accepted/rejected" subscriptions # to succeed before publishing the corresponding "request". print("Subscribing to Next Changed events...") - changed_subscription_request = iotjobs.NextJobExecutionChangedEventsSubscriptionRequest( + changed_subscription_request = iotjobs.NextJobExecutionChangedSubscriptionRequest( thing_name=args.thing_name) - subscribed_future = jobs_client.subscribe_to_next_changed_events( + subscribed_future = jobs_client.subscribe_to_next_job_execution_changed_events( request=changed_subscription_request, - on_next_job_execution_changed=on_next_job_execution_changed) + on_event=on_next_job_execution_changed) # Wait for subscription to succeed subscribed_future.result() @@ -291,11 +291,11 @@ def on_update_job_execution_rejected(rejected): print("Subscribing to Start responses...") start_subscription_request = iotjobs.StartNextPendingJobExecutionSubscriptionRequest( thing_name=args.thing_name) - subscribed_accepted_future = jobs_client.subscribe_to_start_next_pending_accepted( + subscribed_accepted_future = jobs_client.subscribe_to_start_next_pending_job_execution_accepted( request=start_subscription_request, on_accepted=on_start_next_pending_job_execution_accepted) - subscribed_rejected_future = jobs_client.subscribe_to_start_next_pending_rejected( + subscribed_rejected_future = jobs_client.subscribe_to_start_next_pending_job_execution_rejected( request=start_subscription_request, on_rejected=on_start_next_pending_job_execution_rejected) @@ -310,11 +310,11 @@ def on_update_job_execution_rejected(rejected): thing_name=args.thing_name, job_id='+') - subscribed_accepted_future = jobs_client.subscribe_to_update_accepted( + subscribed_accepted_future = jobs_client.subscribe_to_update_job_execution_accepted( request=update_subscription_request, on_accepted=on_update_job_execution_accepted) - subscribed_rejected_future = jobs_client.subscribe_to_update_rejected( + subscribed_rejected_future = jobs_client.subscribe_to_update_job_execution_rejected( request=update_subscription_request, on_rejected=on_update_job_execution_rejected) diff --git a/samples/shadow.py b/samples/shadow.py index 58579750..a2db2418 100644 --- a/samples/shadow.py +++ b/samples/shadow.py @@ -93,7 +93,7 @@ def on_disconnected(return_code): # Attempt to reconnect return True -def on_get_accepted(response): +def on_get_shadow_accepted(response): # type: (iotshadow.GetShadowResponse) -> None try: print("Finished getting initial shadow state.") @@ -125,7 +125,7 @@ def on_get_accepted(response): except Exception as e: exit("Error getting shadow: {}".format(repr(e))) -def on_get_rejected(error): +def on_get_shadow_rejected(error): # type: (iotshadow.ErrorResponse) -> None if error.code == 404: print("Thing has no shadow document. Creating with defaults...") @@ -134,8 +134,8 @@ def on_get_rejected(error): exit("Get request was rejected. code:{} message:'{}'".format( error.code, error.message)) -def on_delta_event(delta): - # type: (iotshadow.ShadowDeltaEvent) -> None +def on_shadow_delta_updated(delta): + # type: (iotshadow.ShadowDeltaUpdatedEvent) -> None try: print("Received shadow delta event.") if delta.state and (shadow_property in delta.state): @@ -153,7 +153,7 @@ def on_delta_event(delta): except Exception as e: exit("Error processing shadow delta: {}".format(repr(e))) -def on_publish_update(future): +def on_publish_update_shadow(future): #type: (futures.Future) -> None try: future.result() @@ -161,12 +161,12 @@ def on_publish_update(future): except Exception as e: exit("Failed to publish update request: {}".format(repr(e))) -def on_update_accepted(response): +def on_update_shadow_accepted(response): # type: (iotshadow.UpdateShadowResponse) -> None print("Finished updating reported shadow value to '{}'.".format(response.state.reported[shadow_property])) print("Enter desired value: ") # remind user they can input new values -def on_update_rejected(error): +def on_update_shadow_rejected(error): # type: (iotshadow.ErrorResponse) -> None exit("Update request was rejected. code:{} message:'{}'".format( error.code, error.message)) @@ -197,8 +197,8 @@ def change_shadow_value(value): desired={ shadow_property: value }, ) ) - future = shadow_client.publish_update(request) - future.add_done_callback(on_publish_update) + future = shadow_client.publish_update_shadow(request) + future.add_done_callback(on_publish_update_shadow) except Exception as e: exit("Error issuing shadow update: {}".format(repr(e))) @@ -269,34 +269,34 @@ def user_input_thread_fn(): # Note that is **is** important to wait for "accepted/rejected" subscriptions # to succeed before publishing the corresponding "request". print("Subscribing to Delta events...") - delta_subscribed_future = shadow_client.subscribe_to_delta_events( - request=iotshadow.ShadowDeltaEventsSubscriptionRequest(args.thing_name), - on_delta=on_delta_event) + delta_subscribed_future = shadow_client.subscribe_to_shadow_delta_updated_events( + request=iotshadow.ShadowDeltaUpdatedSubscriptionRequest(args.thing_name), + on_event=on_shadow_delta_updated) # Wait for subscription to succeed delta_subscribed_future.result() print("Subscribing to Update responses...") - update_accepted_subscribed_future = shadow_client.subscribe_to_update_accepted( + update_accepted_subscribed_future = shadow_client.subscribe_to_update_shadow_accepted( request=iotshadow.UpdateShadowSubscriptionRequest(args.thing_name), - on_accepted=on_update_accepted) + on_accepted=on_update_shadow_accepted) - update_rejected_subscribed_future = shadow_client.subscribe_to_update_rejected( + update_rejected_subscribed_future = shadow_client.subscribe_to_update_shadow_rejected( request=iotshadow.UpdateShadowSubscriptionRequest(args.thing_name), - on_rejected=on_update_rejected) + on_rejected=on_update_shadow_rejected) # Wait for subscriptions to succeed update_accepted_subscribed_future.result() update_rejected_subscribed_future.result() print("Subscribing to Get responses...") - get_accepted_subscribed_future = shadow_client.subscribe_to_get_accepted( + get_accepted_subscribed_future = shadow_client.subscribe_to_get_shadow_accepted( request=iotshadow.GetShadowSubscriptionRequest(args.thing_name), - on_accepted=on_get_accepted) + on_accepted=on_get_shadow_accepted) - get_rejected_subscribed_future = shadow_client.subscribe_to_get_rejected( + get_rejected_subscribed_future = shadow_client.subscribe_to_get_shadow_rejected( request=iotshadow.GetShadowSubscriptionRequest(args.thing_name), - on_rejected=on_get_rejected) + on_rejected=on_get_shadow_rejected) # Wait for subscriptions to succeed get_accepted_subscribed_future.result() @@ -307,7 +307,7 @@ def user_input_thread_fn(): # Issue request for shadow's current state. # The response will be received by the on_get_accepted() callback print("Requesting current shadow state...") - publish_get_future = shadow_client.publish_get( + publish_get_future = shadow_client.publish_get_shadow( request=iotshadow.GetShadowRequest(args.thing_name)) # Ensure that publish succeeds