Exemplo n.º 1
0
def get_args():
    ap = argparse.ArgumentParser(description='Update a CloudFormation stack for logging IAM activity and API calls to an S3 bucket',
                                 add_help=False)
    req = ap.add_argument_group('Required arguments')
    req.add_argument("stack_name",
                     help='Name of the iam stack to update')

    st = ap.add_argument_group('Stack definitions')
    st.add_argument('--desc', default=default_desc,
                    help=arguments.generate_help('Stack description.', default_desc))
    st.add_argument('--bucket', default=default_bucket,
                    help=arguments.generate_help('Bucket name', default_bucket))
    st.add_argument('--enable', type=bool, default=False,
                    help='Enable API logging. Defaults to False')

    arguments.add_deployment_group(ap)
    arguments.add_security_control_group(ap)

    return ap.parse_args()
def get_args():
    ap = argparse.ArgumentParser(description='Create a CloudFormation stack hosting a tiny ELK stack: 1 server for Logstash/Elasticsearch, 1 server for Kibana',
                                 add_help=False)
    req = ap.add_argument_group('Required')
    req.add_argument('stack_name',
                     help='Name of the ELK stack to create')
    req.add_argument('network_stack_name',
                     help='Name of the network stack')
    req.add_argument('--server-key', required=True,
                     help='Name of the key pair used to access the ELK server instances.')

    st = ap.add_argument_group('Stack definitions')
    st.add_argument('--desc', default=default_desc,
                    help=arguments.generate_help('Stack description.', default_desc))
    st.add_argument('--es-instance-type', default=default_es_instance_type,
                    help=arguments.generate_help('Instance type for the Elasticsearch server.', default_es_instance_type))
    st.add_argument('--kibana-instance-type', default=default_kibana_instance_type,
                    help=arguments.generate_help('Instance type for the Kibana server.', default_kibana_instance_type))

    arguments.add_deployment_group(ap)
    arguments.add_security_control_group(ap)
    return ap.parse_args()
Exemplo n.º 3
0
def get_args():
    ap = argparse.ArgumentParser(description='Create a VPC CloudFormation stack with N public and private subnets',
                                 add_help=False)
    req = ap.add_argument_group('Required arguments')
    req.add_argument("stack_name",
                     help='Name of the network stack to create')

    st = ap.add_argument_group('Stack definitions')
    st.add_argument('--desc', default=default_desc,
                    help=arguments.generate_help('Stack description.', default_desc))
    st.add_argument('--cidr', default=default_cidr,
                    help=arguments.generate_help('CIDR block of the VPC.', default_cidr))
    st.add_argument('--availability-zones', default=default_azs, nargs='+', metavar='AZ',
                    help=arguments.generate_help('Space-separated list of availability zones to use. Will determine the number of subnets.', default_azs))
    st.add_argument('--pub-size', default=default_pub_size, type=int, metavar='SIZE',
                    help=arguments.generate_help('Size of the public subnets.', default_pub_size))
    st.add_argument('--priv-size', default=default_priv_size, type=int, metavar='SIZE',
                    help=arguments.generate_help('Size of the private subnets.', default_priv_size))

    arguments.add_deployment_group(ap)
    arguments.add_security_control_group(ap)

    return ap.parse_args()
def get_args():
    ap = argparse.ArgumentParser(description='Create a CloudFormation stack hosting a Consul cluster',
                                 add_help=False)
    req = ap.add_argument_group('Required')
    req.add_argument('stack_name',
                     help='Name of the Consul stack to create')
    req.add_argument('network_stack_name',
                     help='Name of the network stack')
    req.add_argument('--consul-key', required=True,
                     help='Name of the key pair used to access the Consul cluster instances.')

    st = ap.add_argument_group('Stack definitions')
    st.add_argument('--desc', default=default_desc,
                    help=arguments.generate_help('Stack description.', default_desc))
    st.add_argument('--instance-type', default=default_instance_type,
                    help=arguments.generate_help('Instance type for the Consul servers.', default_instance_type))
    st.add_argument('--ui-instance-type', default=default_ui_instance_type,
                    help=arguments.generate_help('Instance type for the Consul UI servers.', default_ui_instance_type))
    st.add_argument('--cluster_size', default=default_cluster_size,
                    help=arguments.generate_help('Number of instances in the Consul cluster. Should be an odd number > 1.', default_cluster_size))
    arguments.add_deployment_group(ap)
    arguments.add_security_control_group(ap)
    return ap.parse_args()
Exemplo n.º 5
0
def get_args():
    ap = argparse.ArgumentParser(description='Create a stack containing a NAT and Bastion server',
                                 add_help=False)
    req = ap.add_argument_group('Required')
    req.add_argument('stack_name',
                     help='Name of the stack to create')
    req.add_argument('network_stack_name',
                     help='Name of the network stack')
    req.add_argument('--bastion-key', required=True,
                     help='Name of the key pair to access the bastion server.')

    st = ap.add_argument_group('Stack definitions')
    st.add_argument('--desc', default=default_desc,
                    help=arguments.generate_help('Stack description.', default_desc))
    st.add_argument('--bastion-type', default=default_bastion_type,
                    help=arguments.generate_help('Instance type of the Bastion server.', default_bastion_type))
    st.add_argument('--nat-type', default=default_nat_type,
                    help=arguments.generate_help('Instance type of the NAT server.', default_nat_type))

    arguments.add_deployment_group(ap)
    arguments.add_security_control_group(ap)

    return ap.parse_args()
Exemplo n.º 6
0
def get_args():
    ap = argparse.ArgumentParser(description='Rotate access keys. Optionally save the new key and secret to your aws credentials file.',
                                 add_help=False)

    km = ap.add_argument_group('Key management')
    km.add_argument('--user',
                    help='Rotate keys for specific user. Defaults to current user.')
    km.add_argument('--credentials', default=default_creds_file,
                    help=arguments.generate_help('Location of the credentials file to modify.', default_creds_file))
    km.add_argument('--no-persist', default=False, action='store_true',
                    help='Do not persist key and secret to credentials file. Instead, print key and secret to stdout.')

    arguments.add_security_control_group(ap)  # TODO: no dry-run option

    return ap.parse_args()