def get_listener_credentials(self, stack_name, listener_id=None, request_credentials=None): """ Calls GetListenerCredentials and returns a Credentials object Throws an IOError on failure. """ log.debug("Get listener credentials for listener %s in stack %s", listener_id, stack_name) params = { "Action": "GetListenerCredentials", "StackName": stack_name, "ContentType": "JSON" } if not self.using_instance_identity: params["ListenerId"] = listener_id resp = self._call(params, request_credentials=request_credentials) body = util.json_from_response(resp)['GetListenerCredentialsResponse'][ 'GetListenerCredentialsResult']['Credentials'] return Credentials( body['AccessKeyId'], body['SecretAccessKey'], body['SessionToken'], datetime.datetime.utcfromtimestamp(body['Expiration']))
def elect_command_leader(self, stack_name, command_name, invocation_id, listener_id=None, request_credentials=None): """ Calls ElectCommandLeader and returns the listener id of the leader Throws an IOError on failure. """ log.debug( "Attempting to elect '%s' as leader for stack: %s, command: %s, invocation: %s", listener_id, stack_name, command_name, invocation_id) params = { "Action": "ElectCommandLeader", "CommandName": command_name, "InvocationId": invocation_id, "StackName": stack_name, "ContentType": "JSON" } if not self.using_instance_identity: params["ListenerId"] = listener_id result_data = util.json_from_response( self._call(params, request_credentials=request_credentials)) return result_data['ElectCommandLeaderResponse'][ 'ElectCommandLeaderResult']['ListenerId']
def _extract_json_message(resp): try: eDoc = util.json_from_response(resp)['Error'] code = eDoc['Code'] message = eDoc['Message'] error_type = eDoc['Type'] return AwsQueryError(resp.status_code, code, error_type, message) except (TypeError, AttributeError, KeyError, ValueError): return AwsQueryError(resp.status_code, 'Unknown', 'Receiver', resp.text)
def __init__(self, resp): detail = util.json_from_response(resp)['DescribeStackResourceResponse']['DescribeStackResourceResult']['StackResourceDetail'] self._description = detail.get('Description') self._lastUpdated = datetime.datetime.utcfromtimestamp(detail['LastUpdatedTimestamp']) self._logicalResourceId = detail['LogicalResourceId'] _rawMetadata = detail.get('Metadata') self._metadata = json.loads(_rawMetadata) if _rawMetadata else None self._physicalResourceId = detail.get('PhysicalResourceId') self._resourceType = detail['ResourceType'] self._resourceStatus = detail['ResourceStatus'] self._resourceStatusReason = detail.get('ResourceStatusReason') self._stackId = detail.get('StackId') self._stackName = detail.get('StackName')
def get_listener_credentials(self, stack_name, listener_id=None, request_credentials=None): """ Calls GetListenerCredentials and returns a Credentials object Throws an IOError on failure. """ log.debug("Get listener credentials for listener %s in stack %s", listener_id, stack_name) params = {"Action" : "GetListenerCredentials", "StackName" : stack_name, "ContentType" : "JSON"} if not self.using_instance_identity: params["ListenerId"] = listener_id resp = self._call(params, request_credentials = request_credentials) body = util.json_from_response(resp)['GetListenerCredentialsResponse']['GetListenerCredentialsResult']['Credentials'] return Credentials(body['AccessKeyId'], body['SecretAccessKey'], body['SessionToken'], datetime.datetime.utcfromtimestamp(body['Expiration']))
def elect_command_leader(self, stack_name, command_name, invocation_id, listener_id=None, request_credentials=None): """ Calls ElectCommandLeader and returns the listener id of the leader Throws an IOError on failure. """ log.debug("Attempting to elect '%s' as leader for stack: %s, command: %s, invocation: %s", listener_id, stack_name, command_name, invocation_id) params = {"Action" : "ElectCommandLeader", "CommandName" : command_name, "InvocationId" : invocation_id, "StackName" : stack_name, "ContentType" : "JSON"} if not self.using_instance_identity: params["ListenerId"] = listener_id result_data = util.json_from_response(self._call(params, request_credentials = request_credentials)) return result_data['ElectCommandLeaderResponse']['ElectCommandLeaderResult']['ListenerId']
def __init__(self, resp): result = util.json_from_response(resp)['RegisterListenerResponse']['RegisterListenerResult'] self._queue_url = result['QueueUrl']
def from_response(cls, resp): body = util.json_from_response(resp)['GetListenerCredentialsResponse']['GetListenerCredentialsResult']['Credentials'] return Credentials(body['AccessKeyId'], body['SecretAccessKey'], body['SessionToken'], datetime.datetime.utcfromtimestamp(body['Expiration']))