Esempio n. 1
0
File: cli.py Progetto: zeronewb/maas
 def __call__(self, options):
     with ProfileConfig.open() as config:
         for profile_name in config:
             profile = config[profile_name]
             url = profile["url"]
             profile["description"] = fetch_api_description(url)
             config[profile_name] = profile
Esempio n. 2
0
File: cli.py Progetto: zeronewb/maas
 def __call__(self, options):
     # Try and obtain credentials interactively if they're not given, or
     # read them from stdin if they're specified as "-".
     credentials = obtain_credentials(options.url, options.credentials)
     # Check for bogus credentials. Do this early so that the user is not
     # surprised when next invoking the MAAS CLI.
     if credentials is not None:
         try:
             valid_apikey = check_valid_apikey(
                 options.url, credentials, options.insecure)
         except UnexpectedResponse as e:
             raise SystemExit("%s" % e)
         else:
             if not valid_apikey:
                 raise SystemExit("The MAAS server rejected your API key.")
     # Get description of remote API.
     description = fetch_api_description(options.url, options.insecure)
     # Save the config.
     profile_name = options.profile_name
     with ProfileConfig.open() as config:
         config[profile_name] = {
             "credentials": credentials,
             "description": description,
             "name": profile_name,
             "url": options.url,
             }
         profile = config[profile_name]
     self.print_whats_next(profile)
Esempio n. 3
0
 def __call__(self, options):
     with ProfileConfig.open() as config:
         for profile_name in config:
             profile = config[profile_name]
             url = profile["url"]
             profile["description"] = fetch_api_description(url)
             config[profile_name] = profile
Esempio n. 4
0
 def __call__(self, options):
     try:
         with ProfileConfig.open() as config:
             for profile_name in config:
                 profile = config[profile_name]
                 url = profile["url"]
                 profile["description"] = fetch_api_description(url)
                 config[profile_name] = profile
     except FileNotFoundError:
         return
Esempio n. 5
0
File: cli.py Progetto: zeronewb/maas
 def __call__(self, options):
     with ProfileConfig.open() as config:
         for profile_name in config:
             profile = config[profile_name]
             url = profile["url"]
             creds = profile["credentials"]
             if creds is None:
                 print(profile_name, url)
             else:
                 creds = convert_tuple_to_string(creds)
                 print(profile_name, url, creds)
Esempio n. 6
0
 def __call__(self, options):
     with ProfileConfig.open() as config:
         for profile_name in config:
             profile = config[profile_name]
             url = profile["url"]
             creds = profile["credentials"]
             if creds is None:
                 print(profile_name, url)
             else:
                 creds = convert_tuple_to_string(creds)
                 print(profile_name, url, creds)
Esempio n. 7
0
def register_api_commands(parser):
    """Register all profiles as subcommands on `parser`."""
    with ProfileConfig.open() as config:
        for profile_name in config:
            profile = config[profile_name]
            profile_parser = parser.subparsers.add_parser(
                profile["name"], help="Interact with %(url)s" % profile,
                description=(
                    "Issue commands to the MAAS region controller at %(url)s."
                    % profile),
                epilog=profile_help)
            register_resources(profile, profile_parser)
Esempio n. 8
0
def register_api_commands(parser):
    """Register all profiles as subcommands on `parser`."""
    with ProfileConfig.open() as config:
        for profile_name in config:
            profile = config[profile_name]
            profile_parser = parser.subparsers.add_parser(
                profile["name"], help="Interact with %(url)s" % profile,
                description=(
                    "Issue commands to the MAAS region controller at %(url)s."
                    % profile),
                epilog=profile_help)
            register_resources(profile, profile_parser)
Esempio n. 9
0
 def __call__(self, options):
     # Try and obtain credentials interactively if they're not given, or
     # read them from stdin if they're specified as "-".
     credentials = obtain_credentials(options.credentials)
     # Get description of remote API.
     description = fetch_api_description(options.url, options.insecure)
     # Save the config.
     profile_name = options.profile_name
     with ProfileConfig.open() as config:
         config[profile_name] = {
             "credentials": credentials,
             "description": description,
             "name": profile_name,
             "url": options.url,
             }
         profile = config[profile_name]
     self.print_whats_next(profile)
Esempio n. 10
0
 def __call__(self, options):
     # Try and obtain credentials interactively if they're not given, or
     # read them from stdin if they're specified as "-".
     credentials = obtain_credentials(options.credentials)
     # Get description of remote API.
     description = fetch_api_description(options.url, options.insecure)
     # Save the config.
     profile_name = options.profile_name
     with ProfileConfig.open() as config:
         config[profile_name] = {
             "credentials": credentials,
             "description": description,
             "name": profile_name,
             "url": options.url,
         }
         profile = config[profile_name]
     self.print_whats_next(profile)
Esempio n. 11
0
File: cli.py Progetto: zeronewb/maas
 def __call__(self, options):
     with ProfileConfig.open() as config:
         del config[options.profile_name]
Esempio n. 12
0
 def __call__(self, options):
     with ProfileConfig.open() as config:
         del config[options.profile_name]