Esempio n. 1
0
    def Run(self, args):
        client = zones_api.Client(version=self._API_VERSION)
        perimeter_ref = args.CONCEPTS.perimeter.Parse()
        result = repeated.CachedResult.FromFunc(client.Get, perimeter_ref)
        policies.ValidateAccessPolicyArg(perimeter_ref, args)

        return self.Patch(
            client=client,
            args=args,
            result=result,
            perimeter_ref=perimeter_ref,
            description=args.description,
            title=args.title,
            perimeter_type=perimeters.GetTypeEnumMapper(
                version=self._API_VERSION).GetEnumForChoice(args.type),
            resources=perimeters.ParseResources(args, result),
            restricted_services=perimeters.ParseRestrictedServices(
                args, result),
            levels=perimeters.ParseLevels(args, result,
                                          perimeter_ref.accessPoliciesId),
            vpc_allowed_services=perimeters.ParseVpcRestriction(
                args, result, self._API_VERSION),
            enable_vpc_accessible_services=args.enable_vpc_accessible_services,
            ingress_policies=perimeters.ParseUpdateDirectionalPoliciesArgs(
                args, self._release_track, 'ingress-policies'),
            egress_policies=perimeters.ParseUpdateDirectionalPoliciesArgs(
                args, self._release_track, 'egress-policies'))
    def Patch(self, client, args, perimeter_ref, result):
        if args.clear:
            return client.Patch(perimeter_ref, clear_dry_run=True)

        resources = perimeters.ParseResources(args, result, dry_run=True)
        restricted_services = perimeters.ParseRestrictedServices(args,
                                                                 result,
                                                                 dry_run=True)
        levels = perimeters.ParseLevels(args,
                                        result,
                                        perimeter_ref.accessPoliciesId,
                                        dry_run=True)
        ingress_allowed_services = perimeters.ParseIngressRestriction(
            args, result, self._API_VERSION, dry_run=True)
        vpc_allowed_services = perimeters.ParseVpcRestriction(
            args, result, self._API_VERSION, dry_run=True)
        bridge_allowed_services = perimeters.ParseBridgeRestriction(
            args, result, self._API_VERSION, dry_run=True)
        enable_ingress_restriction = args.enable_ingress_service_restriction
        enable_vpc_restriction = args.enable_vpc_service_restriction
        enable_bridge_restriction = args.enable_bridge_service_restriction

        return client.Patch(
            perimeter_ref,
            resources=resources,
            restricted_services=restricted_services,
            levels=levels,
            ingress_allowed_services=ingress_allowed_services,
            vpc_allowed_services=vpc_allowed_services,
            bridge_allowed_services=bridge_allowed_services,
            enable_ingress_service_restriction=enable_ingress_restriction,
            enable_vpc_service_restriction=enable_vpc_restriction,
            enable_bridge_service_restriction=enable_bridge_restriction,
            apply_to_dry_run_config=True)
Esempio n. 3
0
  def Run(self, args):
    client = zones_api.Client(version=self._API_VERSION)
    perimeter_ref = args.CONCEPTS.perimeter.Parse()
    result = repeated.CachedResult.FromFunc(client.Get, perimeter_ref)

    return client.Patch(
        perimeter_ref,
        description=args.description,
        title=args.title,
        perimeter_type=perimeters.GetTypeEnumMapper(
            version=self._API_VERSION).GetEnumForChoice(args.type),
        resources=perimeters.ParseResources(args, result),
        restricted_services=perimeters.ParseRestrictedServices(args, result),
        levels=perimeters.ParseLevels(args, result,
                                      perimeter_ref.accessPoliciesId))
    def Patch(self, client, args, perimeter_ref, result):
        if args.clear:
            return client.UnsetSpec(perimeter_ref,
                                    use_explicit_dry_run_spec=False)

        resources = perimeters.ParseResources(args, result, dry_run=True)
        restricted_services = perimeters.ParseRestrictedServices(args,
                                                                 result,
                                                                 dry_run=True)
        levels = perimeters.ParseLevels(args,
                                        result,
                                        perimeter_ref.accessPoliciesId,
                                        dry_run=True)
        vpc_allowed_services = perimeters.ParseVpcRestriction(
            args, result, self._API_VERSION, dry_run=True)
        enable_vpc_accessible_services = args.enable_vpc_accessible_services

        return client.PatchDryRunConfig(
            perimeter_ref,
            resources=resources,
            restricted_services=restricted_services,
            levels=levels,
            vpc_allowed_services=vpc_allowed_services,
            enable_vpc_accessible_services=enable_vpc_accessible_services)
    def Patch(self, client, args, perimeter_ref, result):
        if args.clear:
            return client.Patch(perimeter_ref, clear_dry_run=True)

        resources = perimeters.ParseResources(args, result, dry_run=True)
        restricted_services = perimeters.ParseRestrictedServices(args,
                                                                 result,
                                                                 dry_run=True)
        levels = perimeters.ParseLevels(args,
                                        result,
                                        perimeter_ref.accessPoliciesId,
                                        dry_run=True)
        vpc_allowed_services = perimeters.ParseVpcRestriction(
            args, result, self._API_VERSION, dry_run=True)
        enable_vpc_accessible_services = args.enable_vpc_accessible_services

        return client.Patch(
            perimeter_ref,
            resources=resources,
            restricted_services=restricted_services,
            levels=levels,
            vpc_allowed_services=vpc_allowed_services,
            enable_vpc_accessible_services=enable_vpc_accessible_services,
            apply_to_dry_run_config=True)