def create_sdb(self, name, category_id, owner, description="", user_group_permissions=None,
                   iam_principal_permissions=None):
        """Create a safe deposit box.

        You need to refresh your token before the iam role is granted permission to the new safe deposit box.
        Keyword arguments:
            name (string) -- name of the safe deposit box
            category_id (string) -- category id that determines where to store the sdb. (ex: shared, applications)
            owner (string) -- AD group that owns the safe deposit box
            description (string) -- Description of the safe deposit box
            user_group_permissions (list) -- list of dictionaries containing the key name and maybe role_id
            iam_principal_permissions (list) -- list of dictionaries containing the key name iam_principal_arn
            and role_id
        """

        # Do some sanity checking
        if user_group_permissions is None:
            user_group_permissions = []
        if iam_principal_permissions is None:
            iam_principal_permissions = []
        if list != type(user_group_permissions):
            raise(TypeError('Expected list, but got ' + str(type(user_group_permissions))))
        if list != type(iam_principal_permissions):
            raise(TypeError('Expected list, but got ' + str(type(iam_principal_permissions))))
        temp_data = {
            "name": name,
            "description": description,
            "category_id": category_id,
            "owner": owner,
        }
        if len(user_group_permissions) > 0:
            temp_data["user_group_permissions"] = user_group_permissions
        if len(iam_principal_permissions) > 0:
            temp_data["iam_principal_permissions"] = iam_principal_permissions
        data = json.encoder.JSONEncoder().encode(temp_data)
        sdb_resp = post_with_retry(self.cerberus_url + '/v2/safe-deposit-box', data=str(data), headers=self.HEADERS)

        throw_if_bad_response(sdb_resp)
        return sdb_resp.json()
def create_sdb ( self , name , category_id , owner , description = "" , user_group_permissions = None , iam_principal_permissions = None ) : if user_group_permissions is None : user_group_permissions = [ ] if iam_principal_permissions is None : iam_principal_permissions = [ ] if list != type ( user_group_permissions ) : raise ( TypeError ( 'Expected list, but got ' + str ( type ( user_group_permissions ) ) ) ) if list != type ( iam_principal_permissions ) : raise ( TypeError ( 'Expected list, but got ' + str ( type ( iam_principal_permissions ) ) ) ) temp_data = { "name" : name , "description" : description , "category_id" : category_id , "owner" : owner , } if len ( user_group_permissions ) > 0 : temp_data [ "user_group_permissions" ] = user_group_permissions if len ( iam_principal_permissions ) > 0 : temp_data [ "iam_principal_permissions" ] = iam_principal_permissions data = json . encoder . JSONEncoder ( ) . encode ( temp_data ) sdb_resp = post_with_retry ( self . cerberus_url + '/v2/safe-deposit-box' , data = str ( data ) , headers = self . HEADERS ) throw_if_bad_response ( sdb_resp ) return sdb_resp . json ( )
Create a safe deposit box.

        You need to refresh your token before the iam role is granted permission to the new safe deposit box.
        Keyword arguments:
            name (string) -- name of the safe deposit box
            category_id (string) -- category id that determines where to store the sdb. (ex: shared, applications)
            owner (string) -- AD group that owns the safe deposit box
            description (string) -- Description of the safe deposit box
            user_group_permissions (list) -- list of dictionaries containing the key name and maybe role_id
            iam_principal_permissions (list) -- list of dictionaries containing the key name iam_principal_arn
            and role_id