예제 #1
0
    def create_firewall(self,
                        req: typing.Optional[dict] = None,
                        **kwargs) -> dict:
        """ CreateFirewall - 创建防火墙

        **Request**

        - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写
        - **Region** (str) - (Config) 地域
        - **Name** (str) - (Required) 防火墙名称
        - **Rule** (list) - (Required) 防火墙规则,例如:TCP|22|192.168.1.1/22|DROP|LOW|禁用22端口,第一个参数代表协议:第二个参数代表端口号,第三个参数为ip,第四个参数为ACCEPT(接受)和DROP(拒绝),第五个参数优先级:HIGH(高),MEDIUM(中),LOW(低),第六个参数为该条规则的自定义备注
        - **Remark** (str) - 防火墙描述,默认为空
        - **Tag** (str) - 防火墙业务组,默认为Default
        
        **Response**

        - **FWId** (str) - 防火墙ID
        
        """
        # build request
        d = {"ProjectId": self.config.project_id, "Region": self.config.region}
        req and d.update(req)
        d = apis.CreateFirewallRequestSchema().dumps(d)

        # build options
        kwargs["max_retries"] = 0  # ignore retry when api is not idempotent

        resp = self.invoke("CreateFirewall", d, **kwargs)
        return apis.CreateFirewallResponseSchema().loads(resp)
예제 #2
0
    def create_firewall(self, req=None, **kwargs):
        """ CreateFirewall - 创建防火墙

        :param ProjectId: (Config) 项目ID。不填写为默认项目,子帐号必须填写
        :param Region: (Config) 地域
        :param Name: (Required) 防火墙名称
        :param Rule: (Required) 防火墙规则,例如:TCP|22|192.168.1.1/22|DROP|LOW|禁用22端口,第一个参数代表协议:第二个参数代表端口号,第三个参数为ip,第四个参数为ACCEPT(接受)和DROP(拒绝),第五个参数优先级:HIGH(高),MEDIUM(中),LOW(低),第六个参数为该条规则的自定义备注
        :param Remark: (Optional) 防火墙描述,默认为空
        :param Tag: (Optional) 防火墙业务组,默认为Default
        """
        d = {"ProjectId": self.config.project_id, "Region": self.config.region}
        req and d.update(req)
        d = apis.CreateFirewallRequestSchema().dumps(d)
        kwargs["max_retries"] = 0
        resp = self.invoke("CreateFirewall", d, **kwargs)
        return apis.CreateFirewallResponseSchema().loads(resp)